我建立它由一個Arduino的(宇野,此刻)鍾愛的項目,一個GPS(Sparkfun GS407)和GSM調制解調器(Sparkfun ADH8066)。這個想法是我可以短信調制解調器,並讓它回覆它的位置。的Arduino SoftwareSerial連接
問題是,當我同時擁有GPS和GSM模塊插入,串行通信開始變得凌亂。現在我有兩個想法,爲什麼會發生這種情況;
1)顯然,我使用串行通信時,需要一個良好的接地(僅使用9600波特率)。我是電子新手,所以我不確定我會如何改善我的工作。
2)我讀的地方(可能here)是SoftwareSerial只支持一組引腳發送/接收在任何一個時間的。這可能會證明問題,如果GPS正在噴出大量的數據,就像他們一樣。
任何人都可以評論我看到奇怪的串行輸出的原因嗎?
謝謝。你能建議我可能使用的任何代碼嗎?我正在努力尋找有效的代碼,並且不會持續輪詢GSM調制解調器(通過串行)獲取新的SMS消息。 – mabnz
理想的解決方案是設置軟件串行,以便當GSM調制解調器發送一個終止字符(指示一條線路已發送)時,軟件串行中斷將自動調用某個要調用的函數來處理該更新。這將消除你需要不斷地提供()和read()。但是,您需要修改庫才能這樣做,但這可能並不困難。在庫中會有一箇中斷服務程序(ISR)編碼,所以你可以編輯它並說明讀取的字節是否是終止字符(\ 0或空終止符),運行X函數。 – user2461391