Forum: Compiler & IDEs Array benutzen Wie wirds gemacht ?


von Sebastian B. (sebastian86)


Lesenswert?

Moin zusammen,

soo bin ma wieder kräftig an meinem C-Code am basteln und hab mir fuer 
heute mal die Array funktion vorgenommen. Und zwar aus folgendem Grund:

Ich möchte einen Mittelwert einer Temperatur bilden mit 10 werten.

und zwar soll immer wenn mein Programm durchlaufen ist ein Wert 
aufgenommen werden nach 10 Programm durchläufen soll dann mein 
Mittelwert auf dem Display ausgegeben werden. Ich Brauche keine Online 
analyse der Raum temperatur ^^
und was ich nicht in meinem C-Buch gefunden habe wenn ich etwas mit dem 
gesamten Array "ADC" was machen will wie ich das schreibe. Denn fuer die 
Mittelwert bildung müssen ja alle 10 Werte im ADC Array adiert werden 
und zum schluß durch 10 geteilt werden.

1
unsigned int i;
2
unsigned int ADC[10];
3
4
5
cnt++;
6
ADC[cnt]  =  ADCH;
7
8
if(cnt==9)
9
    {  
10
  i  = "Pseudecode Mittelwert bildung";    
11
  
12
        cnt = 0;
13
  //Gebe i auf LCD aus
14
    }


Gruß
Sebastian

von Stefan E. (sternst)


Lesenswert?

> Denn fuer die
> Mittelwert bildung müssen ja alle 10 Werte im ADC Array adiert werden
> und zum schluß durch 10 geteilt werden.

Genau, also schreibe eine Schleife, in der du die 10 Werte aufaddierst, 
und nach der Schleife teilst du die Summe durch 10. Schleifen und der 
Zugriff auf Elemente im Array solltest du doch können, denn sonst 
könntest du das Array ja gar nicht erst befüllen.

von Sebastian B. (sebastian86)


Lesenswert?

Uii ich hab ganz vergessen das ich ja ein Problem mit dem Erstellen es 
Array hab denn der compiler meldet mir die Fehler meldung

error: subscripted value is neither array nor pointer

und wenn man draufklickt springt er zu:
"ADC[cnt]  =  ADCH;"


Achja cnt ist mit
"char cnt;"
definiert

von Sebastian B. (sebastian86)


Lesenswert?

Mhm ich hab mein Fehler selbst gefunden.


Ich darf das Array nicht "ADC" nennen sobald ich es umbennen akzeptiert 
der compiler das. ? woran liegt das denn ?

von Benedikt K. (benedikt)


Lesenswert?

ADC ist ein Register, nämlich das ADC Register, also ADCH und ADCL 
zusammengefasst.

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.