Datenablage im Ram unter C auf Atmega16

Gast #625508
Lesenswert?
• ▲
▼
Hallo zusammen,



Ich möchte einen Code den ich über den ICP1 einselse auswerten. Dieser 
Code besteht aus verschieden langen Impulsen (insgesammt etwa 100 
Impulse) mit einer Gesammtlänge von etwa 100ms, die ich mittels Input 
Capture messen möchte um diese dann auszuwerten.

das Problem:
Ich weiß nicht wie ich es bewerkstelligen soll, dass die Werte aus ICR1H 
und ICR1L erst mal alle auf dem Ram der reihe nach gespeichert werden 
sollen (das müsste dann wahrscheinlich mit nem Pointer geschehen, der 
nach dem er einen wert in den speicher geschrieben hat um eine stelle 
erhöt wird um den nächsten wert in die nachbarspeicherzelle zu 
schreiben), damit ich diese dann später auswerten kann.

leider verstehe ich nicht wie man mit pointern arbeitet bzw welche 
befehle es dafür gibt.
#625510
Lesenswert?
• ▲
▼
Dann wirst Du Dir wohl ein C-Buch (z.B. Kernighan/Ritchie) nehmen müssen 
und Dir anschauen, wie man das in C lösen kann. Ob Du das 
sinnvollerweise mit einem Zeiger oder mit einem Array machst (wobei das 
zweite vielleicht besser verständlich und daher eher zu empfehlen ist), 
musst Du dann selbst rausfinden...
Gast #625552
Lesenswert?
• ▲
▼
http://www.galileocomputing.de/openbook/c_von_a_bis_z/c_014_001.htm
Kannst ja auch erst mal mit einem ordinären array arbeiten, das ist 
erstmal was "menschlicher", aber im Prinzip auch nichts anderes.

unsigned int messwerte[ANZAHL];
char wr_ptr=0;

Messroutine:
messwerte[wr_ptr]=ICR1;
wr_ptr++;
if (wr_ptr>ANZAHL)....//

Ansonsten: wahrscheinlich brauchst du gar nicht die tatsächlichen 
Impulslängen, sondern nur eine qualitative Aussage (lang oder kurz), 
dafür reicht dann ein einzelnes Bit statt einer 16bit-Variable. Das 
kannst du dann direkt bei der Messung eintüten.
Gast #625581
Lesenswert?
• ▲
▼
das tutorial kenn ich schon, damit hatte ich mich zu beginn beschäftigt 
um überhaupt mal zu sehen wie man nen AVR mit C programieren kann, 
einfache Funktionen sind kein problem, aber mit den Pointern hatte ich 
schon früher probleme, hatte es es bislang immer irgendwie geschafft sie 
zu umgehen.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.