首页资讯 • 正文

arduino如何处理16位的数据?

发布时间:

这样一帧数据通过stm32发送arduino那么arduino该如何处理,并打印到电脑串口

这个问题,需要分两步。第一步:在串口缓冲区内正确地找到byte1-byte6,这个方法有很多,但都是抓住byte5和byte6两个“标志”,通过它们才能准确找到byte1-byte4。定义一个char型的数组,数组长度6(或者其他,根据你使用的帧解析方法),从串口缓冲区中取数据存放到数组中,然后去处理数组,准确找到“byte1~byte4”在数组中的位置。

第二步:还原数据。定义两个16位变量:int16_t X,Y;然后提取上一步中处理好的“byte1~byte4”,

X=byte1<<8|byte2;

Y=byte3<<8|byte4;

然后串口打印Serial.print()X和Y就行了。数据合成也可以用共用体的方法。

另外,这个任务用mega2560来做,串口多。可以串口1接收数据,串口0与电脑连接。

用Arduino Due这个版型吧,采用AT91SAM3X8E ARM芯片

默认是与其它Arduino版型一样的10位ADC,但可以通过 analogReadResolution()语句

改成12位的。

另:貌似高精度的ADC,都用专业的ADC芯片了,这种片内的,噪声可能会有问题。

相关文章Related

相关文章Related

返回栏目>>

首页   |   网站地图

Copyright © 2002-2019 海贼王网,精油,三菱,肾病,邮轮 版权所有