Forum: Mikrocontroller und Digitale Elektronik ADC C-code , ERklärungsbedarf


von Reto B. (schnuber)


Angehängte Dateien:

Lesenswert?

Hallo zusammen

Ich möchte den AD Wandler auf dem ADuC7022 von Analog Devices in Betrieb 
nehmen. Ich möchte eigentlich genau das machen was im angefügten 
Beispielcode, welchen ich bei den Analog Devices runtergeladen habe, 
gemacht wird.
Im Beispielcode, sollte laut Beschreibung 1024 AD Werte eingelesen 
werden, im SRAM gespeichert werden, und dann auf die UART gebracht 
werden.
Allerdings verstehe ich nicht wo und wann die 1024 Werte eingelesen und 
im SRAM gespeichert werden.
Kann mir da vielleicht jemand weiterhelfen?
Gruss
Reto

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> wo und wann die 1024 Werte eingelesen und im SRAM gespeichert werden
Da würde ich auf einen kleinen Teppfihler im Programm tippen, denn 
damit:
>>    for (i=0; i <2; i++)
>>    {
>>      while (!ADCSTA){}      // wait for end of conversion
>>      ADCDATA[i] = (ADCDAT >> 16);
werden nur 2 Werte gewandelt und in ADCDATA[0] und ADCDATA[1] 
geschrieben. Ich wage zu behaupten, dass der Programmierer seinerzeit 
noch kurz den 2. ADC-Kanal testen wollte.
>>    if (ADCCP == 0)  ADCCP = 1;  // change channel
>>    else ADCCP = 0;
Und anschließend hat er das Programm für fertig erklärt.

Ich würde es mal so probieren:
1
    for (i=0; i <1024; i++)
2
    {
3
      while (!ADCSTA){}      // wait for end of conversion
4
      ADCDATA[i] = (ADCDAT >> 16);
5
    }

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.