GPIO简介
GPIO——general purpose input output
是通用输入输出端口的简称,简单来说就是软件可控制的引脚,STM32芯片的GPIO引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。
可以在数据手册的3引脚定义中查找各个GPIO的功能。
GPIO框图
注意事项
1、输入的电压不能超过VDD太多
2、不能直接接电机
推挽输出
比如ODR输出了1,经过反相器,变为0,后面只有PMOS管导通,VDD输出,所以输出1。(推)
比如ODR输出了0,经过反相器,变为1,后面只有NMOS管导通,VSS将OUT拉低,所以输出0。(挽)
1、可以输出高低电平,用于连接数字器件,高电平由VDD决定,低电平由VSS决定。
2、推挽结构指两个三极管受两路互补的信号控制,总是在一个导通的时候另外一个截止,优点开关效率效率高,电流大,驱动能力强。
3、输出高电平时,电流输出到负载,叫灌电流,可以理解成推,输出低电平时,负载电流流向芯片,叫拉电流,即挽。
开漏输出
INT为0,经过反相器,1,NMOS导通,输出0。
INT为1,经过反相器,0,NMOS截止,输出要根据上拉电路。比如,如果需要输出5V的电平,则把上拉电路中VDD设置为5V就可以了。
1、只能输出低电平,不能输出高电平。
2、如果要输出高电平,则需要外接上拉。
3、开漏输出具有“线与”功能,一个为低,全部为低,多用于I2C和SMBUS总线。
点亮LED0
stm32f10x.h
//用来存放STM32寄存器映射的代码
//外设 peripheral
#define PERIPH_BASE (