单片机串口方式一发送一个16位的数(0~65536)然后在数码管上显示...

发布网友 发布时间:2024-10-24 09:34

我来回答

2个回答

热心网友 时间:60秒前

发送一个16位的数(0~65536)...
----
16位的数,没有 65536,最大,只不过是 65535。

串口,每次,仅仅可以发送一个字节,8位数,0~255。
16位的数,就得传送两次。

先传送什么,后传送什么,
先接收的是什么,后接收的什么,

仅仅从接收次数来判断高、低字节,是不准确的。
必须有所标记,否则,就要识别错位了。

16位的数,再加上高、低字节的标记,传送两次,就不够了,还要多几次。

还是先好好研究一下传送的协议吧。

显示,可以等收到真实、准确的数据之后,再研究。

热心网友 时间:2分钟前

我就不看你的扫描显示处理部分了。就你的接收及数据处理来说理论上也可以,但只能慢速接收两数据,且容易出错,在数据发送过程中可能会发生错误数据跳变(上一个16位数据跟下一个16位数据变化之间存在错误数据显示)。
最好串口里直接把数据赋值给变量数组。每接收到两字节数据再产生一个标志位,主程序通过判断这个标志位再去做数据处理及显示。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com