Micro-LCD 届いたので使ってみた。 (hatayanlog)
Dontronics :: 4d-Micro-LCD Old
畑山さんにもらったDontronicsの小型LCDを動かしてみた。シリアル通信で液晶画面を制御できる。
uLCDの仕様では、色をrrrrrggggggbbbbbの計16bit(2byte)で赤緑青を表すようになっているので、2byteをmsb,lsbというそれぞれ1byteのデータに分け、シリアル通信で別々に送らなければならない。
緑が丁度真ん中で割られてしまう。しかもなぜか緑だけ6byte。
んでカラーコードの扱いが面倒臭かったので変換するコードを書いた(まだ試してない)
試した。やっぱりちょっと間違っていた。
変換用関数(avr-gcc)

char*colorToSb(char*color){
charsb[2];
//msb
sb[0]=(color[0]&0b11111)<<3//RED
+(color[1]&0b111000)>>3;//GREEN-A
//lsb
sb[1]=(color[1]&0b111)<<3//GREEN-B
+(color[2]&0b11111);//BLUE;
returnsb;
}
mainからはこう呼ぶ
charcolor[3]={0xFF,0xFF,0xFF};//RGB
char*sb;
sb=colorToSb(color);//msb,lsb取得
//msb=sb[0],lsb=sb[1]
RGBで分けて書けて良い感じ。(明日実機で試す)