mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC24F Delay fuer ADC


Autor: Mr. Mister (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin noch relativ neue im Bereich der uP Programmierung und daher 
bitte ich gleich mal um Entschuldigung fuer meine wahrscheinlich 
trivialen Fragen...

...ich moechte gerne einen ADC meines PICs verwenden und brauche dazu 
eine delay-Funktion um die sample-Zeit vorzugeben....

...ich programmiere in MPLAB mit C30 Compiler...gibt es da vorgegebene 
Funktionen fuer ein Delay? bzw. gibt es andere Moeglichkeiten dem ADC 
des Pics die Sample time anzugeben?

...mein Code im main.c schaut ungefaehr so aus:

  int ADCValue;

  AD1PCFG  =  0xFFFB;  //set AN2 as analog
  AD1CON1  =  0x0000;  //SAMP bit=0 ends sampling

  AD1CHS  =  0x0002;  //connect AN2 as CH0 input
  AD1CSSL  =  0;
  AD1CON3 =  0x0002;  //Manual Sample, Tad=2Tcy
  AD1CON2  =  0;

  AD1CON1bits.ADON  =  1;  //Turn on ADC

  while(1)
  {
    AD1CON1bits.SAMP=1;    //start sampling
    Delay(10);

    AD1CON1bits.SAMP=0;    //start converting
    while(!AD1CON1bits.DONE);  //conversion done?
    ADCValue = ADC1BUF0;  //yes then get ADC value
  }

..und die Delayfunktion hab ich hier nur mal so reingeschrieben...

Autor: Wolfgang M. (womai)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Am elegantesten loest Du das ueber einen Timer-Interrupt (der ADC wird 
in der Interrupt-Routine gestartet und gelesen0 - dann bleibt Deine 
Hauptroutine frei fuer andere Taetigkeiten.

Autor: Bernd Rüter (Firma: Promaxx.net) (bigwumpus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn wir wüssten, welchen PIC Du einsetzt, würden wir glatt im 
Datenblatt nachsehen, ob der PIC die Fähigkeit hat, die Sample-Zeit 
automatisch abzuarbeiten (ADxCON3: SAMC) und Dir die Suche nach dem 
richtigen C-Befehl ersparen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.