stm32 之引腳和各功能模塊間關系


在調試中斷問題時發現一個問題,在不同中斷號下,我想修改中斷處理函數的入口,即串口一的中斷處理函數我想改為用串口二的中斷處理函數是否有問題。答案是肯定有問題,但是為何有問題,是啥會導致這樣的問題產生?下面從就來探討下這個問題:

1、我用哪個串口是根據啥來判斷的,肯定是硬件的管教啊,即我用的是串口一,我就要對我用到的硬件進行設置,即對我的RX和TX用到的引腳進行設置。

//RX引腳設置

GPIO_PinAFConfig(DEBUG_USART_RX_GPIO_PORT,DEBUG_USART_RX_SOURCE, DEBUG_USART_RX_AF);

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;

GPIO_InitStructure.GPIO_Pin = DEBUG_USART_RX_PIN;
GPIO_Init(DEBUG_USART_RX_GPIO_PORT, &GPIO_InitStructure);

//TX引腳設置,若有復用則要設置復用的參數

GPIO_PinAFConfig(DEBUG_USART_TX_GPIO_PORT,DEBUG_USART_TX_SOURCE,DEBUG_USART_TX_AF);

GPIO_InitStructure.GPIO_Pin = DEBUG_USART_TX_PIN ;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(DEBUG_USART_TX_GPIO_PORT, &GPIO_InitStructure);

即通過這樣的方式在硬件上確定了硬件的方式是只能用串口1.

 

如下的是串口功能上需要的波特率等相關的操作。

 

USART_InitStructure.USART_BaudRate = DEBUG_USART_BAUDRATE;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No ;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
USART_Init(DEBUG_USART, &USART_InitStructure);

這些是功能上需要的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM