0
私は、Pythonがいくつかの情報を送信している限り、pythonコードによってarduinoに送信される情報に基づいて、LEDを点滅/消すサンプルコードを書いています。コードはいつか実行され、ある時点の後にはうまくクラッシュし、このエラーが発生します。このエラーは何ですか?なぜこれが発生しますか?writeTimeoutErrorのためにPythonでコードがクラッシュするのを防ぐには?
File "C:\PYTHON~1\lib\site-packages\serial\serialwin32.py", line 261, in write
raise writeTimeoutError
serial.serialutil.SerialTimeoutException: Write timeout'
Pythonコード:
def glow_the_LED(set_accepted_list,set_list_ant_id,set_forbidden_list):
if ((len(set_accepted_list & set_list_new_id)) >0 & ((set_forbidden_list & set_accepted_list) == set())) :
print"yes,bright the LED"
use_LED(1)
else:
print"no,dim the LED"
use_LED(0)
set_for_comparison = set(set_accepted_list & set_list_new_id)
return set_for_comparison
def establishing_connection(): #for establishing connection
x = ser.read();
last_action = -1
def use_LED(activate):
global last_action
global serial
if(last_action != activate):
ser.write(activate)
print "should open door -> " + str(activate)
last_action = activate
Arduinoのコード:
bool lastAction = true;
void setup() {
Serial.begin(38400);
while(!Serial){}//wait until the serial port is connected
Serial.write('1');
pinMode(10 ,OUTPUT);
}
void loop() {
if(Serial && Serial.available())
handleData();
}
delay(50);
}
void handleData()
{
char a = Serial.read();
if(a == 'e')
{
Serial.end();
}
else
{
digitalWrite(10,lastAction);
lastAction =! lastAction;
}
Serial.write('1');//ack
Serial.flush();
}
私はすべての関数を呼び出し、正しくarduinoのとPythonとの間の接続を設定します。コードも正常に動作しますが、後で上記のエラーでクラッシュします。
@ JLH情報が追加されました。 –
私はボーレートで再生しようとし、writeTimeoutを設定しました。それは助けにはならない。 –