件名:Re:A/D変換プログラムにおける数値の取り込みについて
ご質問有難うございます。
CoronのA/D値の格納先であるcoron_IOA_ADValueの型についてですが、
unsigned short coron_IOA_ADValue[6];
(※符号無し16ビットの配列)
となっています。
配列の番号は、CoronのIOAポートの番号(IOA0~IOA5)に対応しています。
Coronで使っているA/Dコンバータは12ビット分解能(右詰め)なので、
値の範囲としては0~4095(0~3.3[V])になります。
なので、 例えばIOA0ポートのA/D値を電圧値[mV]に変換して表示したい場合には
下記のようにします。
u32 mvol = 0; //u32 → unsigned long
mvol = ((u32)coron_IOA_ADValue[0] * 3300) / 4095; //A/D値→電圧に変換
USB_puts(" mvol ="); //文字列送信 USB_putn(mvol,4); //IOA0の電圧値[mV]を表示
USB_puts("[mV] \r"); //カーソルを先頭に戻す
このようにしてもA/D値が表示されない場合は、
大変お手数ですがサンプルプロジェクトのEx05_AD_GET(A/D変換のサンプルとなります)を書き込んで
動作のご確認をして頂けますでしょうか。
(※A/Dの初期化方法などに問題がある可能性もあります)
以上、宜しくお願い致します。 |