接續Part 1的部分,這次要講的是造字的部分,累了嗎?先看張圖吧。
下面二張圖裡,都有五維陣列,這是為什麼呢?
再來看一張圖
在charset.ccp當中,Hel這三個字被定義為
{ 0x7f, 0x08, 0x08, 0x08, 0x7f }, // 48 H { 0x38, 0x54, 0x54, 0x54, 0x18 }, // 65 e { 0x00, 0x41, 0x7f, 0x40, 0x00 }, // 6c l
看出什麼神奇的地方了嗎?
{ 0x7F, 0x08, 0x08, 0x08, 0x7F }={B01111111, B00001000, B00001000,B00001000,B0111111}
{ 0x38, 0x54, 0x54, 0x54, 0x18 }={B00111000, B01010100,B01010100,B01010100,B00011000}
{ 0x00, 0x41, 0x7F, 0x40, 0x00 }={B00000000, B01000001,B01111111,B01000000,B00000000}
簡單的說,B01111111從後面的位元往前畫,最後一個位元是每一個column中最上面那一格,用了print()函式的話,每個character都會自動加上黃色的這一欄。
所以也可以自己造字囉,HelloWorld.ino,這個檔當中,就有一個造字的範例了。
那....藍色那一列呢?基本上那一列也可以被使用者填滿,但是這樣就會跟下一列連在一起了,所以一般都是填0x7F,跟下一行區隔開來。
等等!!那我不要黃色這一欄行不行?可以的!!另外還有其他的繪圖函式,請待下回分曉。
全站熱搜
留言列表