我希望使用 python 通过串行连接将不同的数据类型发送到我的 arduino。我已经设法通过串行线路发送简单的数据,例如字符串,并解析我的arduino代码中的数据,但现在我想发送类似于包含两个整数和一个字符串的结构的内容。
我想我应该构建我想要作为字符串发送的数据,将它们与分隔符标记连接起来,然后在我的arduino代码中解析这个长字符串。这是一次发送更多数据类型的常用方法,还是单独发送变量更好?
最佳答案
是的,总是存在丢失字节的风险。
但是你如何做到这一点完全取决于你发送的数据类型。例如,如果您发送的值在 0 到 255 之间,您可以将该值作为一个字节发送。
另一方面,如果您要发送多个值和/或字符串,则最好使用 ASCII 表中的控制字符来标记序列的开始以及值的分隔和标识。例如
STX“value_id1”US“值”RS“value_id2”US“值”...ETX
如果值的完整性非常重要,您可以计算校验和“CRC”以随消息一起发送,以便接收者可以检查错误。
关于python - 如果我想通过串口向arduino发送数据,我应该一次发送一个长字符串,还是单独发送每个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59794478/