[问题] python到Arduino之间的字串格式转换

楼主: st40182 (天羽)   2019-01-11 19:32:26
大家好
最近在学习这个部分
但是字串之间的转换搞得有点头痛QQ
程式目的是这样的
在Python上设一个变量 start = 0
之后透过USB传到给Arduino后读取并 + 1 (现在start=1)
接着在把Start的值回传回Python
Python读取到后再+1 (现在start=2)
之后再回传回Arduino
以上这段动作进行循环
程式码的部分是这样:
Python部分:
import time
import serial
arduino = serial.Serial('COM6', 115200, timeout=.1)
time.sleep(1)
start=b"0"
while True:
arduino.write(start)
data = arduino.readline()
if data:
print (data.rstrip(b'\n'))
start=start+1
==========
Arduino部分:
void setup() {
Serial.begin(115200);
}
void loop() {
while (1){
if(Serial.available() > 0) {
char data = Serial.read();
data=data+1;
Serial.print(data);
}
}
}
========
功能的话应该是对的
只是问题在字串的格式转换
想请问应该要怎么写比较好QQ
作者: kenduest (小州)   2019-01-12 14:34:00
所以是卡在 byte 转一般字串部分不清楚还是就一般的转换而已啊... start.encode() 就是 bytes 格式抱歉上面说错。一般字串可以用 .encode() 转成 bytesbytes 后续你可以用 .decode() 转成一般字串若你要累加这类,数字转字串然后转 bytes 就是你要的
楼主: st40182 (天羽)   2019-01-13 10:16:00
谢谢 我再试试看!

Links booklink

Contact Us: admin [ a t ] ucptt.com