Hallo allerseits, Da ich neu in diesem Forum bin möchte ich mich zuerst für die viele Hilfe bedanken, die ich bereits als nicht Mitglied durch Beiträge erhalten habe. Jetzt zu meinem Anliegen: Ich arbeite im Moment mit einem At90can128 welcher bereits Nachrichten via Can empfängt. Dazu soll noch das uart kommen und es sollen Werte im Eeprom abgelegt und gelesen werden. Zunächst möchte ich aber eine Funktion implementieren, welche je nach Status einen blinkcode ausgibt. Z.B. Warte auf can Botschaft, error oder bereit. Diese Funktionalität sollte möglichst im Hintergrund laufen, da ich Angst habe mir durch diese Geschichte meine Kommunikation zu stören. Es wäre schön wenn ihr mir dafür eine Empfehlung geben könnten oder sind meine Bedenken unbegründet? Gruß Scheldor
Hast Du auch ein konkretes Anliegen, auf das man eingehen könnte? Einen Portpin wirst Du ja sicher bedienen können und das delay() in einem halwegs komlexen Programm nichts zu suchen hat, weisst Du sicher auch.
Ein direktes Anliegen habe ich nicht. Ich möchte lediglich wieder fit mit Mikrocontrollern werden, weil mein letzter kontakt schon eine Weile her ist. Ich würde das blinken durch interrupts realisieren und die unterschiedlichen Takte durch flags wählen. Allerdings weiß ich nicht ob das so gut ist, da ja im schlimmsten Fall während des Timer Interrupt kein Interrupt durch den can oder uart Eingang ausgelöst werden.
Nico S. schrieb: > Ich würde das blinken durch interrupts realisieren und die > unterschiedlichen Takte durch flags wählen. Gibt da verschiedene Arten, z.B.: a) Interrupt der nur durch einen Timer immer tick-tack macht (wie die Unruh der Uhr) mit möglichst wenig Latenzzeit. Die Auswertung der Timerticks muss dann im Hauptprogramm dazu führen dass z.B. ein Zähler hochzählt (muss Du eben häufig genug daran vorbei kommen dass du keinen tick verpasst) und dann je nach Zählerstand verschiedene Blinkzeiten realisiert. b) Interrupt zählt gleich mit (z.B. Teile einer Sekunde) und sagt dir wann die Blinkzeiten erreicht sind. Etwas höhere Latenzzeit aber dafür muss Hauptprogramm nicht so schnell reagieren können. rgds
Ich kenn Dein Prozessor nicht! Man könnte(sollte) das normale Status blinken stoppen (IR sperren). Während der Datenübertragung, die für den CAN direkt in dessen Routine toggeln. Falls die HW Deines Prozis das meiste selbständig erledigt, sollte die kurzen Störungen deiner LEDs nich auffallen/stören..... Ach, selbst wenn Du alles in SW machst, sollte das kaum auffallen und wenn, wen stört's :) (Hautsache nicht dan CAN)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.