Hello burny fu,
I think your problem is not the SBRC problem.
If your I2C slave can receive the the I2C master data, just don't have enough time to process it.
These have these ways to solve it:
1. Slow down the master send frequency, don't send very quickly.
Just give some time to the slave to process the data.
2. simplify your slave code and use the I2C interrupt to receive the data and install to the RAM, then in the main to process it.
As you know, the PE code is a little complicate and redundancy, in the interrupt, you can write it by yourself, don't use so many functions, just use the register to control it.
Wish these thought can help you!
Have a great day,
Kerry
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------