Let's hunt for MEPC (Machine Exception Program Counter) 0x2300 8fe2 in the Disassembly ... Yep my buggy code crashed in the I2C Interrupt Handler 🤔

github.com/lupyuen/bl_iot_sdk/

Found the bug in my I2C program ... There are two levels of BL602 I2C API: 1️⃣ High Level (which calls FreeRTOS) 2️⃣ Low Level (which doesn't call FreeRTOS) ... I'm using the Low Level API, so I shouldn't call "hal_i2c_init" in the High Level API

github.com/lupyuen/bl_iot_sdk/

Here's our simple I2C Interrupt Handler ... When we hit an I2C Interrupt, bump up the Interrupt Counters ... Remember: No funny business allowed in Interrupt Handlers (like Console Output)

github.com/lupyuen/bl_iot_sdk/

Follow

I2C "Slave Address" vs "Device Address" vs "Slave Device Address" vs "Slave Device Register Address" ... A little confusing 🤔

github.com/bouffalolab/bl_docs

Sign in to participate in the conversation
CleverLibre Social

CleverLibre Social is an inclusive social instance for open discussion, learning, and community.
All cultures welcome.
Hate speech and harassment strictly forbidden.