码迷,mamicode.com
首页 > 其他好文 > 详细

STM32的IO口配置

时间:2015-08-16 21:26:25      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:stm32

   每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。

   GPIO端口的每个位可以由软件分别配置成多种模式。

1、输入浮空

2、输入上拉 

3、输入下拉

4、模拟输入

5、开漏输出

6、推挽式输出

7、推挽式复用功能 

8、开漏复用功能

 每个I/O端口位可以自由编程,然而I/0端口寄存器必须按32位字被访问(不允许半字或字节访问)。GPIOx_BSRR和GPIOx_BRR寄存器允许对任何GPIO寄存器的读/更改的独立访问;这样,在读和更改访问之间产生IRQ时不会发生危险。

技术分享

IO结构图

技术分享

端口配置表

技术分享

输出模式位

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

1、输出缓冲器被禁止 

2、施密特触发输入被激活

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

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

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

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

1、输出缓冲器被激活 

2、开漏模式:输出寄存器上的’0’激活N-MOS,而输出寄存器上的’1’将端口置于高阻状态(PMOS从不被激活)。 
  推挽模式:输出寄存器上的’0’激活N-MOS,而输出寄存器上的’1’将激活P-MOS。

3、 施密特触发输入被激活 

4、弱上拉和下拉电阻被禁止

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

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

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


 

版权声明:本文为博主原创文章,未经博主允许不得转载。

STM32的IO口配置

标签:stm32

原文地址:http://blog.csdn.net/u011046042/article/details/47705917

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!