Forum Rule: Always post complete source code & details to reproduce any issue!
-
uart2_status_isr interrupt problem
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?
-
Senior Member+
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 ???
-
Senior Member+
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?
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules