Forum: Mikrocontroller und Digitale Elektronik Assambleranfänger, Timing- Planung ?


von Micha (Gast)


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

von Karl H. (kbuchegg)


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.

von spess53 (Gast)


Lesenswert?

Hi

>lass mir gerade die App Note von Atmel zu RC-5 empfang durch.

>Und ich frage mich was macht dann meine PWM,

Wozu braucht man zum RC5-Empfang eine PWM?

MfG Spess

von Jürgen B. (hicom)


Lesenswert?

vllt steuern die empfangenen Daten die PWM. z.B. ein LED Dimmmer mit IR 
Bedienung...

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
Noch kein Account? Hier anmelden.