PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
ASM
[問題] 晶片address計算錯誤
作者:
smartjay
(高毛毛)
2013-12-21 00:53:23
小弟之前上篇問過SPI晶片使用方式,
在英文方面已經可以正確獲得SPI傳回的資料。
參考GT21L16T1W 的說明要實做big5漢字的點陣,
傳址的正確位置算不出來,主要看不懂部分在程倒數第二行如下
Index = Big5Table[Big5Index*2] * 256 + Big5Table[Big5Index*2+1];
請有經驗的板友提供意見,謝謝
以下為datasheet提供的計算方式
參數說明:
FontCode表示漢字內碼。
MSB 表示漢字內碼FontCode的高8bits。
LSB 表示漢字內碼FontCode的低8bits。
Address 表示汉字点阵在芯片中的字节地址。
BaseAdd:说明点阵数据在字库芯片中的起始地址。
Big5Table:表示BIG5 索引表。表的起始地址为 0x62410
Big5Index:表示该内码汉字在BIG5 索引表中的序号。由该序号可查BIG5 索引表得出汉
字在字库中的序
号
Index:表示该字符在字库中的序号。
計算方法:BaseAdd=0x00;
if(MSB >=0xA1 && MSB <= 0XC6)
{
if(LSB >=0x40 && LSB <= 0X7E)
Big5Index =(MSB - 0xA1) * 157 + (LSB - 0x40);
else if(LSB >=0XA1 && LSB <= 0XFE)
Big5Index =(MSB - 0xA1) * 157 + 63 + (LSB - 0xA1));
}
Index = Big5Table[Big5Index*2] * 256 + Big5Table[Big5Index*2+1];
Address =Index * 32 + BaseAdd;
而小弟照著參考資料用以下方式實做
long BaseAdd=0x00;
long Address=0x00;
long big5table=0x062410;
long Big5Index=0x00;
long index=0x00;
if(MSB >= 0xA1 && MSB <= 0xC6) {
if(LSB >= 0x40 && LSB <= 0x7E){
Big5Index=( MSB -0xA1 )*157+(LSB-0x40);
}else if(LSB >= 0xA1 && LSB <= 0xFE){
Big5Index=( MSB -0xA1 )*157+63+(LSB-0xA1);
}
};
index=(big5table+Big5Index*2)*256+big5table+(Big5Index*2+1);
Address=index*32+BaseAdd;
作者:
saxontai
(黑暗,點綴孤零零的星)
2013-02-21 22:44:00
hint: a * 256 跟 a << 8 等效
作者:
smartjay
(高毛毛)
2013-02-22 21:08:00
板友謝謝,這hint我還是沒辦法體會。index=(big5table+Big5Index*2)<<8+big5table....無效我的問題點在於我並不知道陣列的資料大小,所以不會計算
作者:
saxontai
(黑暗,點綴孤零零的星)
2013-02-23 10:17:00
我是提示你,你看不懂的那行程式是在做把兩個1byte的資料湊成一個2byte的index值,例如0x12跟0x34變成0x1234這樣另外我概略看了一下爛爛大五碼的編碼規則後發現,datasheet中給的範例程式應該有誤。建議你補充一下Big5編碼規則的相關知識。EX:
http://goo.gl/cImj5F
查了一下這顆字庫IC的出品公司GENITOP,中文叫「高通」XD成立時間(1983)還比Qualcomm(1985)早...WTF... XDDDD
作者:
smartjay
(高毛毛)
2013-02-23 14:01:00
了解,感謝,寫給這家公司也沒回覆。
繼續閱讀
[問題] MSP430亂數疑問~
fmdjyl
Re: [問題] 關於LM4F通訊問題
morewatertw
[問題] 台北哪邊有在教8051單晶片謝謝
ptt3068
[問題] 關於LM4F通訊問題
lovecity
[問題] PID控制的程式,執行時間太長,如何加速?
deo2000
[問題] 請問Keil c 8051 轉型問題
m9021200
[問題] PIC 人體干擾誤動作問題
wayne30349
[問題] Arduino SPI 使用語法的問題
escorpion
[問題] 嵌入式系統何時要用到OS?
qeagle
[問題] 晶片SPI調整及處理器BIG5字碼處理
smartjay
Links
booklink
Contact Us: admin [ a t ] ucptt.com