理论教育 物联网STM32单片机GPIO工作模式

物联网STM32单片机GPIO工作模式

时间:2023-11-09 理论教育 版权反馈
【摘要】:依据数据手册中列出的每个I/O端口的特定硬件特征,GPIO端口的每个位可以由软件分别配置成多种工作模式。STM32F103复位期间和刚复位后,复用功能为开启,I/O端口被配置成浮空输入模式,可通过端口配置程序设置所用I/O口的工作模式。图4.2给出了I/O端口位的输入配置。图4.5I/O端口位的高阻抗模拟输入配置原理

物联网STM32单片机GPIO工作模式

GPIO端口的每一个管脚可以有不同的功能。依据数据手册中列出的每个I/O端口的特定硬件特征,GPIO端口的每个位可以由软件分别配置成多种工作模式。

①输入浮空:用于不确定高低电平的输入。

②输入上拉:用于默认为上拉至高电平的输入。

③输入下拉:用于默认为下拉至低电平的输入。

④模拟输入:用于模拟量的输入。

⑤开漏输出:用于实现电平转换和线与功能的输出。

⑥推挽式输出:用于较大功率驱动的输出,电平为0和3.3V的场合。

⑦推挽式复用功能:复用功能下的推挽式输出。

⑧开漏复用功能:复用功能下的开漏输出。

STM32F103复位期间和刚复位后,复用功能为开启,I/O端口被配置成浮空输入模式,可通过端口配置程序设置所用I/O口的工作模式。

1.输入配置

当I/O端口配置为输入时:

①输出缓冲器被禁止。

②施密特触发输入被激活。

③根据输入配置(浮空、上拉和下拉)的不同,弱上拉和下拉电阻被连接。

④出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器。

⑤对输入数据寄存器的读访问可得到I/O状态。

图4.2给出了I/O端口位的输入配置。

图4.2 输入浮空/上拉/下拉配置

注意事项:VDD_FT对5V容忍I/O脚是特殊的,它与VDD不同

2.输出配置

当I/O端口被配置为输出时:

①输出缓冲器被激活。

②开漏模式,输出寄存器上的“0”激活N-MOS,而输出寄存器上的“1”将端口置于高阻状态(P-MOS从不被激活)。

③推挽模式,输出寄存器上的“0”激活N-MOS,而输出寄存器上的“1”将激活P-MOS。

④施密特触发输入被激活。

⑤弱上拉和下拉电阻被禁止。

⑥出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器。(www.daowen.com)

⑦在开漏模式时,对输入数据寄存器的读访问可得到I/O状态。

⑧在推挽式模式时,对输出数据寄存器的读访问得到最后一次写的值。

I/O端口位的输出配置原理如图4.3所示。

图4.3 I/O端口位的输出配置原理

3.复用功能配置

当I/O端口被配置为复用功能时:

①在开漏或推挽式配置中,输出缓冲器被打开。

②内置外设的信号驱动输出缓冲器(复用功能输出)。

③施密特触发输入被激活。

④弱上拉和下拉电阻被禁止。

⑤在每个APB2时钟周期,出现在I/O脚上的数据被采样到输入数据寄存器。

⑥开漏模式时,读输入数据寄存器时可得到I/O口状态。

⑦在推挽模式时,读输出数据寄存器时可得到最后一次写的值。

复用功能配置原理如图4.4所示。

图4.4 复用功能配置原理

4.模拟输入配置

当I/O端口被配置为模拟输入配置时:

①输出缓冲器被禁止。

②禁止施密特触发输入,实现了每个模拟I/O引脚上为“0”。

③弱上拉和下拉电阻被禁止。

④读取输入数据寄存器时数值为“0”。

I/O端口位的高阻抗模拟输入配置原理如图4.5所示。

5.外设的GPIO配置和复用功能I/O重映射

外设的GPIO配置和复用功能I/O重映射内容较多并涉及后续章节,对初学者来说所涉不多,感兴趣的读者可通过STM32中文网站https://www.stmcu.co m.cn/下载《RM0008_STM32F101xx,STM32F102xx,STM32F103xx,STM32F105xx and STM32F107xx单片机参考手册》学习通用和复用功能I/O章节。

图4.5 I/O端口位的高阻抗模拟输入配置原理

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈