Nuvoton开发流程 中级篇 2 – UART Mode2 -- 9bit data

UART 模式2为全双工异步通信, 与模式1不同的是,模式2是11位收发。数据由起始位(逻辑0),8位数据( 最低位在前),第9位数据(TB8或RB8)和停止位(逻辑1)组成。第9位做奇偶校验位或多机通信时用来区分数据和地址。波特率是系统时钟频率的1/32 或1/64,由 SMOD位(PCON.7)来配置。串口模式2的传输时序。


这里UART常规是8bit 数据收发应该大家都知道如何操作,第9位数据的操作会有些困惑。目前新唐第9位操作是直接对寄存器写的方式来做的,如果使能了Mode2 ,但是没有对TB8操作,默认是数据是0。

程序配置操作。


1、测试TB8 =1,测试数据波形 。




2、测试TB8 =0,测试数据波形。



3、测试TB8未处理,测试数据波形。


 
通过上面波形可以非常直观的看到测试情况,如上我基于ML51测试的波形,如果是M0等32bit MCU,操作也是一样需要手动来写,不过设定的寄存器有三个,设定在UA_LCR寄存器的SPE位、EPE位及PBE位,并且写入一个字节到UA_THR寄存器,串口就会传送9位数据格式。

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论