单片机串口方式一发送一个16位的数(0~65536)然后在数码管上显示...
发布网友
发布时间:2024-10-24 09:34
我来回答
共2个回答
热心网友
时间:60秒前
发送一个16位的数(0~65536)...
----
16位的数,没有 65536,最大,只不过是 65535。
串口,每次,仅仅可以发送一个字节,8位数,0~255。
16位的数,就得传送两次。
先传送什么,后传送什么,
先接收的是什么,后接收的什么,
仅仅从接收次数来判断高、低字节,是不准确的。
必须有所标记,否则,就要识别错位了。
16位的数,再加上高、低字节的标记,传送两次,就不够了,还要多几次。
还是先好好研究一下传送的协议吧。
显示,可以等收到真实、准确的数据之后,再研究。
热心网友
时间:2分钟前
我就不看你的扫描显示处理部分了。就你的接收及数据处理来说理论上也可以,但只能慢速接收两数据,且容易出错,在数据发送过程中可能会发生错误数据跳变(上一个16位数据跟下一个16位数据变化之间存在错误数据显示)。
最好串口里直接把数据赋值给变量数组。每接收到两字节数据再产生一个标志位,主程序通过判断这个标志位再去做数据处理及显示。