以stm32的usart1來舉例
預設使用的是pa9為tx,pa10為rx,當需要開啟復用功能時,需要注意修改以下幾個地方的**
1 時鐘的開啟
當使用復用功能後,就需要開啟復用時鐘rcc_apb2periph_afio
2 初始化引腳的不同,原來的是pa9,pa10,但是現在要初始化pb6,pb7,這一部分就不貼**了。
3 呼叫gpio_pinremapconfig()函式
gpio_pinremapconfig(gpio_remap_usart1,enable);
usart1的重對映開啟
注意:gpio_pinremapconfig()函式的引數是不能隨便寫的,在《stm32韌體庫使用手冊》裡面給出了可用引數的列表
usart3, enable); //usart3的復用功能完全重對映
gpio_pinremapconfig(gpio_partialremap_usart3, enable); //usart3的部分重對映
部分重對映和完全重對映有什麼區別那?在網上我也沒找到確定的答案,但是建議開啟完全重對映,因為網上有資料說部分重對映在傳送訊息時候不正常(我自己沒有做實驗)
還需要注意,在開啟重對映功能之前一定要先檢視一下自己的微控制器是否支援重對映功能。
附:初始化串列埠的程式
void usart1_config(void)
STM32串列埠的部分對映與完全對映
覺得不錯分享給大家,學習!以stm32的usart1來舉例 預設使用的是pa9為tx,pa10為rx,當需要開啟復用功能時,需要注意修改以下幾個地方的 1 時鐘的開啟 當使用復用功能後,就需要開啟復用時鐘rcc apb2periph afio 2 初始化引腳的不同,原來的是pa9,pa10,但是現在...
STM32串列埠的部分對映與完全對映
覺得不錯分享給大家,學習!以stm32的usart1來舉例 預設使用的是pa9為tx,pa10為rx,當需要開啟復用功能時,需要注意修改以下幾個地方的 1 時鐘的開啟 當使用復用功能後,就需要開啟復用時鐘rcc apb2periph afio 2 初始化引腳的不同,原來的是pa9,pa10,但是現在...
stm32串列埠通訊
通訊方式 1 同步通訊 帶時鐘同步訊號傳輸 spi,iic等 2 非同步通訊 不帶時鐘用途訊號 usrt,單匯流排 stm32串列埠引腳表 串口號 rxd txd 1 pa10 pa9 2 pa3pa2 3 pb11 pb10 4 pc11 pc10 5 pd2pc12 通訊過程 接收過程 由rx入...