2

ADCのセットアップを学ぼうとしている初心者ですが、残念ながらオンラインのほとんどの例は他のpic18モデル用であり、リソースとしてadc.h定義を持っていません. (または、Cコードの場合はそうではありません。)答えをスプーンで与えられたくはありませんが、誰かが素晴らしいウォークスルー、オンラインリソースなどを提案できれば、本当に感謝しています、ありがとう!

また、私が書いたこの疑似コードについての助けは素晴らしいでしょう。エラーが発生する可能性があります...正しい軌道に乗っているかどうかはわかりません。

//configure port
    //disable pin output driver (TRIS) - same thing as clear?
    //configure pin as analog
//configure adc module
    //set ADC conversion clock
    // configure voltage reference
    //select adc input channel
        //CH0-CH12 of ADCON0
    // select result format
        //select data format using the ADFM bit of the ADCON1 register                                                 
           //select aquisition delay  
    // turn on ADC module
        //enable A/D converter by setting the ADON bit of the ADCON0 register                                                     
//start conversion by setting GODONE bit of ADCON0 register
    //GODONE = 1;

// read ADC result
    //read the ADRESH and ADRESL registers
//clear the adc interrupt flag (optional)
4

1 に答える 1

0

まだ完全ではありませんが、ほとんどのことは理解できました。残りはそれほど難しくないはずです..今すぐ割り込みを実装する必要があります。

    TRISc = 0x01; // disable tri-state    
    ANSEL = 0xFF;//setting to analog
    ADCON1 = 0x00;//Voltage References Set
    ADCON2 = 0x00;// left justified ADFM, set Acquisition Time and Conversion Clock
    ADCON0 = 0x11;// Analog Channel Select, GODONE set, Enable ADC

    //TODO:interrupt ADIF bit in the PIR1 register
    ADIF = 0;
    ADIE = 1;
    GODONE = 1;
    while(GODONE) {};

    adcValue = ADRESH;
    adcValue <<= 8;
    adcValue |= ADRESL;

    while(1){}
于 2012-08-24T14:08:07.313 に答える