nobcha23の日記

PICマイコンやArduinoを使う電子回路遊びを紹介します

有った エラッタ PIC12F1822

PIC12F1822の周波数カウンタで何日か逡巡しました。そういえばと、PIC12F1822のMCHIPページを眺めていたら、ありましたエラッタが。TMR1のT1GTMビット設定でバグあるらしい。そういえばデバッグ中にT1GCONも触ったのが悪かったのか。  

6.1 Timer1GATE TOGGLE mode  FROM DS80502C 1822・1823Siエラッタ
 TMR1のゲートトグルモード(T1GTM)を選択したときにTMR1のゲート信号の最大幅長さを測ることができる。この機能を実行するためにはタイマー1のゲート入力信号はゲート信号の各加算エッジで状態を変化させるフリップフロップ経由で入れる。TMR1ゲートトグルモードはT1GCONレジスタのT1GTMビットを設定すると動く。旨く動く時はT1GTMビットあるいはTMR1ONビットをクリアするとこのフリップフロップの出力もクリアされてクリア状態を保つ。今ある問題点はTMR1ONビットをクリアしてもフリップフロップの出力をクリアしない、クリア状態を維持できない。

ワークアラウンド
フリップフロップの出力値をクリアしてクリア状態に保つにはT1GCONレジスタのT1GTMビットをクリアすること。
対応リビジョン A6:×、A8:×