郭天祥十天学会单片机串口通信方式讲解
方式 2 和方式 3 的串口通信方式,挺适合刚接触单片机通信的朋友理解。两种方式都属于异步通信,一帧数据固定是 11 位:起始 1 位、数据 9 位、停止 1 位。那第 9 位是干啥的?哦,它可以拿来传个校验位或者多一个数据标志,发送时靠TB8
,接收时看RB8
。
如果你用方式 2,波特率比较固定,基本就是晶振频率的 1/64 或 1/32;而方式 3就灵活了,波特率可以交给定时器 T1控制,适合对通信速率有点讲究的场景。像是你用 STC 单片机搞数据传感器通信,用方式 3+T1 调波特率,还蛮顺手。
你要是对波特率怎么算、怎么调不太清楚,可以看看这篇STC 单片机下载器与定时器波特率计算,讲得还挺细;另外像单片机串口发送方式、串行口方式接收时序这些内容也能帮你打通思路。
实际用的时候,要注意SCON
寄存器的配置,SM0
和SM1
决定了到底是哪种方式。方式 3 对定时器依赖大一点,调试的时候建议先用示波器看下波形,确定收发一致,不然接收乱掉你都不知道哪儿出问题了。
如果你对异步通信有更高需求,还可以研究下类似AsyncSocket的异步方案,思路也能套到单片机上,尤其是你做嵌入式联网通信那一挂的。
4.63MB
文件大小:
评论区