单片机STC12C5A60S2的串口2读取数据原理?

单片机STC12C5A60S2的串口2读取数据原理?,第1张

这就是标准的中断方式获取数据啊。当对方向单片机串口2发送数据时,单片机接受到数据就会进入串口2中断(向量号为8)。

不过这里在中断添加了一点应用层的内容,也就是约定必须首字节为FDh并且长度为6才是有效的数据帧,其它情况下收到的数据会丢弃。

我看了半天,我理解如下:

你用计算机的串口与数据模块通信,数据模块给发过来20 32 33 30 30 20 70 70 6D 0D 0A;

然后你用计算机把这组数据发给你的单片机,能正常返回32 33 30 30并显示;

但是直接用模块接单片机不正常!

-------------分析如下:

串口是交叉通信的,也就是你看看,你的单片机接模块的时候是否用了“交叉线”?2--3、3---2、5---5,也就是说以计算机为基准,你的单片机和模块接的话是“直通线”

数据模块给你发过来的数据是什么格式很重要!你用串口只能说明你用了16进制观察看到了,并不代表数据模块就是以16进制给你发过来的,有可能是字符或者其他格式!

“偶尔显示正常”可能压根就不正常,属于巧合事件,你先检查一下我说的问题,然后不能解决再追问吧!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9931799.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存