07:18ついでにもうひとつ液晶ネタ。ラズパイマガジン2015年春号買いました。基本的に日経Linuxに載ってたラズパイネタを再掲してるだけの雑誌ですが、普通のLinuxは全く使ってない自分には大変有難い(w。)で遊ぶ、という記事。この記事でppm2lcdっつー、ppm画像を表示させるサンプルプログラムがあるんですが、このプログラム、確かに表示されますが、暫く放って置くと表示させた画像が崩れることがあります。原因は、main()関数の締めのbcm2835_spi_end();bcm2835_close();のせい。SPIの使用終了を宣言して、通常のGPIOに戻る訳ですが、デフォルトが入力なおかげでMOSI、SCLK、CS、どれも電位的に浮いてしまい、ノイズの影響をもろに受けてしまうのです。液晶のコマンド2Cは画面データを渡した後も、再び先頭から上書きされる形で入力を受け続けます。bcm2835_spi_end()でSPIを手放す前に液晶の画面データ入力受付を止めないと、ノイズで上書きされて崩れる場合が出ます。バックライトをPWMしてたりすると、バックライトピンのすぐ隣がSCLKなのでバリバリ崩れますw。対策として一番手っ取り早いのは、bcm2835_spi_end();の前にlcd_write_cmd(0x00);を1行書き足すだけでNOPになり治まります。[コメント(0)|トラックバック(0)]コメントコメントをどうぞ※メールアドレスとURLの入力は必須ではありません。入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。※なお、送られたコメントはブログの管理者が確認するまで公開されません。http://mirage-crystal.asablo.jp/blog/2015/01/26/7553880/tb※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。次>>このブログについてつらつらまったりと。(35)携帯からアクセスRSSログイン。