Linkit Smart 7688 Duo 初嘗試

剛剛入手聯發科的 Linkit Smart 7688 Duo,按照這篇教學的步驟(也可以參考這份簡報),很快就設定完成,除了可以 用 SSH 連線進入編寫 Python,也可以用 Arduino IDE 透過 Wi-Fi 上傳程式。

幾個使用 7688 Duo 和 Arduino 的筆記:
  • 若欲變更 Device name: mylinkit,勿使用底線,否則會連不上。
  • 欲重設 7688 Duo 為出廠設定:按 WiFi 鈕 20 秒後放開,燈號閃爍就開始重設。
  • 若用 Arduino IDE 1.6.8 版時,連最基本範例程式 blink 都出現編譯錯誤、無法上傳的問題,就得修改 USBCore.cpp:
    • 路徑(Mac): /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/USBCore.cpp
    • Line 430: auto length = len; 改為 int length = len;
    • Line 435: auto recvLength = length; 改為 int recvLength = length;
  • Grove 的 OLED Display 128x64 迷你顯示器範例 OLED_Draw_Bitmap,在使用繪製點陣圖 drawBitmap() 函數時出現編譯錯誤:
    • 主因是點陣資料陣列 SeeedLogo[] 必須用常數形態 const 才可以儲存在快閃記憶體 PROGMEM 內,故將第5行
      static unsigned char SeeedLogo[] PROGMEM =
      改為
      const unsigned char SeeedLogo[] PROGMEM =
      即可。
    • 其次是 drawBitmap() 內無法自動將 const unsigned char* 轉為一般非常數形態,必須明確指定轉換的變數型態,把第81行
      SeeedOled.drawBitmap(SeeedLogo,1024);
      改為
      SeeedOled.drawBitmap((unsigned char*)SeeedLogo,1024);
      就可以正常編譯了。
    • 網路上找到的解決方法要改 OLED 函式庫定義,可能牽一髮動全身,不建議這麼做。

留言