[問題] 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