2014-02-05 181 views
0

我們有一個項目,我們使用Arduino Mega 2560進行數據記錄。 arduino週期性地發送 (2s週期)包含不同傳感器值的字符串。在PC(Windows 7和Windows XP)上,我們使用logview 進行可視化(www.logview.info /),這對我們的目的非常有效。 的日誌查看該的StringFormat 這裏描述:http://www.logview.info/cms/d_formatbeschreibung.phtml通信Arduino Mega 2560到PC故障/掛斷

我們的問題是,日誌查看從時間掛斷時間。串行日誌記錄停止,並且logview不能再打開COM-Port 。唯一的解決方案是拔下並重新連接USB電纜。不幸的是,這個 不適合我們。

什麼我們到目前爲止已經試過:

  • 我們刪除所有傳感器/從Arduino的兆2560演員和只發送虛弦在USB - >日誌查看還是掛斷
  • 我們降低波特率 - >看起來,該設備不會經常掛斷(但仍然掛斷)
  • 我們使用了較短的USB電纜 - >它似乎是,設備不會經常掛斷(但仍然掛斷)
  • 我們在PC上使用一個簡單的PC程序將串行數據寫入文件(而不是logview ) - >也掛斷
  • 我們從Arduino連接了另一個arduino UsART/USB轉換器到第二個USART,並通過兩個UARTS發送了相同的字符串。在PC上,我們觀看了兩個端口與logview和膩子 - >都掛起來了

你有什麼想法嗎?我們認爲,這可能是

  • 問題與地面
  • 與Windows的問題

問候

回答

0

嘗試計算的區別,錯誤在你的波特率在兩個系統上,PC和Arduino的。也許錯誤是高和集成controll函數返回一個失敗狀態,並讓程序崩潰

+0

我如何測量diffence-error?用示波器的UART信號? – user250984

+0

你不能測量它,你必須計算它。試試這個:BAUD = F_CPU /(16 *(UBBRn + 1)) 如果差值大於5%,則必須選擇另一個波特率 –