- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have been testing I2C with my cy8ckit-042-ble-a. I started with this example: https://www.cypress.com/documentation/code-examples/ce211423-cy8ckit-042-ble-f-ram-i2c
and got it working also with the actual I2C chip I need to communicate with. But I'm planing to use 400 kHz and I can't get that.
If I use the example as is, the I2C component in PSoC Creator shows 100 kHz and I can measure 100 kHz with my oscilloscope as well. If I change IMO to 24 kHz and data rate to 400 kHz, PSoC Creator report "Actual data rate (kbps) 381". However my oscilloscope only sees 330 kHz on SCL.
If I reduce the "Oversampling factor" 21->20, the reported actual data rate is 400 kbps. But on oscilloscope it's only 345 kHz.
What causes this difference? How can I get real 400 kHz?
I plan to use I2C during the BLE communication startup so that I can send fresh data on BLE. What low power BLE measures can't be used while I2C is used? Can IMO be shut down? Can sleep be used while I2C is transmitting or receiving as a master?
When is the last time to update BLE data so that it will be output during this BLE wakeup and not the next one?
- Labels:
-
BLE
-
ispn:39612:1:0
-
l1:314:1:0