STM32 GPIO復用及重映射

GPIO管腳復用:
32芯片內(nèi)部集成了很多外設控制器,(USART,ADC,CAN等),這些外設控制器也需要通過引腳與外設連接,復用功能是相對于單片機的引腳而言的,復用功能是指單片機的引腳既可以作為普通的GPIO也可以作為內(nèi)部外設控制器的引腳來使用。比如F1系列PA5引腳可以作為多個SPI、DAC、ADC的復用引腳,但同一時刻只能選擇一種。


  //GPIOA端口使能
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  //復用的外設時鐘使能
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);


  //端口模式配置  GPIO_Init
  GPIO_InitTypeDef   GPIO_InitStructure;

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA.9
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;//復用推挽輸出
  GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.9

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA10
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空輸入
  GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.10  

端口重映射:
GPIO重映射是原IO映射到其他IO口去,應注意操作步驟:

1.使能被重映射IO端口時鐘
2.使能被重映射的外設時鐘
3.使能AFIO復用時鐘(重要)
4.進行重映射

  //1.重映射后的IO時鐘
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
  //2.使能重映射外設時鐘
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
  //3.使能AFIO時鐘:
   RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
   //4.開啟重映射:
   GPIO_PinRemapConfig(GPIO_Remap_USART1, ENABLE);


    //5.GPIO_Init()配制重映射引腳, 這里只需配置重映射后的I/O,原來的不需要去配置。
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 1 GPIO概述 1.1 功能描述 STM32的GPIO端口相對比較復雜,所以使用起來也困難許多,STM32的GP...
    hackvilin閱讀 4,789評論 0 5
  • 姓名:朱小鵬 學號:16010130023 轉(zhuǎn)載:STM32輸入輸出模式理解 http://www.opened...
    小鵬_956f閱讀 1,351評論 0 0
  • GPIO 是通用輸入輸出端口的簡稱,簡單來說就是STM32 可控制的引腳,STM32 芯片的GPIO 引腳與外部設...
    呼啦啦的愛閱讀 2,082評論 0 1
  • 姓名:周崇杰 學號:16140120059 專業(yè):機械設計制造及其自動化 轉(zhuǎn)載自:http://blog.csd...
    CJbaby閱讀 3,660評論 0 3
  • 亭亭翠蓋吐氳氤,金粟如來真化身。 甘露慈悲澄瘴霧,妙香般若破貪嗔。 豈同凡蕊爭春色,長共銀燈引路人。 大覺靈山修不...
    長淮孤帆閱讀 555評論 0 2

友情鏈接更多精彩內(nèi)容