|
|
发表于 2015-2-10 09:23:13
|
显示全部楼层
greeng 发表于 2015-2-9 23:50 
64k种颜色是16bit的的,我用的是UNO,所以没有这么大的ram,请问你说的分段载人的方式有相似程序可以参考 ...
分段載入要跟據你本身的圖像格式去做. 如果是自己儲存的, 可以順隨畫面的編排記錄.
簡單而言, 就把圖像當成文字, 一行一行的記下去, 之後一行行的讀出來.
每讀出一行, 就顯示出來, 之後再讀取下一行, 那就只需要足夠儲存一行文字的記憶體作 buffer.
如果你沒寫過庫, 自己寫的話, 不是你想像中的容易, 特別是硬件的庫.
首先你要看慬硬件的資料, 每個步驟要發送什麼東西.
而硬件的通訊, 很多是只 bit 作單位的, 當中的運算比較複雜.
就以單色的顥示為例, 一次輸出一個 byte 的 8 個點, 可能是打直的 8 點.
當你要畫出一點時, 就要取回之前的 8 個點作 OR 的運算.
當然, 64K color 可能會簡單一點, 因為一個點就要 2個 byte 了, 不會跟其他點合拼.
只需要展示圖片可能會簡單一點, 只需一點一點的設定.
而且, 寫顯屏的庫, 還要考慮記憶體的問題.
單是 128x64 的單色庫, 如果要可以隨意畫線, 就要有 1KB 作 buffer 把畫面記下來了.
但我只做過 1106/1306 的庫, 都是單色的, 沒做過彩屏的庫, 不太肯定是否可以簡單一點.
不過, 既然你對分段載入的做法也不了解, 相信要寫一個彩屏的庫, 需要很大的努力. |
|