好吧,我正在尝试使用一个Python脚本与一个Arduino Uno通信。基本上这个问题与this相同,其中的解决方案是添加一个时间。睡觉(xx)(对我没用)。在
我在Archlinux(截至2014年1月26日)和osx10.9.1上都尝试过,结果都是一样的,都是在python3.3.3上。在
但是(!),如果我在打开Arduino监视器时运行.py,或者在ipython/python控制台上运行相同的命令,或者在运行(pdb)时,代码运行得很好(!?!?)。。。在
这是我的。伊诺:
char incomingByte;
const int comDelay = 200;
int count;
const int led = 3;
void imHere(int led, int time, int blinks){ // blink led for bug control
for (count = 1; count <= blinks; count++){
digitalWrite(led, HIGH);
delay(time);
digitalWrite(led, LOW);
delay(time);
}
}
void setup(){
Serial.begin(9600);
pinMode(led, OUTPUT);
}
void loop(){
if( Serial.available() > 0){
incomingByte = Serial.read();
delay(comDelay);
switch (incomingByte){
case 't': // -t | 'test': communication test flag
imHere(led, 500, 2); // incomingByte received witness
Serial.print('0');
imHere(led, 50, 10); // response sent witness
//Serial.flush();
break;
default:
imHere(led, 1500, 1); // communication error witness
Serial.print('-1');
break; // error?
}
}
}
这是我的
^{pr2}$基本上,.py发送一个't',.ino接收它并返回一个'0'。在
尝试在串行端口打开后添加延迟。在数据输入/输出时,可能尚未完全准备就绪。为了安全起见,在两个平台上进行!在
基本睡眠/延迟:
以及
^{pr2}$相关问题 更多 >
编程相关推荐