stm32关于gpio与afio的总结20130709

stm32关于gpio与afio的总结20130709

ID:1670693

大小:890.00 KB

页数:12页

时间:2017-11-13

stm32关于gpio与afio的总结20130709_第1页
stm32关于gpio与afio的总结20130709_第2页
stm32关于gpio与afio的总结20130709_第3页
stm32关于gpio与afio的总结20130709_第4页
stm32关于gpio与afio的总结20130709_第5页
资源描述:

《stm32关于gpio与afio的总结20130709》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、GPIO功能描述每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。根据数据手册中列出的每个I/O端口的特定硬件特征,GPIO端口的每个位可以由软件分别配置成多种模式。─输入浮空─输入上拉─输入下拉─模拟输入─开漏输出─推挽式输出─推挽式复用功能─开漏复用功能每

2、个I/O端口位可以自由编程,然而I/0端口寄存器必须按32位字被访问(不允许半字或字节访问)。GPIOx_BSRR和GPIOx_BRR寄存器允许对任何GPIO寄存器的读/更改的独立访问;这样,在读和更改访问之间产生IRQ时不会发生危险。推挽与开漏推挽输出:可以输出高,低电平,连接数字器件;推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止.开漏输出:输出端相当于三极管的集电极.要得到高电平状态需要上拉电阻才行.适合于做电流型的驱动,其吸收电流的能力相对强(一般

3、20ma以内).单独的位设置或位清除当对GPIOx_ODR的个别位编程时,软件不需要禁止中断:在单次APB2写操作里,可以只更改一个或多个位。这是通过对“置位/复位寄存器”(GPIOx_BSRR,复位是GPIOx_BRR)中想要更改的位写’1’来实现的。没被选择的位将不被更改。外部中断/唤醒线所有端口都有外部中断能力。为了使用外部中断线,端口必须配置成输入模式。复用功能(AF)使用默认复用功能前必须对端口位配置寄存器编程。●对于复用的输入功能,端口必须配置成输入模式(浮空、上拉或下拉)且输入引脚

4、必须由外部驱动注意:也可以通过软件来模拟复用功能输入引脚,这种模拟可以通过对GPIO控制器编程来实现。此时,端口应当被设置为复用功能输出模式。显然,这时相应的引脚不再由外部驱动,而是通过GPIO控制器由软件来驱动。●对于复用输出功能,端口必须配置成复用功能输出模式(推挽或开漏)。●对于双向复用功能,端口位必须配置复用功能输出模式(推挽或开漏)。这时,输入驱动器被配置成浮空输入模式。如果把端口配置成复用输出功能,则引脚和输出寄存器断开,并和片上外设的输出信号连接。如果软件把一个GPIO脚配置成复用

5、输出功能,但是外设没有被激活,它的输出将不确定。输入配置当I/O端口配置为输入时:●输出缓冲器被禁止●施密特触发输入被激活●根据输入配置(上拉,下拉或浮动)的不同,弱上拉和下拉电阻被连接●出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器●对输入数据寄存器的读访问可得到I/O状态输出配置当I/O端口被配置为输出时:●输出缓冲器被激活─开漏模式:输出寄存器上的’0’激活N-MOS,而输出寄存器上的’1’将端口置于高阻状态(P-MOS从不被激活)。─推挽模式:输出寄存器上的’0’激活N-

6、MOS,而输出寄存器上的’1’将激活P-MOS。●施密特触发输入被激活●弱上拉和下拉电阻被禁止●出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器●在开漏模式时,对输入数据寄存器的读访问可得到I/O状态●在推挽式模式时,对输出数据寄存器的读访问得到最后一次写的值。复用功能配置当I/O端口被配置为复用功能时:●在开漏或推挽式配置中,输出缓冲器被打开●内置外设的信号驱动输出缓冲器(复用功能输出)●施密特触发输入被激活●弱上拉和下拉电阻被禁止●在每个APB2时钟周期,出现在I/O脚上的数据

7、被采样到输入数据寄存器●开漏模式时,读输入数据寄存器时可得到I/O口状态●在推挽模式时,读输出数据寄存器时可得到最后一次写的值。一组复用功能I/O寄存器允许用户把一些复用功能重新映象到不同的引脚。模拟输入配置当I/O端口被配置为模拟输入配置时:●输出缓冲器被禁止;●禁止施密特触发输入,实现了每个模拟I/O引脚上的零消耗。施密特触发输出值被强置为’0’;●弱上拉和下拉电阻被禁止;●读取输入数据寄存器时数值为’0’。复用功能I/O和调试配置(AFIO)为了优化64脚或100脚封装的外设数目,可以把一

8、些复用功能重新映射到其他引脚上。设置复用重映射和调试I/O配置寄存器(AFIO_MAPR)实现引脚的重新映射。这时,复用功能不再映射到它们的原始分配上。复用表参看手册GPIO代码分析外设库typedefstruct{uint16_tGPIO_Pin;GPIOSpeed_TypeDefGPIO_Speed;GPIOMode_TypeDefGPIO_Mode;}GPIO_InitTypeDef;typedefstruct{__IOuint32_tCRL;__IOuint32_tCRH;__IOuin

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。