Assambleranfänger, Timing- Planung ?

Gast #1759671
Lesenswert?

Hallo,

lass mir gerade die App Note von Atmel zu RC-5 empfang durch. Dann steht 
da wartet 100 und irgendwas Millisekunden auf ein High Low Wechsel. Und 
ich frage mich was macht dann meine PWM, wenn sie nicht hardwaremässig 
läuft. Sprich wenn ich ein Flussdiagramm hab, wie mach ich dann das 
Timimng ?
Gibts da auch Regeln, Vorschläge ? Bin mehr am allgemeinem Ansatz, als 
jetzt für dieses spezielle Problem interessiert. Da mind alles was mit 
Usereingabe zu tun hat auch zu dem Zeitpunkt bereit sein muss abgefragt 
zu werden..


also schiesst mal los...

Grüße Micha
#1759678
Lesenswert?

Grundregel 1, wenn das Programm mehrere Dinge mehr oder weniger 
gleichzeitig machen soll: Aktives Warten in Schleifen ist verboten.

Statt dessen: Einen Timer aufsetzen, der als Basisuhr im Programm 
fungiert. Alle x Zeiteinheiten löst diese Uhr einen Interrupt aus und 
dann wird nachgesehen ob das Ereignis schon eingetreten ist. Wenn ja, 
dann ein Flag setzen, dass mit der Bearbeitung (in der Hauptschleife) 
angefangen werden kann. Wenn nein, dann einen Zähler rauf oder runter 
zählen. Der Zählerstand verrät dann, zusammen mit der bekannten 
Zeitdifferenz in der die Interrupts auftreten, wie lange schon auf das 
Ereignis 'gewartet' wurde.

Variationen dieses Schemas: je nachdem was in der konkreten Situation 
sinnvoll erscheint.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren