LPC1768: Serielle Schnittstelle aus ISR heraus ansteuern?

Gast #2664180
Lesenswert?

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!
(Firma: Promaxx.net) #2664564
Lesenswert?

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.
#2664621
Lesenswert?

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

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