arm 裸机编程 串口篇

6 篇文章 0 订阅
4 篇文章 0 订阅

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

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

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

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

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

波特率计算方法:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值