STM32学习笔记(三) 串口通信

  • 1、计算机常用的两种通信方式为串行通信和并行通信,两个具有相对的优缺点。
  • 2、串行通信分为同步和异步两种,其中同步需要通信的两个设备之间时钟同步,必须有同步信号。而异步通信时相互通信的设备之间不需要同步,只要求通信的接口方式及速率相同,以起始位和停止位为标志表示数据发送的开始和结束。
  • 3、异步通信时数据一帧一帧的传送,帧的格式和通信速率一起称为通信协议。一帧的的长度称为字长,字长=起始位+数据位+校验位+停止位。波特率就是用来描述通信速率的,单位为bps,即位、秒。
  • 4、常用的三种模式接口方式为RS232,RS422,RS485。对比如下
接口 RS232 RS422 RS485
操作方式 电平 差分 差分
工作方式 全双工 全双工 半双工
连接方式方式 点到点 点到多点 多点到多点
  • 5、在用USB连接STM32与电脑时,实际上信号是通过USB传输后,通过USB转串口芯片后再送到STM32的。而当用单片机和PC机通过串口进行通信,尽管单片机有串行通信的功能,但单片机提供的信号电平和RS232的标准不一样,因此要通过max232这种类似的芯片进行电平转换。
  • 6、STM32的串口资源相当的丰富,功能也很强大。串口作为STM32的一个外设,其时钟由外设时钟使能寄存器控制,另外还有复位寄存器,波特率寄存器,3个控制寄存器,数据发送和接收寄存器,状态寄存器。
  • 7、串口设置可以总结为如下几个步骤
  1. 串口时钟使能,GPIO时钟使能
  2. 串口复位
  3. GPIO端口模式设置
  4. 串口参数初始化
  5. 开启中断并且初始化NVIC(如果需要开启中断,才需这个步骤)
  6. 使能串口
  7. 编写中断处理函数