解せないが動いている
引き続き、デジタルコンパスモジュールの話です。
電源の問題が解決したのですが、それでもまだセラロックが発振してくれません。試しに外から5Vを供給してやったらデバッグ用にPICのポートから制御できるようにつけておいたLEDが光ったのでいい感じ。と思いきや、まだなんか変。回路図をよく見たらPIC16F876Aの1番ピン(~MCLR/VPP/THV)がNo connectionになっていて、これだと1番ピンが状態不定でLowに落ちたらPICにリセットがかかるので、これをVccに直結。それでもまだ駄目。
リセットを疑ったついでに、ブラウンアウトリセットも疑ってみました。PIC16F87Xのデータシートによるとブラウンアウト電圧VBORは3.65~4.35Vと書いてあります。で、今私が作った回路の電源電圧はVcc=3.3V。ビンゴ? ということで、プログラム上でブラウンアウトリセットを使用しないよう設定してプログラムを焼き直してみたところ、まだセラロックが発振せず、デバッグ用LEDも点滅してくれません。これでもダメか・・・と思ったのですが、なぜかシリアル通信で吐き出させている"Hello, world"の文字列はちゃんとPCに届いている。意味が分からない! PICはちゃんと動いているぞ?
LEDが点滅していない理由はつないでいるポートが間違っていたってことですぐに判明。でもオシロスコープで見てもセラロックから正弦波が出ていないのがすごく気になります。昔作った5V電源、PIC16F84Aの回路ではセラロックがきれいな正弦波を出しているのに。
いいのかこれで?
| 固定リンク

コメント