PC-G850VS / ミニI/O / ADコンバーターMCP3008 / チャンネル0のAD変換値を読む

チャンネル0が読めるかどうか確かめる。
f:id:ti-nspire:20180705065242p:plain:h250 f:id:ti-nspire:20180705083949p:plain:h250
f:id:ti-nspire:20180705085700j:plain
1サンプルの所要時間が70msec弱という遅さであるが一往読めている。
 

main(){
    unsigned char mosi[36] = {3,4,6,4,6,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,1};
    unsigned char miso[10];
    unsigned char i, j, k;
    unsigned int m, n, sum;
    while(1){
        k = 9;
        for(i=0; i<36; i++){
            miniput(mosi[i]); /*順番に3ビットパラレルのパルス列をMCP3008に書き込む*/
            if((i>=16) && (i%2==0)){
                miso[k] = miniget(); /*AD変換値をビット9からビット0まで順番に読み取る。*/
                k--;
            }
        }
        sum = 0;
        for(n=0; n<10; n++){
            sum |= miso[n]<<n; /*読み取った10個の1ビットデータを10ビットに並べ換える*/
        }
        printf("%d\n", sum);
        for(m=0; m<500; m++){} /*busy wait*/
    }
}