STM32F103,在使用USART2时发现接收正常,发送不出去。在USART初始化时发现APB设置错误。
STM32在配置USART1和USART2时,需特别注意PORTA和USART1是在APB2中设置,而USART2是在APB1中设置。
USART2设置:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能GPIOA时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE); //使能USART2
USART1设置:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB1Periph_USART1, ENABLE); //使能GPIOA时钟,USART1
STM32F103,在使用USART2时发现接收正常,发送不出去。在USART初始化时发现APB设置错误。
STM32在配置USART1和USART2时,需特别注意PORTA和USART1是在APB2中设置,而USART2是在APB1中设置。
USART2设置:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能GPIOA时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE); //使能USART2
USART1设置:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB1Periph_USART1, ENABLE); //使能GPIOA时钟,USART1
举报