重映射就是將引腳功能從新定義到其餘引腳, 例如PA9是USART1-TX默認的3d
管腳,可是如今PA9用作它用了,那能夠將USART1-TX從新映射到PB6,固然這blog
種映射不是隨意的想映射到哪一個腳就哪一個腳,芯片內部已經固定了只能映射到固ip
定的地方。it
eg:io
標準庫重映射步驟爲:(把串口PA九、PA10 重映射到 PA六、PA7)配置
1.打開重映射時鐘和USART重映射後的I/O口引腳時鐘, map
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO,ENABLE);定時器
2.I/O口重映射開啓.im
GPIO_PinRemapConfig(GPIO_Remap_USART1,ENABLE);d3
3.配製重映射引腳.這裏只需配置重映射後的I/O,原來的I/O配置刪除或保留都行
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);
HAL庫重映射(以定時器爲例):
由上圖可見:
部分重映射:只改變CH一、CH2管腳;
徹底重映射:CH1~CH4管腳所有改變。
1. 在stm32f1xx_hal_gpio_ex.h找到重映射語句
2. 添加到管腳定義語句前
3. 完成