一,GPIO输入输出有什么作用
GPIO(General Purpose Input Output)通用输入输出口。
可配置为8种输入输出模式。
引脚电平:0V~3.3V,部分引脚可容忍5V。
输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等。
输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等。
二,GPIO基本结构
寄存器是一段特殊的存储器,内核可以通过APB2总线对寄存器进行读写,以完成输出电平的功能,但只有低16位才有对应端口。
驱动器负责增大驱动能力。
存储器是许多存储单元的集合,按单元号顺序排列。每个单元由若干二进制位构成,以表示存储单元中存放的数值,这种结构和数组的结构非常相似。
三,GPIO位结构
在推挽输出下,P-MOS和N-MOS均有效,数据寄存器为1时,上管导通,下管断开,输出接到VDD输出高电平,反之同理。这种模式下高低电平均有较强的驱动能力,所以又称强推输出模式。
在开漏输出模式下,P-MOS无效,数据寄存器为1时,下管断开,输出断开,高阻模式。
四,GPIO的八种工作模式
推挽输出条件下高低电平均有驱动能力
配置 图
五,GPIO外设配置
详见STM32F10xxx参考手册8.1.11(高级定时器TIM1/TIM8,通用定时器TIM2/3/4/5,USART,SPI,I2S,I2C接口,ADC等等。
使用案列
1.输出
硬件图
GPIO标准库部分函数
后面4个开头省略了GPIO_
LED闪烁
LED流水灯
蜂鸣器
2.输入
GPIO标准库部分函数
按键控制LED
光敏传感器控制有源蜂鸣器
小结
GPIO使用方法:初始化需要的时钟,定义结构体引出参数并赋值,使用GPIO_Init()将指定的GPIO外设初始化好。