Forum: Compiler & IDEs Werte über array speichern


von Anfänger (Gast)


Lesenswert?

Hallo Leute,
wie der Name verrät bin ich dabei die Welt der Programmierung zu 
entdecken.
Deswegen habe ich folgende Frage.
Kann man werte die man aus einem ADWandler liest über Array speichern.
Am ADWandler bekomme ich immer neue Werte, deswegen will z.B 50 Werte im 
SRAM speichern und nach Bedarf abrufen können. Gerne würde ich das mit 
ein Array tun.
Falls jemand ein Link zur Verfügung hat wäre ich sehr dankbar.
Danke

von P. S. (Gast)


Lesenswert?


von ich (Gast)


Lesenswert?

Auslesen tut man es so
1
uint16_t wert;
2
3
wert = ADCL;
4
wert += (ADCH<<8);

und den Wert kannst doch dann in ein uint16_t a[50] array packen. Wozu 
brauch man da jetzt Links.

AVR-GCC-Tutorial + Grundlagen C

von yalu (Gast)


Lesenswert?

Warum sollte das nicht gehen? Bspw. so:
1
#define N 50
2
3
unsigned int array[N];
4
5
for(i=0; i<N; i++)
6
  array[i] = read_adc();

Oder soll das Schreiben der Werte in das Array ohne Softwareeingriff
erfolgen? Dann muss der ADC DMA-fähig sein. Bei einigen, aber lange
nicht bei allen Mikrocontrollern ist dies der Fall.

von Anfänger (Gast)


Lesenswert?

Danke leute für ihre Antwort.
bin immer noch dabei meine Werte durch ein Array abzuspeichern.
bin zum folgenden Code gekommen.
1
volatile uint16_t werte;
2
uint8_t i;
3
void ZMSpeichern(){
4
uint16_t speicherliste[N];
5
Berechnung();
6
for(i=0; i<N; i++)
7
speicherliste[i] = werte; // diese Werte werden zum display geschickt
8
}

nun würde ich gerne wissen wie die Werte mit ihren Index gezeigt werden 
können.

z.B
1 -wert- bei speicherliste[0]
2 -wert- bei speicherliste[1]
... usw
Danke für ihre Hilfe

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


Lesenswert?

> ... durch ein Array abzuspeichern.
Richtig ist: ... in ein Array abzuspeichern.

Das hier gibt den Output, den du willst:
1
for(i=0; i<N; i++) {
2
   printf("%d -%d- bei speicherliste[%d]\n\r", i+1,speicherliste[i],i);
3
}

Ein Tipp:
lern das C-Programmieren nicht am uC, sondern am PC. Das geht viel 
leichter. Und die Entwicklungsumgebung(en) gibts für lau.

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.