你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32学习笔记 P1 GPIO 梳理加理解

[复制链接]
STMCU小助手 发布时间:2021-8-13 14:15
STM32引脚说明
64引脚—51IO口
1.png


GPIO基本结构
2.png


查阅30页(FT)标识:可承担5V电压
3.png


GPIO工作方式
4.png


1-4输入
5-8输出
3种最大反转速度:2MHZ、10MHZ、50MHZ
5.png




配置
配置寄存器CRL CRH
6.png




理解:每组IO口有16个IO,分两组,高八位CRH低八位CRL控制,CRH和CRL是两个32位(这里指二进制0或1)寄存器,每一位IO口有四位二进制数,前两位是CNF即输入输出模式,后两位是mode即反转速度。


控制如下:
7.png




端口输出数据寄存器ODR(敲重点)


理解:ODR是一个端口输出数据寄存器,也只用了低16位。该寄存器为可读写!从该寄存器读取出的数据,可以用于判断当前io口的输出状态,而向该寄存器写数据则可以控制某个io 口的输出电平。
8.png




特技:在输入模式下,控制上拉(1)下拉(0)
9.png




端口输入寄存器IDR


理解:输入模式下,是上拉还是下拉?端口输入寄存器IDR,只用了低16位。该寄存器为只读寄存器,并且只能以16位的形式读出。每组IO正是16组,一一对应。要想知道某个io的电平状态,只要读这个寄存器,再看某个位的状态就可以!并且,在输出模式下也可以使用,作用是读取输出状态。
10.png




端口位设置/清除寄存器BSRR


理解:BSRR寄存器和前面提到的ODR寄存器有类似的功能,都可以用来设置端口的输出位是1还是0, 本质上是间接设置ODR。BSRR寄存器低16位对应位设置为1,那么IO口输出为高电平,对应位设置为0,对应IO口不产生任何影响;高16位设置为1,那么IO输出为低电平,对应位设置为0,对应IO不产生任何影响。
11.png




端口位清除寄存器BRR


和BSRR的高16位作用功能一样的,高16位起作用,高16位设置为1,那么IO输出为低电平,对应位设置为0,对应IO不产生任何影响。


比较少用


端口复用功能


stm32的大部分端口都有复用功能。复用就是一些端口不仅仅可以作为通用io口,还可以复用为一些外设引脚。比如PA9、PA10可以复用为stm32的串口1引脚。以此最大限度地利用端口资源。


端口重映射功能


把某些功能引脚映射到其他引脚,比如PA9、PA10通过配置重映射映射到PB6、PB7,以此方便布线。


理解原理是基础,还要结合代码,在实战中学会使用

收藏 评论0 发布时间:2021-8-13 14:15

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版