GPIO输入输出

一,GPIO输入输出有什么作用

GPIO(General Purpose Input Output)通用输入输出口。
可配置为8种输入输出模式。
引脚电平:0V~3.3V,部分引脚可容忍5V。
输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等。
输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等。

二,GPIO基本结构

GPIO输入输出_第1张图片

 寄存器是一段特殊的存储器,内核可以通过APB2总线对寄存器进行读写,以完成输出电平的功能,但只有低16位才有对应端口。

驱动器负责增大驱动能力。

存储器是许多存储单元的集合,按单元号顺序排列。每个单元由若干二进制位构成,以表示存储单元中存放的数值,这种结构和数组的结构非常相似。

三,GPIO位结构

GPIO输入输出_第2张图片

        在推挽输出下,P-MOS和N-MOS均有效,数据寄存器为1时,上管导通,下管断开,输出接到VDD输出高电平,反之同理。这种模式下高低电平均有较强的驱动能力,所以又称强推输出模式。

        在开漏输出模式下,P-MOS无效,数据寄存器为1时,下管断开,输出断开,高阻模式。

四,GPIO的八种工作模式

GPIO输入输出_第3张图片

 推挽输出条件下高低电平均有驱动能力

 配置 图

GPIO输入输出_第4张图片

 GPIO输入输出_第5张图片

GPIO输入输出_第6张图片

GPIO输入输出_第7张图片

五,GPIO外设配置

详见STM32F10xxx参考手册8.1.11(高级定时器TIM1/TIM8,通用定时器TIM2/3/4/5,USART,SPI,I2S,I2C接口,ADC等等。

使用案列

1.输出

硬件图

GPIO输入输出_第8张图片

GPIO标准库部分函数

GPIO输入输出_第9张图片

 后面4个开头省略了GPIO_

LED闪烁

GPIO输入输出_第10张图片

LED流水灯

GPIO输入输出_第11张图片

 蜂鸣器

GPIO输入输出_第12张图片

2.输入

GPIO标准库部分函数

GPIO输入输出_第13张图片

按键控制LED

GPIO输入输出_第14张图片

GPIO输入输出_第15张图片

 光敏传感器控制有源蜂鸣器

GPIO输入输出_第16张图片

小结

GPIO使用方法:初始化需要的时钟,定义结构体引出参数并赋值,使用GPIO_Init()将指定的GPIO外设初始化好。


C语言和硬件电路知识

GPIO输入输出_第17张图片

GPIO输入输出_第18张图片GPIO输入输出_第19张图片

GPIO输入输出_第20张图片GPIO输入输出_第21张图片

你可能感兴趣的:(stm32)