皆さん初めまして。多田と申します。 現在、H8-3048/Fを使ったシステムを構築しています。 H8に外付けで通信デバイスを接続しており、外部シリアルの 送受信クロック(TxCLK,RxCLK)をタイマ(ITU)出力にて生成しようと 考えています。外部シリアルを使って通信(非同期通信)するための ボーレートは19200bpsなので、これの16倍の307.2KHzのクロックを 作りたいのです。 H8のシステムクロックは16MHzなのですが、これから307.2KHzの クロックを出力するためタイマにセットするカウンタを計算しようとすると、 割り切れません(下記参照願います)。 【タイマの設定】 ・カウントクロックは内部クロックφ/1(16MHz) ・GRAのコンペアマッチでトグル出力 【GRAレジスタにセットする値の計算】 ①19200bpsの16倍の周期を求める。 19200bps×16 = 307200 ②307.2KHZの1周期分の時間を求める。 1÷307200 = 3.25520833us ③パルス時間を求める(デューティ50%)。 (1÷30720)÷2 = 1.627604166us ④タイマ分解能を算出。 1÷16MHz = 0.0625us ⑤上記データ群から、GRAにセットするカウンタ値を求める。 1.627604166us÷0.0625us = 26.04166... 上記の計算から、タイマのGRAレジスタには「26」という値をセットする ことになるのですが、割り切れていない結果なのでボーレート誤差が出ると 思います。このタイマから出力されるクロックはボーレート誤差の 許容範囲に入っていることになるのでしょうか? また、どれくらい誤差があるか数値で表したいのですが、誤差はどのように 計算したら求められるのでしょうか? 以上、よろしくお願い致します。