05/04/26 21:00:13 VrzPur8e
大騒がせスマソ。>みなさま
andlw と ioriw の訂正漏れでした。
PORTB だけで LCD を動かすために RB0-RB3 をマスクしたりするのですが、
その際、andlw とすべきところ ioriw となっていました。
開発初期の段階で気付いて直していたのですが、データを書くルーチンは直しておきながら、
インストラクションを書くルーチンを直していませんでした。
PORTBレジスタは電源投入やリセットでクリアされませんから、
先にPORTBレジスタに残っていたデータ次第では上手く初期化されるけど、
大抵は上手く行かないという動きだったようです。
20MHzだろうが、最低限のタイミングだろうが、10kΩが挟まっていようが、
ICSPケーブルを繋ぎっ放しだろうが、チャタリングをわざと起こすように電源スイッチを投入しようが、
あんな事をしようがこんな事をしようが、あらゆる乱暴なことをしても・・・・
L C D 野 郎 は ち ゃ ん と 動 き や が り ま し た 。
まるで何事もなかったように・・・。
ただし、データシート的には10kは大きすぎるので2.2kにしました。
結局チラシの裏になってしまい、付き合っていただいた方には申し訳ないです。マジスマソ
恥ずかしいので今から穴を掘って入ってきます。w