www.mikrocontroller.net

Forum: Compiler & IDEs Array benutzen Wie wirds gemacht ?


Autor: Sebastian B. (sebastian86)
Datum:

Bewertung
0 lesenswert
nicht 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.

unsigned int i;
unsigned int ADC[10];


cnt++;
ADC[cnt]  =  ADCH;

if(cnt==9)
    {  
  i  = "Pseudecode Mittelwert bildung";    
  
        cnt = 0;
  //Gebe i auf LCD aus
    }


Gruß
Sebastian

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sebastian B. (sebastian86)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sebastian B. (sebastian86)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ADC ist ein Register, nämlich das ADC Register, also ADCH und ADCL 
zusammengefasst.

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.