I'm running an application on the CC2541 that periodically (every 200 ms) reads a block of data from the I2C as a slave and sends it over the air via BLE to an iOS device. In my application the iOS device initiates the BLE connection to my device which is an advertiser. I've noticed that the block I2C read is done completely under interrupt - e.g., it takes about 2.4 ms to read 20 bytes over the I2C using a 100 kHz clock rate. My obvious concern is how much interrupt latency the other tasks in the system (in particular the tasks that need to send BLE data to the iOS device) can tolerate before they don't function properly. Does anyone know the answer?
Thanks,
Gary