Arduino 等待来自 Python 的串行数据

我是 Arduino 的新手,我正在尝试制作游戏。我正在使用 Python 将串行数据发送到 Arduino。我想让 Arduino 等到它收到来自 Python 的串行数据。

我的问题是:

  • 为什么 Arduino 程序不能处理来自 Python 的串行数据,但它可以处理来自串行监视器的数据?

  • 如何让程序使用 Python 中的数据?(等到 Python 串行数据,然后保存数据。)

Arduino代码:

int select;

void setup() {

  Serial.begin(9600);

  Serial.flush();

  while(!Serial.available()){

  }

  if(Serial.available()>0){

    select=Serial.read();

  }

}

void loop() {

  Serial.println(select);

  delay(500);


}

蟒蛇代码:


import serial

ser=serial.Serial('COM4',9600)

ser.write(b'1235')

ser.close()

解决了我没有得到串口数据的问题,但是又出现了一个新问题:


问题是,如果我获得串行数据,我的 Arduino 程序会跳回 while(!Serial.available()){} 循环,而不是进入 void 循环(){}。


海绵宝宝撒
浏览 194回答 2
2回答

至尊宝的传说

带有ser=serial.Serial('COM4',9600)重置 Arduino 的新 USB 连接。由于 Arduino 启动,连接后立即发送的数据丢失。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python