PCD8544用にMEGA8のプログラムを書いた
のを書き込んで、繋いで見ました。
うーん。上手く動かん…
大した事はやってないんだけどな…
ソースや配線をしばし見直してみて、やっぱり
特に問題が無いっぽいことをたしかめて、
あとはロジアナだな。
とりあえずネコロジーを取り出して、データの
中身を取り出してみる…
MOSI、SCK、D/Cの3本を取り出して、
D/Cをトリガーに設定して取り込んでみる…
なんか信号が出ているのは間違えないっぽい。
とりあえずクロックはちゃんと出てる。
D/Cは…変だな。短すぎる。
プログラムが間違えているのか、それとも
MEGA8の内蔵SPIが想定外の動きを
してるのか?
SPIのステータスレジスタを読んで、送信が
終ったところでクリア元に戻すような動きを
させているんだけど、なんだか違う動きを
している様な…
あと、データ信号もなんだか想定外だなぁ…
出力したデータとはなんかちょっと違うデータが
出ているみたい。
今日はとりあえずここまで。あとでまた考える
ことにしよう。
あれかな。内蔵SPI使わずに、全部ポーリング
で書き直してみようか…
|
PCD8544は、結構こわれやすいので(1個壊しましたw)、念のため、SCEはプルアップ、RESETはプルダウンした方がいいです。
DCが短いのは、SPIの完了待ちがうまくいってないっぽいです。
以前書いたコードがあります。ご参考まで
http://blog.goo.ne.jp/sim00/e/eec4f6a5729af46ff1d851f3f6897a89
これから参照させていただきます。
あ、いや、今日は超お疲れ状態(遊び疲れですが…)で睡魔の波状攻撃を受けているので、明日改めて拝見させていただきます…。
そうですよねぇ。SPIの完了待ちって、やっぱりSPIステータスレジスタのSPIFビットを見ればいいんですよね?
(ソース上はSPIEと書かれてます?)
うーん、オイラのプログラム、論理式の書き方が間違えてるのかな?だめだ…今はアタマが全然稼動しない…
ちなみにLCDの初期化は適当に済ませちゃってました。これが悪かったのかな?
一応パワーオン時は時間稼ぎを入れてから処理を開始するようにしたり、H=0にしたりしていたんですが、その他の設定についてはあまり気にしてませんでした。
このあたりから見直してみます。
ネギならぬ、ネコの尻尾でも振らせようかと…振れるといいな…