こんにちは。
siroといいます。
現在h83664のADコンバータの使用方法で分からないことが出て来ましたので
わかる方がいたら教えて下さい。
ADを5チャンネル使用したく、とりあえず下記のような設定をしました。
void initAD(void)
{
AD.CSR.BIT.ADST = 0;
AD.CSR.BIT.SCAN = 1;
AD.CSR.BIT.CH = 3;
AD.CSR.BIT.ADIE = 1;
AD.CSR.BIT.CKS = 0;
}
いったん4つのADを読み込み次にグループを切り替えて最後のADを読もうと
してるのですが旨くいきません。
始めの4つは読めるのですが、最後のひとつが旨く出ません。
なんとなく一番初めのデータと同じようなものが出ている気がします。
ADを5チャン又は8チャンネル読もうとすると設定がいるのでしょうか。
ADは割り込み処理で使用しています。
チャンネル5の設定をしなければ問題なく読めるのですが。
詳しい方いましたら教えて下さい。
void ad_INT(void)
{
static unsigned char adch = 0;
static unsigned int data;
data = AD.CSR.BYTE;
AD.CSR.BIT.ADF = 0;
Timer1 = AD.DRA >> 8;
Timer2 = AD.DRB >> 8;
Timer3 = AD.DRC >> 8;
Timer4 = AD.DRD >> 8;
AD.CSR.BIT.CH = 4;
Timer5 = AD.DRA >> 8;
}
コンパイラは日立のコンパイラを使用しています。
以上