Uart 通信协议(上)

通用异步串行接收器

Uart是其总称,包括RS232,RS449,RS422等接口标准规范和总线标准规范。

不同的单片机要实行信息传输,最少需要三根线

 

Uart传输协议:

1)传输的数据包内容固定:起始位,主数据位,校验位,停止位

2)通信双方的波特率要一致才能传输信息(因为双方传输没有时钟,所以频率一定要一样,否则很难接收到正确数据)

 

 

Uart串口发送数据时序图:

 

错误总结 

1)如图所示,为什么加r_data? 就是为了保持原始数据传输的正确性,当突然改变data时,不会影响rs232传输错误,而r_data在start等于1时,开始寄存数据,但真正传输数据需要在start等0时,真正开始计数并且传数据。

2)为什么state是1,flag是1, bit_cnt=0时,rs232传输错误(没有传够指定的周期数28),因为 在rs232传输时没写flag不等于1时的情况,导致了锁存,写分支的时候一定要写完整,避免导致锁存器,

3)看时序图时,一个信号错了就去找响应的信号错没错。(本次看了rs232的时序,发现出错,回找rs232代码发现问题)

 

posted @ 2022-04-22 09:31  十点三十睡觉  阅读(130)  评论(0编辑  收藏  举报