文章目录一、相关概念介绍IO引脚的三态输出之高阻态---将逻辑门与系统其他部分隔离,电平外部控制IO引脚输出模型推挽电路与开漏电路---单独开漏无高电平驱动能力二、上下拉电阻原理介绍什么是上下拉电阻?---把IO口用电阻拉到正压VCC(上拉)或接地GND(下拉)使用场景一:将不确定信号钳位高电平(上拉)或低电平(下拉)使用场景二:开漏输出加上拉电阻实现线与逻辑,如I2C总线用法使用场景三:开漏输出加上拉电阻提高电压准位使用场景四:加大引脚驱动能力,上拉加强拉电流能力,下拉加强吸电流能力三、GPIO典型框图分析1、I/O端口作为输入---读取01状态、上下电阻拉可配2、I/O端口作为输出---可
NodeMCUESP8266GPIO使用详解文章目录NodeMCUESP8266GPIO使用详解前言什么是GPIO?GPIO的使用GPIO模式作为输出输出高电平输出低电平作为输入上拉输入下拉输入读取输入值总结前言前面的文章中我们已经学习了如何点亮一个LED灯,在嵌入式的世界里,这个相当于我们初学一门编程语言,写下的HelloWorld程序。为了让LED闪烁,我们需要操作芯片的GPIO,这是硬件最底层的概念,只不过Arduino的编程中,底层的库函数已经为我们做好了硬件的封装,只要调用相应的API接口就对GPIO进行操作。如果是更纯粹的单片机开发,我们可能还需要读写各种寄存器,通常这些会出现在单
串口通讯的实现STM32CubeMx软件设置Keil软件及代码编写串口的功能设计主函数的编写效果实现STM32CubeMx软件设置首先选好自己的板子并打开软件设置,本实验基于STM32F103ZET6实现,打开软件后如图:打开外部高速晶振,然后接着配置时钟:将时钟频率修改为72MHz,接着设置接线方式为SW接下来需要使用串口中断通讯,打开我们的串口设置并打开中断这里波特率设置为115200,数据位为8位,无校验位,停止位为1位,通信模式设置为异步通信,以及可以接受及发送数据。接着打开中断,并设置抢占优先级和响应优先级,这里设置为0,0。至此STM32CubeMx就设置完成了。Keil软件及代码
今日继续学习使用 STM32F103C8T6开发板点亮一个LED灯,文章提供源码,测试工程,实验效果图,希望我的归纳总结会对大家有帮助~目录GPIO的认识与分类:引脚安排整理:定时器的引脚例举:串口的引脚例举: CAN串口通信:SPI通信:IIC通信: 其余引脚:烧录引脚: 相关库函数: 拉高、拉低输出: APB2外设RCC开启GPIO时钟:GPIO初始化函数:接线与GPIO的初始化:选择引脚: 接线与创建文件、文件路径添加:GPIO的初始化:所有代码贴出:测试效果展示:编辑测试工程下载:GPIO的认识与分类: 首先看下这张表:它定义说明了STM32C8T6上所有48个引脚主功能、默认复用、
STM32CubeMXADC采集(HAL库)STM32CubeMXSTM32CubeMXADC采集(HAL库)ADC介绍ADC主要特征Vref+的电压(2.4~3.6)就是ADC参考电压2.4V(相当于秤砣)最小识别电压值:2.4/4096≈0.6mv(不考虑误差)一、STM32CubeMX设置二、代码部分三,单通道轮询采样速度四、内部温度传感器多通道轮询方式设置CubeMX修改代码部分实验现象PA0接地;PA1接VCC;PA2接地;PA3浮空;PA4浮空总结ADC介绍12位ADC是一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、
目录一、数据存储器RAM1.拓展RAM2.片内256字节1.高128位(80H~FFH)2.低128位(00H~7FH)二、程序存储器ROM三、引脚1.4组8位并行I/O口2.其他引脚四、中断系统1.中断号与中断源2.TCON定时/计数器控制寄存器(标志位)3.SCON串行口控制寄存器(标志位)(默认0)4.IE寄存器(中断允许)(默认0)5.IP寄存器(中断优先级)(默认0低优先级)6.中断优先级五、定时/计数器1.TCON定时/计数器控制寄存器 2.TMOD工作方式状态寄存器六、串行口通信1.SBUF串行口数据缓冲器2.SCON串行口控制寄存器3.PCON电源控制寄存器一、数据存储器RAM
一、空闲中断基本框架STM32的空闲中断(IdleInterrupt)通常用于在CPU空闲时执行任务,例如在低功耗模式下减少功耗等。当CPU完成当前任务后,会进入空闲状态,此时会触发空闲中断。在空闲中断中,可以执行一些需要在CPU空闲时执行的任务,例如读取传感器数据、更新LCD显示等。要使用STM32的空闲中断,需要进行以下步骤:1.配置NVIC优先级:将空闲中断的优先级设置为较低的值。2.启用空闲中断:在代码中启用空闲中断,并设置空闲中断的处理函数。以下是使用STM32HAL库实现空闲中断的简单示例代码:voidHAL_UART_RxCpltCallback(UART_HandleTypeD
51单片机独立按键+外部中断学习总结文章目录51单片机独立按键+外部中断学习总结一、单片机外部中断工作方式二、为什么需要中断1.使用单片机外部中断来处理按键2.中断函数解析一、单片机外部中断工作方式中断是指单片机主程序运行过程中,出现某些意外情况需要单片机处理,单片机能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。二、为什么需要中断在实际应用开发中,单片机不可能一直轮询查看按键是否按下,单片机还需要去执行其他任务,因此引出中断。×××中断的工作方式:(1)单片机在main()函数中的while中执行的程序称为主线任务,中断程序中的程序称为中断任务。(2)
前言中断,在单片机开发中再常见不过了。当然对于中断的原理和执行流程都了然于胸,那么对于ARM单片机中断的具体处理行为,你真的搞清楚了吗?今天来简单聊一聊,ARM单片机中断处理过程中的具体行为是什么样的,搞清楚了这些,让你彻底理解中断是如何执行的。掌握了这些内容后,以后在开发过程中遇到中断问题,可以做到游刃有余。本篇文章主要梳理一下Cortex-M3内核的单片机在处理中断事件的具体行为,以及不同的中断是如何处理的。中断响应Cortex-M3单片机在开始响应一个中断时,会进行以下三个操作:寄存器入栈,将寄存器的值压入栈取向量:从向量表中找出对应的服务程序入口地址选择堆栈指针MSP/PSP,更新堆栈
STM32GPIOGPIO简介GPIO(GeneralPurposeInputOutput)通用输入输出口,也就是我们俗称的IO口根据使用场景,可配置为8种输入输出模式引脚电平:0V~3.3V,部分引脚可容忍5V数据0就是低电平,也就是0V;数据1就是高电平,也就是3.3V。容忍5V的意思是可以在这个端口输入5V的电压,也认为是高电平,但是对于输出而言,最大就只能输出3.3V,因为供电就只有3.3V。具体哪些引脚可以容忍5V,见引脚定义表I/O口电平一列带FT(FiveTolerate)的就是可以容忍5V的,不带FT的就只能接入3.3V的电压。输出模式下可控制端口输出高低电平,用以驱动LED、