|
发表于 2014-4-15 16:12:57
|
显示全部楼层
感謝樓主分享.
剛下載了測試, 改成了 Arduino 1.0.5 的, 但執行 Example 時出了 error: Entered scale was not valid, valid gauss values are: 0.88, 1.3, 1.9, 2.5, 4.0, 4.7, 5.6, 8.1
細看程式完全找不出問題, 打開庫的內文, 才發現有點地方好像出了問題.
在 HMC5883L::SetScale, 如提供的參數正確, 缺了一句 return 0;, 結果系統胡亂拿了一個數填進 error.
之後當成發生 error, 執行 GetErrorText.
但 GetErrorText 中, 檢測時把參數打錯了, 變成只會 return ErrorCode_1 (即上面的錯誤訊息). - char* HMC5883L::GetErrorText(int errorCode)
- {
- if(ErrorCode_1_Num == 1)
- return ErrorCode_1;
-
- return "Error not defined.";
- }
复制代码
(參數為 errorCode, 但檢測了常數 ErrorCode_1_Num==1 (原意應為 ErrorCode_1Num == errrorCode 吧).
看似不會影響程式進行, 但會誤導以為資料出錯, 希望樓主可以修正好. |
|