siroさん
東浦と申します。
3664ハードウェアマニュアルを見て戴くと、判ると思いますが
A/D変換結果を格納するレジスタは4つしかありません。
そのため、1回の割り込みで4チャンネル分しか読めません。
お気付きの通 Timer5にはTimer1と同じになるはずです。
フラグ等を使用して、グループ0とグループ1を割り込み毎に
切り替えて読み込む処理に変更すれば、ご希望の結果が得られ
ると思います。
> いったん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; <<A/D変換に時間が掛かるので、ここではチャンネル5
のA/D変換値は格納されていない。
> }
> コンパイラは日立のコンパイラを使用しています。
> 以上
>
>
>