A/D Converter uC

Gast #4722597
Lesenswert?
• ▲
▼
Hallo,

ich bräuchte Hilfe beim Konfigurieren des AD-Wandlers. Ich verwende 
folgenden uC: PIC24FJ128GB204. Ich schaffe es leider nicht, dass ich den 
12-Bit-ADC zum laufen bringe, obwohl ich sogar den größten Teil des 
Codes aus dem Datenblatt kopiert habe.

Beim Debuggen habe ich festgestellt, dass ich jedesmal in folgender 
Zeile hängen bleibe: while (!IFS0bits.AD1IF){}
Das bedeutet, dass das AD1IF nie gesetzt wird.
Aber warum nicht?

Hier der Code:
1
void adc()
2
   
3
    int ADCValue, count;
4
    int *ADC16Ptr;
5
    
6
    //Pin 15 soll eingelesen werden
7
    ANSBbits.ANSB15 = 1;
8
    TRISBbits.TRISB15 = 1;
9

10
    AD1CON1 = 0x00E0;
11
    AD1CHSbits.CH0SB = 0b01001;
12
    AD1CHSbits.CH0NB = 0;
13
    AD1CHSbits.CH0NA = 0;
14
    AD1CHSbits.CH0SA = 0b01001;
15
    AD1CSSL = 0;
16
    AD1CON3 = 0x0F00;
17
    AD1CON2 = 0x003C;
18
    AD1CON1bits.ADON = 1;
19
    while(1)
20
    {
21
        ADCValue = 0;
22
        ADC16Ptr = &ADC1BUF0;
23
        IFS0bits.AD1IF = 0;
24
        AD1CON1bits.ASAM = 1;
25
    
26
    while (!IFS0bits.AD1IF){};
27
    AD1CON1bits.ASAM = 0;
28
    for (count = 0; count < 16; count++)
29
    {
30
        ADCValue = ADCValue + *ADC16Ptr++;
31
    }
32
    ADCValue = ADCValue >> 4;
33
// repeat
34
    }   
35
}
Gast #4722898
Lesenswert?
• ▲
▼
Stimi schrieb:
> Das bedeutet, dass das AD1IF nie gesetzt wird.
> Aber warum nicht?

Du erwartest sicherlich nicht, daß hier irgendwer durch deine Quelle 
sich durcharbeitet, das RefMan sich zieht und alle Hex-Zahlen einzeln 
aufdröselt - oder?

Wenn AD1IF nicht gesetzt wird, dann ist vermutlich der ADC nie fertig 
geworden, was darauf hindeuten könnte, daß er nie gestartet worden ist.

W.S.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.