Python 3 在通过 Arduino 串行端口 (myserial) 读取数据时向字符串添加额外的标签
Python 3 adding extra tags to string while reading data over Arduino Serial Port (myserial)
我现在正在 运行 通过 30 集的 arduino 编程系列学习一些 python。就包模块而言,我正在关注的亚军 python 系列似乎有点过时了,我看到了一些原始视频中没有发生的奇怪语法事情 material.
本课的 objective 是让 Python 通过 Arduino 的串行端口读取字符串计数器。
Arduino 串口计数器(代码):
int cnt=0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
Serial.print("I am counting ");
Serial.print(cnt);
Serial.println(" Mississippi");
cnt=cnt+1;
delay(1000);
}
从PyCharm中的串口读取(代码):
import serial
arduinoSerialData = serial.Serial('com4', 9600)
while (1==1):
if (arduinoSerialData.inWaiting()>0):
myData = arduinoSerialData.readline()
print (myData)
最终结果:
b'I am counting 0 Mississippi\r\n'
b'I am counting 1 Mississippi\r\n'
b'I am counting 2 Mississippi\r\n'
b'I am counting 3 Mississippi\r\n'
b \r \n 标签是什么。为什么它会应用一些自动格式设置,例如 'string'?这不会发生在他的视频中。
此外,在 Python 方面,print (myData)
被格式化为没有 () 的 print myData
。否则它甚至不会编译,但在他的视频中运行良好。这些只是从 Python 2 更新到 Python 3 的语法变化吗?
\r
是回车符return,\n
是换行符
它们起源于
Serial.println(" Mississippi");
你的 arduino 代码行,注意 .println
与 print
有何不同
字符串前面的b
表示这是一个字节串,如果不是
print(myData)
你做
print(myData.decode())
你应该不会再看到它们了
回复:Arduino 草图:
“\r\n”分别是 return 和换行符。
因为你的arduino sketch使用'Serial.println'而不是'Serial.print',你有这些字符。
回复:Python
你是 运行 python 3,你的字节串是 return(b'字节串')。所以是的,您不 link 的教程使用 python 2.
我现在正在 运行 通过 30 集的 arduino 编程系列学习一些 python。就包模块而言,我正在关注的亚军 python 系列似乎有点过时了,我看到了一些原始视频中没有发生的奇怪语法事情 material.
本课的 objective 是让 Python 通过 Arduino 的串行端口读取字符串计数器。
Arduino 串口计数器(代码):
int cnt=0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
Serial.print("I am counting ");
Serial.print(cnt);
Serial.println(" Mississippi");
cnt=cnt+1;
delay(1000);
}
从PyCharm中的串口读取(代码):
import serial
arduinoSerialData = serial.Serial('com4', 9600)
while (1==1):
if (arduinoSerialData.inWaiting()>0):
myData = arduinoSerialData.readline()
print (myData)
最终结果:
b'I am counting 0 Mississippi\r\n'
b'I am counting 1 Mississippi\r\n'
b'I am counting 2 Mississippi\r\n'
b'I am counting 3 Mississippi\r\n'
b \r \n 标签是什么。为什么它会应用一些自动格式设置,例如 'string'?这不会发生在他的视频中。
此外,在 Python 方面,print (myData)
被格式化为没有 () 的 print myData
。否则它甚至不会编译,但在他的视频中运行良好。这些只是从 Python 2 更新到 Python 3 的语法变化吗?
\r
是回车符return,\n
是换行符
它们起源于
Serial.println(" Mississippi");
你的 arduino 代码行,注意 .println
与 print
字符串前面的b
表示这是一个字节串,如果不是
print(myData)
你做
print(myData.decode())
你应该不会再看到它们了
回复:Arduino 草图: “\r\n”分别是 return 和换行符。
因为你的arduino sketch使用'Serial.println'而不是'Serial.print',你有这些字符。
回复:Python 你是 运行 python 3,你的字节串是 return(b'字节串')。所以是的,您不 link 的教程使用 python 2.