可変範囲ぐらいはわかったので、半固定抵抗を使ってだいたい10MHzぐらいにあわせてみたいと思います。もって、回路やコードの構成を変えました。あるのに、これをクロックにしないのももったいないなという感じになりました。自体のクロック源をOCXOにすれば、内蔵カウンタでフリーランさせた値がそのまま周波数カウントになるので、GPIOを1ピン節約できます。最大クロックで動かしてみたいと思います。周波数カウントは5分周すれば元の10MHzになりそうです。システムクロックとして外部クロック(水晶発振器)を使うには用語ですが「システムオシレータ」と「システムクロック」に区別があって、システムオシレータは外部水晶発振子を使うことを想定した内蔵発振回路、システムクロックはシステムオシレータまたはBYPASSされた外部クロックを指しています。発振器なので、内蔵システムオシレータは使わないようにします。日本語版だと間違っているので原文を見る必要があります。直接クロックを入力する場合には、内蔵のシステムオシレータをバイパスするという意味になります。フロート)、ここで罠があります。以上入力してはならないことになっています。あたりの分圧が必要です。受けてからクロック入力に使いました。外部クロック設定コードぶっちゃけかなりハマりました。有効にして、どの段階までちゃんと出力が出ているかを確認する必要があります。実際の分周数-1を設定する必要がありました。50MHzに更新しておくという感じです。50000000;}周波数カウント部分の変更タイマーをタイマーとして使い、システムクロックをそのままカウントします。キャプチャピンはGPS1PPSをキャプチャするようにし、キャプチャのタイミングでキャプチャレジスタにタイマカウンタをコピー(ハードウェア動作)させて割込みを生成します。ピンチェンジ割込みは使いません。レジスタの設定は問題ないのですが、割込み周りでだいぶハマりました。忘れてて割込みが呼ばれずしばらくはまったまた、前回よりも精度を高めるため、10秒、100秒、1000秒のゲートでの誤差を表示するようにしました。単位で表示しているのが誤差の項目です。1000秒単位での調整は面倒なので、10秒単位の調整しかしてませんが、このように手で雑に調整してもこのぐらいの精度が出ていました。持つようにしています。そもそもOCXOの可変範囲が±5Hz程度しかないので、それ以上の情報を持つ必要がありません。配列で履歴を持って、直近のn件を合計して見る形になっています。これにより、例えばカウンタをそのまま持つには10Mは16bitに納まらないので32bitの配列にしなければなりませんが、誤差だけを保持すれば4分の1の容量ですみます。LPC1114では1000個の履歴を持てません。よるデジタルコントロールにしてみました。前回は多回転ボリュームを使って手動で調整をしました。23:36今年やったことを自分で承認する日記を読みかえしてみたら今年もいろいろやっていた。年末にせめて自分で自分を承認してあげたい。@cho45アーカイブ。