HOME > よくあるご質問 > 学習キット
よくあるご質問

学習キット

何も信号を入力していないのに、すべてのチャンネルの値が0295と出るのはなぜでしょうか?

ADコンバータの練習問題の回答例としてCDに収めた、Exercise16_adcのバグが原因です。大変申し訳ございません。※1 Exercise16_adcでは、ADコンバータから取得したAD変換結果を格納するバッファが半分まで書き込まれた時点で、各チャネル毎に バッファ内のデータで平均値を求めて表示していますが、平均値を求める処理で各チャネル毎にAD変換結果の合計を集計する処理と、 データ件数を集計する処理にて、集計したデータを格納する場所を間違えていました。 AD変換結果を格納する位置と、表示する位置がずれてしまい、全てのチャネルの値が”0295”と表示されてしまいました。 Exercise16_adcを正しく動作させるためには、Exercise16_adcフォルダ中の“sample.c”ファイルの124行目と125行目を、以下の ように修正願います。   124行目    誤:total[chid] += val; // 変換結果累計    正: total[work] += val; // 変換結果累計   125行目    誤: count[chid]++; // 件数加算    正: count[work]++; // 件数加算 なお、ADコンバータにファンクションジェネレータからの信号を入力する際は、以下の点に注意してください。  ・ADコンバータに入力する信号の範囲は、0~5Vです。  ・入力端子に何も接続していないチャネルのAD変換結果は、1,100前後の値になります。   また、入力端子に何も接続していないチャネルは、ノイズの影響を受けやすく、他のチャ   ネルの入力端子にファンクションジェネレータ等から信号が出力されていると、AD変換   結果が1,100以外に変化します。  ※1 最新バージョンCD-ROM Ver1.03にて対応済みでございます。


一覧へ戻る