STM32标准库学习笔记(八)USART

前言


学习永无止境!本篇是嵌入式开发之片上外设USART,了解基本硬件原理以及通信协议,实现HEX数据数据包的发送与接收。
注:本文章为学习笔记,部分图片与文字来源于网络/江协科技课程/手册,如侵权请联系!谢谢!


一、通信基础知识


1.1 单片机常用通信外设

        通信就是双方按照约定的协议进行数据收发,实现硬件与硬件的合作,扩展硬件系统。单片机上常用的通信协议有以下几种:

名称 引脚 双工 时钟 电平 设备
UART TX、RX 全双工 异步 单端 点对点
I2C SCL、SDA 半双工 同步 单端 多设备
SPI SCLK、MOSI、MISO、CS 全双工 同步 单端 多设备
CAN CAN_H、CAN_L 半双工 异步 差分 多设备
USB DP、DM 半双工 异步 差分 点对点

1.2 相关通信概念

①串行与并行

  • 串行通信:又称逐位传输(Bit by Bit Transmission),按顺序将数据一位一位发送或接收,虽然传输速率慢一些,但实现简单,只需单线便可实现,串行通信常用于远距离传输;
  • 并行通信:又称多数据位传输(Word by Word Transmission),通过多跟数据线实现数据的同时传输,传输速率较串行大大提高,但缺点也显而易见,需要多跟数据线,硬件成本较高。

②同步与异步

  • 同步通信:通信双方共用一根时钟线,双方约定根据时钟的上升或者下降沿进行数据收发,同步通信时,数据不能有间隔,因为在同一个时钟下工作,一边发送,另一边接收,默认所有数据都是有效位;
  • 异步通信:通信双方无时钟线,根据约定好的帧头帧尾进行数据的接收判断,数据包之间可以间隔任意时间发送,一般一个数据帧会有一个起始位、一个停止位,实际一般有效数据只有5~8位,相比同步传输效率较低。

③全双工与半双工

  • 全双工:发送与接收数据线独立,可以同时进行数据的发送与接收;
  • 半双工:发送与接收共用一根数据线,在同一时刻只能进行发送或者接收。

④比特率与波特率

  • 比特率:表示通讯速率,即每秒钟传输的二进制位,单位为bit/s;
  • 波特率:Baudrate,表示每秒钟传输多少码元,码元通讯信号调制概念。常见通讯传输中假设0V表示0,5V表示1,即一个码元有两种状态,在这里比特率与波特率就是一致的,但是当通信中有0V、2V、4V、6V分别代表00、

你可能感兴趣的:(STM32标准库学习,stm32,学习,笔记,单片机)