2个八位合成十六位

2019-08-19 20:33发布

mini 板串口1接收到4096个数据,如01 11 02 42 ........。现要合成2048个16位数据,如01位高八位,11为低八位;02位高八位,42位低八位...........。合成后的数据通过串口3发送出来,利用串口调试助手显示合成后的2048个数(其中串口调试助手显示要求是十进制)。求大神指导!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
Ecrhon
2019-08-20 10:35
18936018580 发表于 2017-5-2 16:57
谢谢,串口调试助手显示不出来,显示全位00 00 00 00.。。。。是不是串口调试助手数据位选择不对?可是最 ...

刚复习了一下串口通讯的相关原理,似乎规定一次最多只能发8位数据,那么你需要做的就不是在MCU上合成两个8位数据为16位,而是应该在接收端收到两个8位数据后进行合成。这是通讯协议规定的。
我前段时间做过相关项目,传感器通过蓝牙模拟的串口传回来两个字节的数据。我在上位机处接收到若干8位数据后,根据事先规定的数据起始字节和校验字节判断数据完整性,然后把接受到这一次测量数据每两个字节组合成为一个数据,使用的方法就是我刚提到的memcpy。所以数据合并应当是上位机的工作,下位机只管发送就OK了

一周热门 更多>