这是一个帮助我开始一个项目的问题。这里是设置:我是从赛车游戏中提取数据,我想使用这个数据来驱动2名伺服手,他们插到我的Arduino Uno上。一个伺服将是RPM,另一个将显示速度。
这些信息是由一个运行在PC上的程序通过串口发送给Arduino的,我想知道您是否有任何关于如何“分离”这两种不同信息的见解或提示,以便Arduino能够识别其中的每一种信息并在正确的伺服电机上使用。
这并不是一个帮助我处理特定代码的问题,我正在寻找一些通常用于识别和分离不同数据包的方法。
谢谢!
发布于 2016-05-08 07:03:42
一种简单的方法可以是使用标识字节。所以一开始,dataframe总是有一个标识符字节。您可以在下面的枚举中定义标识符:
enum DataIdentifier
{
Rpm,
Speed
};您的arduino代码可以是这样的:
if(Serial.available > 0)
{
byte Identifier = Serial.read();
switch(Identifier)
{
case Rpm:
//Read X Bytes and use the RPM Servo
break;
case Speed:
//Read X Bytes and use the Speed Servo
break;
default:
break;
}
}这个解决方案非常模块化。你可以很容易地改变和扩展这个想法。
https://stackoverflow.com/questions/37091643
复制相似问题