我希望通过使用python的串行连接将不同的数据类型发送到arduino。我已经设法通过串行线路发送了诸如字符串之类的简单数据,并解析了我的arduino代码中的数据,但是现在我想发送类似于包含两个整数和一个字符串的结构的东西。
我当时想我应该只构建要作为字符串发送的数据,将它们与分隔符令牌连接起来,然后在arduino代码中解析此长字符串。这是一次发送更多数据类型的常用方法,还是单独发送变量更好?
答案 0 :(得分:1)
是的,总是有丢失字节的风险。
但是您的操作方式完全取决于您要发送的数据类型。例如,如果您要发送的值介于0到255之间,则可以将其作为一个字节发送。
另一方面,如果您要发送多个值和/或字符串,则使用ASCII表中的控制字符标记序列的开始以及值的分隔和标识是一个好习惯。例如
STX "value_id1" US "value" RS "value_id2" US "value" ... ETX
如果值的完整性非常重要,则可以计算校验和“ CRC”以随消息一起发送,以便接收方可以检查错误。