python串口发送多字节数据_pySerial发送和接收多个数据

本文介绍了如何使用Python的pySerial库向串口发送多字节数据,并在Arduino端进行接收和处理。通过利用换行符作为分隔符,可以方便地读取和解析字符串。同时,文章还展示了如何将数字转换为字符串进行传输,并在Arduino端将接收到的字符串转换回数值。对于结构化的二进制数据,Python提供了struct模块进行处理,而Arduino则需要手动处理字节序。
摘要由CSDN通过智能技术生成

如果要传输文本,最简单的方法是选择一些字符来分隔单个字符串,它可以是\n(换行符)、逗号或其他任何字符。在ser = serial.Serial ("COM4", 9600)

ser.write(b"some string\n")

ser.write(b"some other string\n")

在python中阅读文本如下所示:

^{pr2}$

在arduino上,您将阅读如下字符串(原始示例):char buf[64];

int bufIdx = 0;

while(Serial.peek() != '\n') { // Continue till the end of line

if(Serial.peek() != -1) { // If no char arrived in this loop, skip.

buf[bufIdx] = Serial.read();

bufIdx = (bufIdx + 1) % 64; // Wrap around, so it will not go crazy string too long

}

}

buf[bufIdx] = '\0'; // End of string char

或者,如果您不介意在Arduino上使用字符串(您很可能不介意),那么最好使用readStringUntil函数:string str1 = Serial.readStringUntil('\n');

string str2 = Serial.readStringUntil('\n');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值