aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorEmil Fresk <[email protected]>2024-10-27 09:55:00 +0100
committerEmil Fresk <[email protected]>2024-10-27 10:10:46 +0100
commit917f1d1f4de6f7e25f483561001a9b5b36cbce7e (patch)
tree7186e7987c8797036d70cda91ec680b8b771ca22 /examples
parent8f273497453d3ca3f297465b67820d4d36705d11 (diff)
This fixes 2 issues where STM32 BXCAN would hang
1. If one received frames under an `interrupt_free` section, in my case `init` in RTIC, the RX IRQ will fire and clear it's enable bit after `interrupt_free` is complete. There is no frame to read so RX is now unconditionally disabled forever. 2. On clearing of RX IRQ, TX stops silently. This happens due to the use of `write` instead of `modify` when modifying IRQ enable bits. Solution 1: Enable RX IRQs on every call to `try_read` that return no data. This solution also solves the issue of very delayed handling of the RX IRQ which would cause the same issue. Solution 2: Use `modify` instead of `write`.
Diffstat (limited to 'examples')
0 files changed, 0 insertions, 0 deletions