某掲示板で
RTCC機能付きのPICに32.768Hzの水晶付けて時計を作っているんですがどうもうまくいきません。
って書いてる人がいた。
HzじゃなくてkHzなんだろうけど。
ちょっと前には、「RTCCで正確な時計を作るのに、32.768kHzの水晶をつけて時計のクロックに使う。」とかをやってた頃もあった。
ちなみに32768は2の15乗だ。
分周(2で割る。)していくときっちり1Hz(1秒)を作ることができる。
でもその後、ESP8266が登場して、InternetのTime Serverからいとも簡単に正確な時刻を拾って来れるようになったので、上のお題は完全に優先順位を下げてしまった。
上の書き込みを見るまでは、優先順位どころじゃない、完全に忘れていた。
優先順位が低いのは今でも変わりないが、外部クロックで作動させるということ自体は久しぶりにやってみてもいいかなと思う。
クロックの周波数は何でもいいわけだが、せっかくなので32.768kHzを使ってみる。
一切データ・シートを見ずにこうしてみた。
すべての組み合わせを試してみたわけでもないが、32.768kHzという低クロックを外部クロックとして設定に使えるのは、この組み合わせしかないと思う。
そのまま出力しているはずのクロックを見てみたら33.2869kHzと出た。
ちょっと誤差が大きすぎるか?
何か間違えてるか?
だが、Timerで割り込みをかけて作った200msはちゃんと正確に刻んでいる。
ばらつくけどならせばそこそこ大丈夫ってことか?
内部に32kHzのInternal Low-Power RC(LPRC)ってのも持ってるようだからそっちが動いちゃってるのか?
出力の設定を変更してみた。
すると、こうなって、ほぼ計算通りの値となった。