热度 18
2013-4-8 08:53
6680 次阅读|
0 个评论
新板子上因为考虑元件布局,所以在最初的时候就打算使用USART1的引脚重定向或叫重映射(remap)功能。 USART1在复位时,即缺省状态下是TX、RX分别在PA9、PA10,remap后可以重映射到PB6、PB7.下表来自《STM32参考手册》。 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了