以STM32F103c6t6为例
问题描述:更换串口时直接复制粘贴代码,没有出错,但就是打不开串口。
串口一配置:
//USART1_TX PA9
//USART1_RX PA10
// 打开串口GPIO的时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
// 打开串口外设的时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
串口二配置:
//USART2_TX PA2
//USART2_RX PA3
// 打开串口GPIO的时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
// 打开串口外设的时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
原因:在串口一二搭载的外设时钟不同。
其中APB2时钟为高速时钟,多用于大量数据传输。