我正在使用Arduino Nano与ODROID(单板计算机安装的Ubuntu 14.04)进行串行通信。 Arduino的代码:python-serial OSError:[Errno 11]资源暂时不可用
void setup() {
Serial.begin(9600); // set the baud rate
Serial.println("Ready"); // print "Ready" once
}
void loop() {
char inByte = ' ';
if(Serial.available()){ // only send data back if data has been sent
char inByte = Serial.read(); // read the incoming data
Serial.println(inByte);
}
delay(100); // delay for 1/10 of a second
}
中ODROID Python代码:
#!/usr/bin/env python
from time import sleep
import serial
ser = serial.Serial('/dev/LIDAR', 9600, timeout=1) # Establish the connection on a specific port
sleep(1)
print "Arduino is initialized"
counter = 32 # Below 32 everything in ASCII is gibberish
while True:
if (ser.inWaiting()>0):
counter +=1
ser.write(str(chr(counter))) # Convert the decimal number to ASCII then send it to the Arduino
print ser.readline() # Read the newest output from the Arduino
sleep(.1) # Delay for one tenth of a second
if counter == 255:
counter = 32
ser.close
回溯(最近过去):
File "./serial_test1.py", line 16, in <module>
print ser.readline() # Read the newest output from the Arduino
File "/usr/lib/python2.7/dis-package/serial/serialposix.py", line 43, in read
buf = os.read(self.fd, size-len(read))
OSError: [Errno 11]Resource temporarily unavailable
然后,我有这个问题后打印一些值,我知道这个问题目前可能没有数据可用。但我怎样才能找出这个问题。谢谢你的帮助。
请提供整个堆栈跟踪 –
hi @ Mr.E,我正在更新堆栈跟踪,请给我一些建议。谢谢 – crazymumu