-
Notifications
You must be signed in to change notification settings - Fork 1k
Disable USART IRQ in uart_write and uart_debug_write #496
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
d4498e7
to
03a7b82
Compare
Hi @benwaffle Those can be merged in one:
And those one:
Then the PR should contains only 3 commits:
Thanks in advance |
When a receive IT fires while the HAL handle is locked, the receive callback fails to re-enable the IT and the serial port stops receiving anymore. This can happen when transmit IT is enabled outside the IRQ in HardwareSerial::write(), following a buffer full condition that disables transmit IT in HAL_UART_TxCpltCallback(). Solution is to temporarily disable the IRQ while the interrupt enable flags are modified.
@fpistm squashed |
Thanks a lot @benwaffle. I will rview and test it as soon as possible. |
@benwaffle |
yes, it worked for me. make sure that you have the |
I got it but it is not functional on my side. |
I can test it again today. |
Ok, in fact it fails with Arduino Serial monitor. |
@benwaffle, @ppescher , |
This one is superseded by #502 |
This PR fixes issues #494 and #467 for printf();
I want to be able to use printf() with Serial.write() and Serial.read(). See discussion in both issues mentioned above.
Validation
See the example code in #494
I'm not sure how to: