新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 伽利略開發(fā)板和BeeMail(四):程序庫的妙用

伽利略開發(fā)板和BeeMail(四):程序庫的妙用

作者:EEPW編譯 時間:2014-11-28 來源:電子產品世界 收藏


      圖注:帶WiFi標簽的Arduino窗口

本文引用地址:http://m.butianyuan.cn/article/266133.htm

  WiFi全面測試草圖

  這個完全獨立的草圖腳本被用于測試WiFi功能。有關板卡的所有信息以及本地連接都會顯示出來,同時測試能否調用Arduino網(wǎng)站的純文本頁面。如果頁面不存在,那么下一步便測試能否連接到google.com并返回有關“Arduino”的搜索結果。

  SD Card

  排除SD卡故障其實不是我檢驗WiFi之后完成的。我只檢驗排除了Python部分,準確地說,檢查是否獲取到所需數(shù)據(jù)。重要的是過程本身。然而排查Python對代碼部分于事無補。所以我將注意力放在了SD卡上。

  將SD下載到MacOS

  不幸的是MacOS板自主研制的Arduino IDE有一個漏洞,即使顯示已安裝,其中一些IDE還是無法調用。我不太清楚什么引起的Yocto / gcc snafu,但是看起來讀過Yocto上的這篇文章和linux.com中介紹的英特爾板,會有助于我排除故障。與此同時需要不斷修改,打開終端,引導至Java文件夾,加入符號鏈接。

  1. cd /Applications/ArduiG.app/Contents/Resources/Java

  2. ln -s . hardware/tools/x86/i586-poky-linux-uclibc/usr/include/c++/4.2.1

  解決嵌入式程序庫故障后,在Arduino Intel Galileo IDE v1.5.3里SD程序庫并未像所聲明的那樣高亮顯示關鍵字。

  Screen capture of the unhighlighted txt

  The SD card library does not highlight.

  圖注:非高亮顯示文檔的截圖

  SD卡程序庫未高亮顯示

  先不管那些。重點程序庫能夠編譯,代碼能正確運行就可以了。

  將SD卡功能拆成小塊,然后再逐一解決出現(xiàn)的問題。

  符號鏈接工作區(qū)的情況更糟糕。SD卡程序庫示例文件并未在示例文件夾里出現(xiàn)。但在Arduino網(wǎng)站的SD卡參考模塊卻能夠找到。

  像我之前借助于備忘錄一樣,我嘗試用示例文件逐一解決如下問題:

  ? SD卡是否初始化?

  ?Arduino草圖能否創(chuàng)建文件?

  ?Arduino草圖能否將目錄添加到文件?

  ?Arduino草圖能否讀文件?

  ?Arduino草圖能否刪除文件?

  板卡初始化代碼測試通過,但是在第二步里出現(xiàn)了問題:SparkFun輔助教程代碼拒絕系統(tǒng)訪問。這個問題不在Intel Galileo SD程序庫,而是在底層C打開外部文件命令中。由此導致任何試圖通過Arduino命令創(chuàng)建文件的辦法都行不通。于是我嘗試向一個原本不存在的文件中寫入數(shù)據(jù),卻導致Arduino進程崩潰,沒辦法只能重啟。如果按照那樣操作,“**B0100000063f694”的代碼就會出現(xiàn)。測試時我通過對Linux控制臺添加加密狗,以及手動創(chuàng)建文件建立一系列連接,這樣直接跳過了文件創(chuàng)建出現(xiàn)的問題。在下一篇文章里我會詳細說明。這一步讓我明白了測試文件也可以在計算機上創(chuàng)建并加入Intel Galileo SD卡的主目錄。

  Intel Galileo SD卡的主目錄


       圖注:帶以創(chuàng)建示例文件的Intel Galileo SD卡的主目錄

  與創(chuàng)建文件相反,另一個需要具有示例代碼那樣的功能。

  SD程序庫全局測試草圖

  為創(chuàng)建文件我確定了一個工作區(qū),以便我并入草圖,這樣其他技術人員也可以拿來用于測試。

  一定記住,SD程序庫和系統(tǒng)命令都要求用Arduino能執(zhí)行的C字符串編寫(或者次之,Arduino文件自帶的s字符串),而非像Java那樣靈活的面向對象的字符串()。下邊冗長的代碼顯示了如何實現(xiàn)其二者之間的譯碼并提示錯誤信息。


上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉