Hi, bevor ich mir da seltsame Probleme einfange, frage ich doch lieber mal nach: angenommen es ist kein Timingproblem, weil die zu übertragenden Daten nur sehr wenige sind, ist es dann prinzipiell möglich, bei einem LPC1786 (ARM Cortex M3) aus der PWM1-Interruptroutine heraus Daten an eine der seriellen Schnittstellen zu schicken oder fliegt mir da was um die Ohren? Danke schon mal!
Wozu ? Die PWM-ISR legt die zu übertragenen Zeichen in den TX-Buffer ab, den die TX-ISR abarbeitet und die Zeichen Stück für Stück sendet, bis der TX-Buffer leer ist. Alles nur etwas Software. Der Code läuft immer in der uC und die angeschlossenen Hardware-Komponenten (SPI, UART, I2C, PWM...) arbeiten selbstständig vor sich hin und melden sich nur mal, wenn die Software wieder nachlegen muß. Trennt das doch bitte zwischen Hauptprogramm(-Schleife), ISR und Hardware deutlich auf.
TheDoug schrieb: > Hi, > > bevor ich mir da seltsame Probleme einfange, frage ich doch lieber mal > nach: angenommen es ist kein Timingproblem, weil die zu übertragenden > Daten nur sehr wenige sind, ist es dann prinzipiell möglich, bei einem > LPC1786 (ARM Cortex M3) aus der PWM1-Interruptroutine heraus Daten an > eine der seriellen Schnittstellen zu schicken oder fliegt mir da was um > die Ohren? > > Danke schon mal! Vorschlag: Wenn Du die seriellen Daten mit PWM verkoppeln moechtest, dann setze doch in der hoeher prioren Routine (PWM?) ein anderes INT-request Flag per Software fuer den UART. Sobald PWM fertig ist UND nichts anderen hoeher priores ansteht geht die CPU dann in den Int fuer die serielle. Uebrigens, es kommt nicht nur auf die Menge der Daten an sondern auf die Haeufigkeit. Wenn also Deine PWM Routine alle 1 usec aufgerufen wird und die serielle nur 1 Byte uebertraegt ist das viel kritischer als wenn die PWM Routine alle 1 msec aufgerufen wird und Du dann 100 Bytes uebertraegst. Ich hoffe das macht Sinn! Robert
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.