2014-02-12 130 views
0

我已经编写了一个Arduino程序,它读取一些模拟信号并在它从主计算机接收命令时将它们发送到计算机。我想知道为什么这在它打算运行的计算机上不起作用。在我自己的电脑上,它运行良好。从Arduino读取串行数据失败

我在Arduino上传了一个简单的测试代码。

void setup() { 
    Serial.begin(9600); 
} 

void loop() { 
    if(Serial.available()) { 
     Serial.println(Serial.read()); 
    } 
} 

这也不会在第二台计算机上运行。当我使用Arduino串行监视器传输数据时,我看到RX指示灯闪烁,但不是TX。随着电脑的工作,我可以看到两个LED都闪烁。 Arduino在两台电脑上收到数据,但第二台电脑没有收到Arduino的回应。什么可能是错的?

编辑。我忘了Arduino连接到有问题的PC几分钟,然后再次尝试。然后它工作!似乎需要一些时间来热身。为什么?

回答

0

有时,Arduino和计算机可能需要一秒钟才能建立串行握手,尤其是在9600波特率时。我很高兴你能工作!

+1

花费的时间可能接近40秒。 – MikkoP

+0

@MikkoP它的行为总是?我试图连接Arduino和我的应用程序,这需要花费很多时间。我说的是1分钟左右,您是否找到了缩短这一时间的解决方案,或者只能通过机器的软件和硬件解决? – Robert

+0

@Robert很遗憾,我无法让它工作得更快。虽然现在还没玩过一年多,但可能会有解决方案或其他方面的问题。 – MikkoP