arm 裸机编程 串口篇

uart:通用异步收发器,是一种全双工串行异步通信

波特率与bps
实际上波特率并不等于bps。
波特率:一秒钟传输码元的个数
bps:一秒钟发送的比特位位数
而码元是承载信息量的基本信号单位,一个二进制码元占一个比特位
所以仅传输二进制码元时,bps等于波特率

同步和异步方式:
异步:异步通信中的接收方并不知道数据什么时候会到达,收发双方可以有各自自己的时钟。发送方发送的时间间隔可以不均,接收方是在数据的起始位和停止位的帮助下实现信息同步的。
同步:同步通信中双方使用频率一致的时钟 ,它的分组相比异步则大得多,称为一个数据帧,通过独特的bit串作为启停标识。发送方要以固定的节奏去发送数据,而接收方要时刻做好接收数据的准备,识别到前导码后马上要开始接收数据了。

配置串口大的步骤(使用轮询方式):

  1. 波特率
  2. 起始位、停止位、奇偶校验位、数据位
  3. 收发模式
  4. 需要分别知道读取和发送串口数据的寄存器
  5. 需要知道什么时候收数据,什么时候发数据,即状态寄存器。

波特率计算方法:

UBRDIVn用来保存整数位。
计算方式:( SCLK_UART / (bps * 16) ) - 1
UFRACVALn用来保存小数位
计算方式:( SCLK_UART % (bps * 16) ) * 16

你可能感兴趣的:(笔记,arm,裸机编程,arm,串口通信)