- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
。
接触了 STM32的开发板快一周了 , 拿到板子厂商提供了些 DEMO程序 , 其他想自己学习 , 看了 ST的资料手册 , 感觉看下来 , 一个工具还是不知道怎么用 , 还好现在网络强大 , 在论坛上可以去找自己需要的资料 . 我把搜集的资料整理了一下 , 以及自己加了一些自己的 , 方便自己以后再用到 , 方便查找 , 同时和网友们一起分享 , 希望你们有什么新的想法也提出来, 一起分享 .
开始吧 ! 嘿嘿
简述
1STM32的输入输出管脚有下面 8 种可能的配置 :( 4 输入 +2 输出 +2 复用
输出)
精选资料,欢迎下载
。
① 浮空输入 _IN_FLOATING
② 带上拉输入 _IPU
③ 带下拉输入 _IPD
( 所谓上拉就是接一电阻到电源;下拉就是接一电阻到地。也就是说带
上拉就是口初始的时候是高电平,下拉就是低电平。 )
④ 模拟输入 _AIN
⑤ 开漏输出 _OUT_OD
⑥ 推挽输出 _OUT_PP
⑦ 复用功能的推挽输出 _AF_PP
⑧ 复用功能的开漏输出 _AF_OD
1.1 I/O 口的输出模式下,有 3 种输出速度可选 (2MHz、10MHz和50MHz),这个速度是指 I/O 口驱动电路的响应速度而不是输出信号的速度,输出信号的速度与程序有关 (芯片内部在 I/O 口的输出部分安排了多个响应速度不同的输出驱动电路, 用户可以根据自己的需要选择合适的驱动电路)。通过选择速度来选择不同的输出驱动模块,达到最佳的
噪声控制和降低功耗的目的。高频的驱动电路,噪声也高,当不需要高
的输出频率时,请选用低频驱动电路,这样非常有利于提高系统的 EMI
性能。当然如果要输出较高频率的信号, 但却选用了较低频率的驱动模
精选资料,欢迎下载
。
块,很可能会得到失真的输出信号。关键是 GPIO的引脚速度跟应用匹
配(推荐 10 倍以上?)。比如:
1.1.1 对于串口,假如最大波特率只需 115.2k ,那么用 2M的 GPIO
的引脚速度就够了,既省电也噪声小。
1.1.2 对于 I2C 接口,假如使用 400k 波特率,若想把余量留大些,
那么用 2M的 GPIO的引脚速度或许不够,这时可以选用 10M的 GPIO引
脚速度。
1.1.3 对于 SPI 接口,假如使用 18M或 9M波特率,用 10M的 GPIO 的引脚速度显然不够了, 需要选用 50M的 GPIO的引脚速度。输入模式。
1.4 所有端口都有外部中断能力。为了使用外部中断线,端口必
须配置成输入模式。
1.5 GPIO 口的配置具有上锁功能, 当配置好 GPIO口后,可以通过
程序锁住配置组合,直到下次芯片复位才能解锁。
2 在 STM32中如何配置片内外设使用的 IO 端口
首先,一个外设经过 ①配置输入的时钟和 ②初始化后即被激活 ( 开启 ) ;
③如果使用该外设的输入输出管脚,则需要配置相应的 GPIO端口(否
则该外设对应的输入输出管脚可以做普通 GPIO管脚使用);④再对外
设进行详细配置。
精选资料,欢迎下载
。
对应到外设的输入输出功能有下述三种情况:
一、外设对应的管脚为输出: 需要根据外围电路的配置选择对应的管脚为复用功能的推挽输出或复用功能的开漏输出。
二、外设对应的管脚为输入: 则根据外围电路的配置可以选择浮空输入、带上拉输入或带下拉输入。
三、 ADC对应的管脚:配置管脚为模拟输入。
如果把端口配置成复用输出功能, 则引脚和输出寄存器断开, 并和片上外设的输出信号连接。 将管脚配置成复用输出功能后, 如果外设没有被激活,那么它的输出将不确定。
3 通用 IO 端口( GPIO)初始化:
3.1 GPIO 初始化
3.1.1 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | B | C,
ENABLE):使能 APB2总线外设时钟
3.1.2 RCC_ APB2PeriphResetCmd(RCC_APB2Periph_GPIOA| B | C,
DISABLE):释放 GPIO复位
3.2 配置各个 PIN 端口(模拟输入 _AIN、输入浮空 _IN_FLOATING、输入上拉 _IPU、输入下拉 _IPD、开漏输出 _OUT_OD、推挽式输出 _OUT_PP、推挽式复用输出 _AF_PP、开漏复用输出 _AF_OD)
精选资料,欢迎下载
。
3.3 GPIO 初始化完成
=============================================================
==========
最近刚开始学习 STM32,所以从最基本的 GPIO开始学起;首先看看 STM32
的 datasheet 上对 GPIO口的
文档评论(0)