Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果我想通过串行向arduino发送数据,我应该立即发送一个长字符串,还是分别发送每个变量?_Python_Arduino - Fatal编程技术网

Python 如果我想通过串行向arduino发送数据,我应该立即发送一个长字符串,还是分别发送每个变量?

Python 如果我想通过串行向arduino发送数据,我应该立即发送一个长字符串,还是分别发送每个变量?,python,arduino,Python,Arduino,我希望通过使用python的串行连接向我的arduino发送不同的数据类型。我已经成功地通过串行线发送了一些简单的数据,比如字符串,并且在我的arduino代码中解析了这些数据,但是现在我想发送一些类似于包含两个整数和一个字符串的结构的数据 我想我应该只构建我想作为字符串发送的数据,用分隔符标记连接它们,然后在我的arduino代码中解析这个长字符串。这是一次发送更多数据类型的常用方法,还是单独发送变量更好 是的,总是有丢失字节的风险 但你如何做到这一点完全取决于你发送的数据类型。例如,如果要发

我希望通过使用python的串行连接向我的arduino发送不同的数据类型。我已经成功地通过串行线发送了一些简单的数据,比如字符串,并且在我的arduino代码中解析了这些数据,但是现在我想发送一些类似于包含两个整数和一个字符串的结构的数据


我想我应该只构建我想作为字符串发送的数据,用分隔符标记连接它们,然后在我的arduino代码中解析这个长字符串。这是一次发送更多数据类型的常用方法,还是单独发送变量更好

是的,总是有丢失字节的风险

但你如何做到这一点完全取决于你发送的数据类型。例如,如果要发送的值介于0和255之间,则可以将值作为一个字节发送

另一方面,如果要发送多个值和/或字符串,则最好使用ASCII表中的控制字符来标记序列的开头以及值的分隔和标识。例如

STX“价值”美国“价值”RS“价值”美国“价值”。。。ETX


如果值的完整性非常重要,您可以计算一个校验和“CRC”来发送消息,以便接收方可以检查错误。

这不会有任何区别,Arduino将无法知道是否有任何两个连续字节来自同一写入操作,或者两次单独写入。是否存在丢失通过串行方式发送的某些字节的风险?