GPIO复用功能教学内容.doc

GPIO复用功能教学内容.doc

ID:59307568

大小:117.00 KB

页数:3页

时间:2020-09-05

GPIO复用功能教学内容.doc_第1页
GPIO复用功能教学内容.doc_第2页
GPIO复用功能教学内容.doc_第3页
资源描述:

《GPIO复用功能教学内容.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、管脚的复用功能重映1、复用功能:内置外设是与I/O口共用引出管脚(不同的功能对应同一管脚)STM32所有内置外设的外部引脚都是与标准GPIO引脚复用的,如果有多个复用功能模块对应同一个引脚,只能使能其中之一,其它模块保持非使能状态。2、重映射功能:复用功能的引出脚可以通过重映射,从不同的I/O管脚引出,即复用功能的引出脚位是可通过程序改变到其他的引脚上!直接好处:PCB电路板的设计人员可以在需要的情况下,不必把某些信号在板上绕一大圈完成联接,方便了PCB的设计同时潜在地减少了信号的交叉干扰。如:USART1:0:没有重映像(TX/PA9,RX

2、/PA10);1:重映像(TX/PB6,RX/PB7)。(参考AFIO_MAPR寄存器介绍)[0,1为一寄存器的bit值]【注】下述复用功能的引出脚具有重映射功能:-晶体振荡器的引脚在不接晶体时,可以作为普通I/O口-CAN模块;-JTAG调试接口;-大部分定时器的引出接口;-大部分USART引出接口-I2C1的引出接口;-SPI1的引出接口;举例:对于STM32F103VBT6,47引脚为PB10,它的复用功能是I2C2_SCL和USART3_TX,表示在上电之后它的默认功能为PB10,而I2C2的SCL和USART3的TX为它的复用功能;

3、另外在TIM2的引脚重映射后,TIM2_CH3也成为这个引脚的复用功能。(1)要使用STM32F103VBT6的47、48脚的USART3功能,则需要配置47脚为复用推挽输出或复用开漏输出,配置48脚为某种输入模式,同时使能USART3并保持I2C2的非使能状态。(2)使用STM32F103VBT6的47脚作为TIM2_CH3,则需要对TIM2进行重映射,然后再按复用功能的方式配置对应引脚.下面跟大家说一下STM32单片机的端口重映射,因为是以自己为实例.这里是以USART1的重映射为例STM32上有很多I/O口,也有很多的内置外设想I2C,

4、ADC,ISP,USART等,为了节省引出管脚,这些内置外设基本上是与I/O口共用管脚的,也就是I/O管脚的复用功能。但是STM32还有一特别之处就是:很多复用内置的外设的I/O引脚可以通过重映射功能,从不同的I/O管脚引出,即复用功能的引脚是可通过程序改变的.以上是我在配置GPIO管脚PA9PA10时没有发现的复用功能,直到我添加了RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);这个函数才通。使用了IO的复用功能就一定要启动RCC_APB2Periph_AFIO的Clock的重映射步骤为

5、:1.打开重映射时钟和USART重映射后的I/O口引脚时钟,           RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA

6、RCC_APB2Periph_AFIO,ENABLE);2.I/O口重映射开启.                   GPIO_PinRemapConfig(GPIO_Remap_USART1,ENABLE);3.配制重映射引脚, 这里只需配置重映射后的I/O,原来的不需要去配置.                             GPIO_InitStructure.

7、GPIO_Pin=GPIO_Pin_9;                              GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;                              GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;                              GPIO_Init(GPIOA,&GPIO_InitStructure);                               GPIO

8、_InitStructure.GPIO_Pin=GPIO_Pin_10;                               GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;                                GPIO_Init(GPIOA,&GPIO_InitStructure);      只需要这三步,串口就可以正常使用了,简单吧? 但是我纠结了大半个小时才搞定的,好多事情都是说起来容易做起来难的,希望我以后多多进步.不要眼高手低,嗯我正朝这个方向

9、前进.最后总结一下: 简单的说STM32的io有3个功能一个是默认的一个是复用一个是重映射功能(这个其实也属于复用) 如果配置成复用则将使用第2个功能如果配置成复用

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

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

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