[問題] Arduino 兩塊板子傳送感測值

作者: highbr520 (工數煞到地平線)   2017-07-02 00:03:19
開發平台(Platform):
Win10
編譯器+目標環境:
Arduino
問題(Question):
各位先進大家好,第一次在這個版發文,請大家多多指教
小弟目前正使用兩塊Arduino做資料的溝通
傳輸資料的板子為Nano,接收資料的板子為Mega2560
我利用Arduino做感測器讀值的觀察與傳送
分別有電流、溫度、電壓感測器各兩個,總共六個感測器
並將得到的訊號使用陣列並以高位元組與低位元組做傳輸
例如,感測器的值在監控視窗的值為68,會得到0 1000100這樣
今天我想要把這樣的結果傳出去,在另外一塊板子接收,使用TX、RX的通訊並印出來觀看
照理來說應該在另一塊板子的監控視窗要印出我所傳的值
但是一直得到00這樣的結果,並不符合我的預期
預期的正確結果(Expected Output):
0 1000100
0 1000100
0 1000101
0 1000100
0 1000101
...
錯誤結果(Wrong Output):
00
00
00
00
00
...
程式碼(Code):
Nano(傳輸):
http://ideone.com/uURGea
Mega2560(接收):
http://ideone.com/rvYn51
這是我的程式碼,還煩請各位先進指教
補充說明(Supplement):
程式稍微冗長了點,我是初學者,如果有什麼不好的地方請跟我說
我很樂意學習,學習如何將自己的程式更精簡,更精進
我是使用Nano的Serial與Mega2560的Serial1溝通,Mega2560的Serial印出接收值
我不曉得哪裡出了問題,我不太會寫程式,所以找了很多範例參考
也查了蠻多資料,我有在想是不是陣列的使用出了問題
可是上網爬文找關鍵字都沒有合適的,或許是我的搜尋方法不對
如果有人願意幫我看看問題,我會很感激,程式碼註解也都有寫,希望你們能看懂
第一次在這裡發文,還請各位多多指教,真的非常感謝!!
啊啊抱歉,送出文章才發現,傳輸程式loop裡的transmit前面的//是測試用沒修改到
作者: GoIt (凍物。)   2017-07-02 11:11:00
先單獨測試Tx功能是否正常(serial monitor),再來單獨測試Rx,然後檢查兩塊板子TX/RX是否對接。我發現接收程式的buff寫法有問題
作者: highbr520 (工數煞到地平線)   2017-07-02 20:00:00
謝謝大大回覆 我有寄站內信給您 不知道能不能聽聽您意見 謝謝!
作者: JFLung9536 (立月小蛇)   2017-07-08 10:23:00
讀寫都有問題

Links booklink

Contact Us: admin [ a t ] ucptt.com