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

STM32F103RCT6的GPIO

[复制链接]
STMCU小助手 发布时间:2022-12-27 18:00
概述
STM32F103RCT6
共4组IO口
16*3+3 = 51个IO口
GPIOA0 ~ A15
GPIOB0 ~ B15
GPIOC0 ~ C15
GPIOD0 ~ D2

IO口的基本结构

810b7f2981034ef6ac2416f323d6577f.png

4种输入模式
输入浮空

0b0977b0d75f42519c682f38b0c7f6b4.png

输入上拉
上图中上面打叉的部分开关闭合,上拉电阻约为30至50k


输入下拉
与上类似


模拟输入


26535fc9e2814437900b8bd86179fbb8.png

4种输出模式
开漏输出

7a2742323b2a41f498688fb06f4bca64.png

开漏复用功能

9259486e967d4ec4a1322b93e0b352f2.png

推挽式输出
推挽式复用功能

3种最大翻转速度
2MHz
10MHz
50MHz

每组IO口包括的寄存器
两个32位配置寄存器,GPIOx_CRL  GPIOx_CRH
两个32位数据寄存器,GPIOx_IDR   GPIOx_ODR
一个32位置位/复位寄存器,GPIOx_BSRR
一个16位复位寄存器,GPIOx_BRR
一个32位锁存寄存器,GPIOx_LCKR
每个IO端口位允许自由编程,然后IO端口寄存器必须按32位字进行访问,不允许字节访问

对于一组IO口,每个IO口的配置需要寄存器的4位,每组一共16个IO口,因此需要寄存器的64位,由于STM32是32位的,所以分成了2个寄存器去配置

GPIOx_CRLA0~PA7

GPIOx_CRHA8~PA15

每个IO口的配置需要寄存器的4位,其中2位是模式位MODE,2位是配置位CNF


输入数据寄存器

GPIOA_IDR分别对应每一位,即GPIOx_IDR0对应PA0


输出数据寄存器

GPIOA_ODR与上类似


GPIOx_BSRR置位寄存器

其实就是控制下图红框中的部分

13d9956e72ac4a69afe58b9ae94fdd13.png

例如,我要操作某一位,使其置1,则只需要将这一位置1,其他位置0即可,与ODR寄存器不同的是,ODR寄存器给1就是1,给0就是0,BSRR给1就是1,给0不修改

通常只使用BSRR的低16位


GPIOx_BRR置位寄存器

类似

通常只使用BRR的低16位

端口复用
相当于是一个开关

端口重映射
方便布线,参考Datasheet里的Remap

STM32的所有IO口都可以作为中断输入


GPIO查看MODE、PIN、SPEED的可选项

41452408137c4ae8b49db5fce8919071.png

5a3a76518bb14b509b0ce119a2a434c2.png

类似地,查看PIN

d1cf61528ef44bc9b8ccfadc770f029d.png

查看SPEED

22f9479663594e7dbde57289e3f1c044.png

————————————————
版权声明:CodeForCoffee


收藏 评论0 发布时间:2022-12-27 18:00

举报

0个回答

所属标签

相似分享

官网相关资源

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