www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Regelmäßige Messung + UART


Autor: UART (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

mein Atmega8 soll ca. alle 100 µSekunden einen Porteingang prüfen und 
dann per incrementellem counter zählen wie lange der Port diesen Zustand 
behält. Bei einem Wechsel des Zustands soll er dann von 0 anfangen zu 
zählen. Dies würde ich in einem ISR des Timers2 machen (Timer, 
Prescaller, Compare, etc. sind bereits auf die MHz des Quarzes und die 
Zeit abgestimmt).

Nun zu meiner Frage, nach jedem Zustandwechsel soll er ebenfalls per 
UART den Zählerstand ausgeben. Sollte die Ausgabe auch in dem ISR 
erfolgen oder besser im main?

Oder wie würdet Ihr das lösen? Andere Aufgaben erledigt der Atmega8 im 
Moment nicht, also könnte man evtl. alles per polling im main erledigen, 
jedoch wäre dann der 100 µSekunden Interval nicht so einfach zu 
bewerkstelligen.

Danke für Anregungen.

VG

Autor: pico (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mit welcher frequenz des zustandwechsel ist zu rechnen?

gruß pico

Autor: UART (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@pico: maximal ein Zustandswechsel kann während der messphase von 100µS 
auftreten.

Autor: pico (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dann würde ich einen zweiten timer benutzen, in dessen isr geprüft
wird ob es was zusenden gibt und ggf dann auch sendet!
bedenke aber auch, das das senden über den uard zeit frißt.
100µs -> 10khz selbst wenn du nur ein byte sendest sind das mit start
und stop bit in der summe 10 bit. dh du mußt mit viel viel mehr als
100kbaud senden um die andere isr nicht zu behindern!

gruß pico

Autor: UART (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@pico: würde es nicht mehr sinn machen im main per uart zu senden? 
dadurch könnte die timer2-isr immer zeitgenau messen und sogar bei 
bedarf das main inklusive uart unterbrechen. uart ist mit 115200 kbaud 
angbunden und es wird maximal 1 byte pro andzahl der zustandswechsel 
übertragen.

Autor: pico (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kanste machen, aber nur wenn der µc nichts anders tun soll
als zeitmessen und daten senden!

gruß pico

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.