USART 串口

串口不工作

请逐一检查:

  1. 是否正确配置复用IO口(先用RCC_APB2PeriphClockCmd在RCC寄存器中先开启GPIOx的时钟使能,再用 GPIO_Init 进行IO复用配置)
  2. 是否正确配置串口通讯格式(先用RCC_APBxPeriphClockCmd在RCC寄存器中先开启USARTx的时钟使能,再用USART_Init进行串口配置)
  3. 别忘了用USART_Cmd(USARTx, ENABLE)把串口打开。
  4. 检查配置复用GPIO时,是否配置输出速度。 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

串口模块图

 

TC/TXE 标志位说明

在进行串口发送时需要先检查 USARTx->SR.TXE标志位的情况,当高时在往外发数据。

其他复用管脚

对于使用默认的复用管脚可以不用配置 AFIO_MAPR 寄存器,但是要使用非默认的复用管脚就必须要配置AFIO寄存器。

原文地址:https://www.cnblogs.com/qiyuexin/p/8306757.html