STM32第二功能引脚映射
来源:互联网 发布:大数据产业市场规模 编辑:程序博客网 时间:2024/05/01 09:03
STM32部分外设的第二功能引脚映射
作者:JCY
时间:2012年12月11日
STM32F是ST(意法半导体公司)的产品,本芯片的设计支持了芯片上部分外设第二功能的引脚映射。这为设计STM32的电路板提供了方面,大大简化了电路的设计。当第一次看到AFIO功能的时候感到很困惑,一直不理解,但是最近突然明白了。不敢独享,写此文章与大家分享。本文章纯属个人的理解,如有任何的错误之处请指正,将不胜感激。
我们可以这样理解,对于每一个GPIO来说,他只有普通IO口的功能,并没有像CNA、UART、SPI、TIMER、I2C、I2S、外部中断等外设。那么就不存在所谓第二功能了。假设现在我们在芯片上要加一个UART1的外设,此UART没有涉及到硬件流控制。所以该外设与外界的通信只需要两个引脚,即TX和RX。但是我们要TX和RX连接到那里哪?无论是STC89C52的51单片机还是ATMEGA16的AVR单片机,他们都是将TX和RX与某引脚直接共用,TX和RX的引脚也只能在此引脚上,不肯能被改变的。但是STM32却改变了普遍的半导体公司的一贯做法,使用了第二功能引脚的映射。我们以STM32芯片上的UART1为例来说明一下。默认的UART1的第二功能引脚TX1和RX1分别在PA.9和PA.10上。TX1和RX1的引脚在PA.9和PA.10并不是固定的,TX1和RX1的第二功能引脚可以在PB.6和PB.7上,那么PA.9和PA.10只能使用它的普通IO功能了。
STM32中有一个寄存器叫AFIO_MAPR。它控制了第二功能的引脚在那个GPIO口上使用。现将该寄存器的内容粘贴如下:
看到了bit2位了吗?它控制了UART1通信引脚TX1和RX1映射到哪一个引脚上。
芯片手册对该为的解释如下:
如果你使用了UART0来进行串口的通信。可以将芯片外部的TX和RX引脚分别接在PA.9和PA.10或者PB.6和PB.7上。这都能够实现。
当接在PB.6和PB.7上时需要将USART1_REMAP为设置为1。这样就OK了。
- STM32第二功能引脚映射
- STM32的功能引脚重映射和复用功能
- STM32的功能引脚重映射和复用功能
- 关于STM32的引脚重映射
- stm32 引脚功能设定及应用
- 【玩STM32】STM32Duino的引脚映射,ADC,PWM等介绍
- STM32引脚的知识
- STM32引脚Remap查询
- stm32引脚默认状态
- STM32引脚模式GPIOMode_TypeDef
- STM32中功能复用重映射是什么意思
- STM32 JTAG的引脚用作GPIO引脚
- STM32的boot引脚设置
- stm32 Boot0,Boot1引脚设置
- STM32使用SWO引脚调试
- ST芯片的引脚复用功能和重映射功能
- 打印口引脚功能
- 8086CPU引脚功能
- PHP从页面上传图片到数据库(实例)
- ADB WINDOWS下显示乱码
- 【shell】shell脚本的调试方式(二)
- Android 调试方法
- 使用Windbg生成dump文件
- STM32第二功能引脚映射
- OGNL表达式struts2标签“%,#,$”
- Andriod Sensor
- Ubuntu下Firefox安装flashplayer
- PHP实现上一页下一页翻页代码实例
- C++文件操作的几种方式介绍
- struts2静态方法的调用
- #pragam 使用方法
- Java序列化的机制和原理