stm32 端口重映射的深刻解析

因爲項目須要,我須要把usart3的端口PB10 和 PB11 重映射到 PC10 和 PC11 上,根據官方資料,這是部分重映像:code

如圖,下面首先要開啓APIO時鐘:ip

 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_AFIO,ENABLE);
 //而後須要設置端口
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
 GPIO_Init(GPIOC, &GPIO_InitStructure);

 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
 GPIO_Init(GPIOC, &GPIO_InitStructure);
 //當須要使用重映射端口時,開啓端口重映射
  GPIO_PinRemapConfig(GPIO_PartialRemap_USART3,ENABLE);  
  //GPIO_PartialRemap_USART3爲USART3 複用功能部分映射
  //GPIO_FullRemap_USART3 徹底映射
 //當不須要映射的時候,使用完畢的時候,把映射重置位,、
 GPIO_AFIODeInit();
 //當想使用的時候再次打開就行了
相關文章
相關標籤/搜索