(論理編)全角半角混在16ビット漢字キャラクタージェネレータ(ST7735S)(Arduino UNO)


過去ログをみよ


いきなりファイナル

半角/全角フラグ2は、
0=16ビット漢字の上位8ビット ((フォントの文字のドット列)<<0) AND 0xFF00
8=16ビット漢字の下位8ビット ((フォントの文字のドット列)<<8) AND 0xFF00
16=非表示
半角/全角属性RAMに事前に格納
キャラクターRAMは、一文字当たり16ビット
全角は、同じコードが2個はいる　(事前に格納)

オンラインコンパイラ


```c++



//漢字ROM
int ch_data7[16 * 7] = {
0x0000, 0x0000, 0x3800, 0x4400, 0xa200, 0xa200, 0x9200, 0x9200, 
0x9200, 0x8a00, 0x8a00, 0x4400, 0x3800, 0x0000, 0x0000, 0x0000, //0
0x0000, 0x0000, 0x1000, 0x3000, 0x5000, 0x1000, 0x1000, 0x1000, 
0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0000, 0x0000, 0x0000, //1
0x0000, 0x0000, 0x3800, 0x4400, 0x8200, 0x8200, 0x0200, 0x0400, 
0x0800, 0x1000, 0x2000, 0xc000, 0xfe00, 0x0000, 0x0000, 0x0000, //2
0x0000, 0x43f8, 0x2208, 0x13f8, 0x4208, 0x23f8, 0x1000, 0x0000, 
0x13f8, 0x12a8, 0x22a8, 0x22a8, 0x22a8, 0x42a8, 0x47fc, 0x0000,//温 (3)
0x0080, 0x1ffc, 0x1000, 0x1220, 0x2ff8, 0x2220, 0x23e0, 0x2000, 
0x2ffc, 0x2410, 0x4360, 0x4080, 0x4160, 0x4618, 0x0806, 0x0000 //度 (4)
};

int st_p[3][8] = {
    {'3', '3', '4', '4', '2', '1', },
    {' ', ' ', ' ', ' ', ' ', ' '  }
};

int hz_p[3][8] = {
    {0, 8, 0, 8, 0, 0, },
    {0, 0, 0, 0, 0, 0  }
};

#include <iostream>
using namespace std;
int main(void){
    // Your code here!
    printf("\nSTART\n\n");
    int a;int ch;
    for(int y=0;y<16;y++){
        for(int x=0;x<(8*6);x++){
        
        ch = st_p[y >> 4][x >> 3] - '0';
        a = (ch_data7[ (y & 0x0f ) + (ch * 16) ] << ( x & 0x07) ) ;
        a = a << hz_p[y >> 4][x >> 3];
        a = a & 0x8000;
        a = a >> 15;
        printf("%d ",a);
        
        }//for x
        printf("\n");
    }//for y
    
}//main

```

```c++


START

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 
0 0 0 1 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 
0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 
0 0 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 
0 0 0 1 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 
0 0 0 1 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 
0 0 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 
0 0 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 
0 0 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 
0 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 






```