|
发表于 2014-6-13 12:11:14
|
显示全部楼层
毛驴 发表于 2014-6-13 11:10
我试了一下,有作用但是只是还是只能得到78字节。能不能再看一下到底是哪儿出问题了String datasim = ""; ...
首先你要確定收到的 78 個 byte, 是否最前的 78 個.
Serial 接收的資料遺失, 有很多可能, 知道遺漏了的是那一部份, 會較容易猜想問題所在.
也可以試試在 最後再測試一下 Serial3.available(), 因為有可能是發送一方, 把資料分開發出, 當中如果有一定的空隙時, while (Serial3.available()) 就會斷開, 不能在一個loop 之內接收所有資料.
另外, 你原本用 char array 的方法, 比用 String 的好, 在 serial communization 上, 盡可能不要用 String class 吧. String class 會因為一些特別的字符而失掉資料, 使用時要小心.
除非資料的規格很清楚, 否則個人比較喜歡先用 byte array 比資料接收然後再處理. 要檢查接收到的資料, 用 hex (或 dec) 的數值, 比用 char 的好.
|
|