程式技巧#2



  • 如何在兩張或多張圖片之間切換?



  • 嗯嗯,感謝版主非常詳細的解說!


  • wbo

    @eddy-paung

    如果每一張圖都是一個放在Flash(progmem)裡的陣列資料,就直接顯示不同的陣列資料即可。

    如果有啟用 Spiffs 檔案系統,可以做成圖片檔案,再將檔案資料讀進RAM記憶體陣列,顯示出來。

    也就是說,切換圖片需要利用顯示函數讀取不同的圖片陣列資料(array pointer),直接重畫一次就是了。

    一個 Arduino 程式裡,可以有很多張圖片,一般的 Partition 設定會將 Arduino 程式限制在 1MB 範圍內,WiFiBoy32 剩餘的 3MB 會預留給 Spiffs 檔案系統或空中更新(OTA)空間。因此一個程式大約使用300~400KB,還有數百KB的程式空間(progmem)可以存放圖片或資料,這已經可以放上好幾張圖。如果想要利用剩餘的 3MB 空間,可以加大程式的 Partition size,或是建立一個 Spiffs 檔案系統,作為資料存取的空間。

    關於這個如何充分利用WiFiBoy32完整4MB Flash空間的程式技巧,在2018年開始,會由 WiFiBoy.Club 技術服務團隊,開闢一個會員專屬的「WiFiBoy32徹底研究」專欄,提供各式各樣進階的程式技巧與專案實作介紹。敬請期待!


Log in to reply
 

Looks like your connection to WiFiBoy.Club was lost, please wait while we try to reconnect.