Changes between Version 12 and Version 13 of KanjiROM
- Timestamp:
- Oct 18, 2015 11:47:47 PM (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
KanjiROM
v12 v13 13 13 14 14 === 1.全角文字 === 15 15 16 1文字あたり32byteの容量を持ちます。[[BR]] 16 17 JIS X 0208の第一水準及び第二水準の漢字に対応しています。[[BR]] 17 18 JIS X 0208に含まれない、いわゆる機種依存文字(全角1文字の「メートル」やローマ数字などの表外字)も収録されていますが、[[BR]] 18 独自のアドレスに配置されているようでJISコードと同じ変換プログラムではうまく任意の文字を読み出せませんでした。19 独自のアドレスに配置されているようでJISコードと同じ変換プログラムではうまく任意の文字を読み出せませんでした。 19 20 20 21 ||番号||アドレス(10進数)||内容||説明|| … … 35 36 ||7998||255936||(空白)||↓|| 36 37 37 ====アドレスの計算式==== 38 メーカーPDFより抜粋です。一部記載ミスと思われる点を変更しています。(138463->138464)[[BR]] 39 JIS X 0208の区をMSB、点をLSBとしたときのアドレスを求めています。[[BR]] 40 アドレスは最大18bitになるので、変数の宣言は32bitで行うほうが安全です。(Arduinoのintは16bit)[[BR]] 41 42 {{{ 38 39 ==== アドレスの計算式 ==== 40 41 メーカーPDFより抜粋です。一部記載ミスと思われる点を変更しています。(138463->138464)[[BR]] 42 JIS X 0208の区をMSB、点をLSBとしたときのアドレスを求めています。[[BR]] 43 アドレスは最大18bitになるので、変数の宣言は32bitで行うほうが安全です。(Arduinoのintは16bit)[[BR]] 44 45 {{{ 43 46 if(MSB >=1 && MSB <= 15 && LSB >=1 && LSB <= 94) 44 47 Address =( (MSB - 1) * 94 + (LSB - 01))*32; … … 54 57 55 58 === 2.半角文字 === 59 56 60 一文字あたり16byteの容量を持ちます。[[BR]] 57 61 独自の配列(?)で半角ひらがなと半角カタカナに対応しています。[[BR]] … … 70 74 ||261||261680||)||↓|| 71 75 72 ====アドレスの計算式==== 76 ==== アドレスの計算式 ==== 77 73 78 メーカーpdfより抜粋です。ASCIIコードを与えるとアドレスを返します。[BR]] 74 79 … … 96 101 こちらに記録されているアルファベットはサンセリフです。(ASCII互換の部分はセリフ体)[[BR]] 97 102 98 ||0||1||2||3||4||5||6||7||8||9|| ^||_||:||;||,||.||103 ||0||1||2||3||4||5||6||7||8||9||^||_||:||;||,||.|| 99 104 ||ー||ア||イ||ウ||エ||オ||カ||キ||ク||ケ||コ||サ||シ||ス||セ||ソ|| 100 105 ||空||タ||チ||ツ||テ||ト||ナ||ニ||ヌ||ネ||ノ||ハ||ヒ||フ||ヘ||ホ|| … … 112 117 本製品におけるSPI通信では、MODE0またはMODE3に対応しています。[[BR]] 113 118 動作速度は最大30MHzです。[[BR]] 114 1.SPI通信で0x03を書き込みます。[[BR]] 115 これによりROMがデータ読み出しモードになります。 119 120 121 1.SPI通信で0x03を書き込みます。[[BR]]これによりROMがデータ読み出しモードになります。[[BR]] 116 122 2.SPI通信でデータを読みたいアドレスを8bit*3回で送ります。最下位ビット詰めです。[[BR]] 117 3.送ったデータにしたがってダミーデータ0x00を16回又は32回送ります。この時に受信されるデータがROMの内容です。[[BR]] 118 最初に書き込んだ0x03のモードでの説明です。0x0Bを書き込んだ際の「高速読み出しモード」ではこの通りではありません。 123 3.送ったデータにしたがってダミーデータ0x00を16回又は32回送ります。この時に受信されるデータがROMの内容です。[[BR]]最初に書き込んだ0x03のモードでの説明です。0x0Bを書き込んだ際の「高速読み出しモード」ではこの通りではありません。 119 124 120 125 121 126 == 受信内容 == 122 127 123 半角または全角によって受信するデータのサイズが違います。半角は16 byte、全角は32byteです。[[BR]]128 半角または全角によって受信するデータのサイズが違います。半角は16Byte、全角は32Byteです。[[BR]] 124 129 どちらも少し変わった配列になっていますので、表示先によって一工夫必要になります。[[BR]] 130 131 === 全角文字 === 132 133 左上から縦に8ドット(=1Byte分)ずつ送られてきます。[[BR]] 134 今回のサンプルプログラムでは、「送られてきた1~16Byte目のLSBから順に表示→17~32Byte目のLSBから順に表示」としています。[[BR]] 135 [[Image(16x16.png)]] 136 [[BR]] 125 137 138 === 半角文字 === 139 140 左上から縦に8ドット(=1Byte分)ずつ送られてきます。[[BR]] 141 今回のサンプルプログラムでは、「送られてきた1~8Byte目のLSBから順に表示→9~16Byte目のLSBから順に表示」としています。[[BR]] 142 [[Image(16x8.png)]] 143 [[BR]] 126 144 ---- 127 145 128 146 == サンプルプログラム == 147 129 148 Arduino IDE のシリアルモニタから送った日本語を、 130 149 ROMから読みだしてシリアルモニタに返すプログラムです。 131 150 半角カナには対応していません。 151 [attachment:sample.zip] 132 152 {{{ 133 153 /* GT20L16J1Y用サンプルプログラム … … 394 414 [[Image(sample2.png)]] 395 415 396 397 ===付録=== 398 mbedのページ[https://developer.mbed.org/components/GT20L16J16Y-Japanese-font-ROM/ http://developer.mbeet.prg/...] 416 ==== Sample3 ==== 417 418 ASCII準拠の部分に収録されている「K」と、表2で示されるアドレスの「K」の表示の違いです。[[BR]] 419 [[Image(diff_kk.png)]] 420 421 422 === 付録 === 423 424 mbed - Components[https://developer.mbed.org/components/GT20L16J16Y-Japanese-font-ROM/ https://developer.mbed.org/...]