ADC C-code , ERklärungsbedarf

OP #989932
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
Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #990058
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
    }

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren