このQ&Aは役に立ちましたか?
有機ELディスプレイへの画像表示
2023/12/17 19:04
PICマイコンを使って有機ELディスプレイに画像を表示しようとしています。そのサンプルプログラムの中で以下の記述があるのですが、何をしようとしているのか分かりません。
if((buff >> n) & 0x80 == 0x80){
(プログラムの全容は添付画像に載せさせていただきました)
buffを右シフトして0x80(10000000)との積をとっても0x80にしかならないと考えているのですが、何が間違っているのでしょうか。
拙い内容で申し訳ないのですが、ご教授いただけば幸いです。
※OKWAVEより補足:「技術の森( ソフトウェア)」についての質問です。
回答 (2件中 1~2件目)
このQ&Aは役に立ちましたか?
*imageのアドレスに入っているイメージデータは、8bitで8pixel分のデータになっている。
(多分、1でON、0でOFFのモノクロを想定)
対してディスプレイに表示させるデータ領域は、8bits(1byte)で1pixelになっている。
(多分0xFFで白、0x00で黒)
なので、*imageにあるデータから1bitずつ取り出して、data()でデータ領域にセットしている。
つまり、コメントに書いてあるとおり、8bitsのデータを8pixelsに伸張(spread)している。
このルーチン内ではdata()がどう定義されているのかわからないので、データ領域のアドレスがどのようにインクリメントされていくのかは、よくわからない。
お礼
2023/12/17 21:01
とりあえずコピペして動かしたところ、正常に表示されました。なのでコード自体は間違っていないようです。