2014-02-12 179 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