uart2_status_isr interrupt problem

Status
Not open for further replies.

SebastianG

New member
Hello,
I have a strange issue regarding Serial3. I have a bigger project with quite some code on the IntervalTimer etc. All is working fine expect after some time the Serial3 stops working. What I have diagnosed so far:

Serial1 and Serial2 continue to work
The interrupt method void uart2_status_isr(void) is no longer serviced
Restarting the serial port does not help
Restarting the interrupt using NVIC_ENABLE_IRQ(IRQ_UART2_STATUS); does not help
Lowering the define IRQ_PRIORITY in serial3.c means the problem will occur less often

Any hints what might cause the uart2_status_isr method no longer being serviced?
 
Good question: Might help to know which Teensy?

Then if I could detect when this state was happening, would probably write some code to dump out the state of some of the registers associated with that serial port
like on T3.x I would probably output (BAUD, STAT, CTRL, DATA, MATCH, MODIR). And then see if something looked wrong.

If nothing made sense, I would then probably hack into the serial3 code and print out additional information like head and tail information...

After that ???
 
Also might be important what version of TeensyDuino. There was a fix about 2-3 versions back where a serial port could get stuck on an error. That was mostly caused by changing BAUD rate IIRC, but in the end the affected UART ended up stuck.

Perhaps interesting to know what device is connected to the Serial3 UART - good GND/Tx/Rx wires? Setup at a single baud rate? And what the baud rate is?

And was it working more reliably before some code was changed or added?
 
Status
Not open for further replies.
Back
Top