原创 [博客大赛]STM32学习-USART1的重映射(remap)使用

2013-4-8 08:53 6681 18 18 分类: MCU/ 嵌入式 文集: STM32F1学习笔记

 

新板子上因为考虑元件布局,所以在最初的时候就打算使用USART1的引脚重定向或叫重映射(remap)功能。
USART1在复位时,即缺省状态下是TX、RX分别在PA9、PA10,remap后可以重映射到PB6、PB7.下表来自《STM32参考手册》。
remap.jpg
 
USART1重映射的步骤如下:
1.
使能重映射时钟和USART1重映射后的IO引脚时钟,重映射时钟是指AFIO(《STM32参考手册》中称之为复用功
 
能IO和调试配置)的时钟,USART1重映射后引脚在GPIOB,所以要使能GPIOB的时钟。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO,ENABLE);
 
2.
使能GPIO的重映射
GPIO_PinRemapConfig(GPIO_Remap_USART1,ENABLE);
 
3.
配置重映射后的引脚(PB6、PB7)
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
 
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOB, &GPIO_InitStructure);
 
如此设置后,就可以使用PB6、PB7做为USART1的TX、RX了

文章评论0条评论)

登录后参与讨论
我要评论
0
18
关闭 站长推荐上一条 /2 下一条