接續Part 1的部分,這次要講的是造字的部分,累了嗎?先看張圖吧。

下面二張圖裡,都有五維陣列,這是為什麼呢?

螢幕截圖 2014-08-08 01.16.02  

螢幕截圖 2014-08-08 01.19.27  

再來看一張圖

螢幕截圖 2014-08-08 01.45.40  

在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,跟下一行區隔開來。

等等!!那我不要黃色這一欄行不行?可以的!!另外還有其他的繪圖函式,請待下回分曉。

arrow
arrow
    全站熱搜

    qmaw 發表在 痞客邦 留言(0) 人氣()