这是一个帮助我开始学习课程的问题。以下是设置:我从赛车游戏中提取数据,我想用这些数据来启动插入我的Arduino Uno的2个伺服电机。一个伺服是RPM,另一个是Speed。
信息由PC上运行的程序通过串口发送到Arduino,我想知道您是否有任何关于如何“分离”这两种不同信息的见解或提示,以便Arduino可以识别它们中的每一个并在正确的伺服电机上使用它。
这不是一个帮助我处理特定代码的问题,我正在寻找一些通常用于识别和分离不同数据包的方法。
谢谢!
答案 0 :(得分:0)
一种简单的方法可以是使用标识字节。因此,数据帧首先始终具有标识符字节。您可以在枚举中定义标识符,如下所示:
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;
}
}
此解决方案非常模块化。您可以非常轻松地更改和扩展此解决方案。