Hallo, da ich neu hier bin möchte ich mich erstmal vorstellen. Ich heiße Michael, komme aus Oberösterreich und bin 19. Derzeit bin ich noch in Ausbildung in einer HTL und habe jetzt mein letztes Schuljahr. Nun zu meinem Problem: Ich möchte eine LED Steuerung bauen, mit der ich die Beleuchtung eines Modellflugzeuges während des Fluges einschalten kann, dazu muss ich ein PWM Signal von ca. 50Hz (siehe Anhang) mit einem PIC18F4520 bzw später dann mit einem PIC16F883 einlesen und das Tastverhältnis bestimmen. Das Signal kommt aus einem "Jeti Duplex" Modellbauempfänger Wie macht man soetwas? Ich habe zwar Grundkenntnisse in C, allerdings noch nie mit Interrupts gearbeitet.
Hmmm ... Mit der steigenden Flanke einen Interrupt auslösen, welcher nach 1.5ms nachschaut, ob der Pin noch high ist. Gruß Jobst
Michael Sch. schrieb: > Ich möchte ... und das Tastverhältnis bestimmen. Das > Signal kommt aus einem "Jeti Duplex" Modellbauempfänger Das Tastverhältnis des Signals, das aus dem Modellbauempfänger herauskommt, ist ziemlich bedeutungslos. Die Stellung der Steuerknüppels wird alleine über die Dauer des positiven Teil des Pulses kodiert (1..2 ms). Der Abstand der Pulse ist über einen weiten Bereich unkritisch (10..100 ms).
Tom schrieb: > Das Tastverhältnis des Signals, das aus dem Modellbauempfänger > herauskommt, ist ziemlich bedeutungslos. Die Stellung der Steuerknüppels > wird alleine über die Dauer des positiven Teil des Pulses kodiert (1..2 > ms). Der Abstand der Pulse ist über einen weiten Bereich unkritisch > (10..100 ms). OK das habe ich auch nicht gewusst, danke für den Hinweis. Jobst M. schrieb: > > Mit der steigenden Flanke einen Interrupt auslösen, welcher nach 1.5ms > nachschaut, ob der Pin noch high ist. Und wie genau löse ich diesen Interrupt aus?
Michael Sch. schrieb: > Jobst M. schrieb: >> >> Mit der steigenden Flanke einen Interrupt auslösen, welcher nach 1.5ms >> nachschaut, ob der Pin noch high ist. > > Und wie genau löse ich diesen Interrupt aus? Dein Controller sollte einen externen Eingang haben, der mehr als nur die normale Portfunktion besitzt oder wirklich ein dedizierter Interrupt-Pin ist (z.B. RB0). Sieh dir dazu mal im Datenblatt http://ww1.microchip.com/downloads/en/DeviceDoc/41291b.pdf Abschnitt 3.4 an. Aber eigentlich musst du nur in regelmäßigen Abständen (durch den Timer generiert) den Pin abfragen, und daraus auf die Impulslänge schließen...
STK500-Besitzer schrieb: > > Aber eigentlich musst du nur in regelmäßigen Abständen (durch den Timer > generiert) den Pin abfragen, und daraus auf die Impulslänge schließen... Vielen Dank Ich werde mir das morgen nochmal genauer ansehen. Wer sonst noch Tipps hat immer her damit :)
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.

