-
-
Notifications
You must be signed in to change notification settings - Fork 283
nRF51822: TWI data corruption & TWI hang up sometimes #348
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I didn't write the I2C library so I may be incorrect on this, but as far as I know there's no priority set and DMA is not used. I do not know about blocking mode, you may want to review the code for yourself: https://github.com/sandeepmistry/arduino-nRF5/tree/master/libraries/Wire There's also issue #176. That might be of some help to you as there has been reported odd behavior on the nRF51 with I2C. |
Why DMA was not implemented for nRF51 even though it supports as per docs? I see that nRF52 uses TWI manager which works on DMA. Can I use it for nRF51? I looked myself at the code. Didn't find any reference of interrupt priority or DMA so I posted here. Don't know whether they (#176) were using softdevice along with I2C or not. Softdevice definitely causes issues as it has highest priority. Nordic suggests to use Timeslot API or use radio notifications to time other low priority works in between. I'm trying to implement that. |
This project is based off the code base for the Arduino Zero, which does not make use of DMA. A few people have cobbled together DMA support on the Zero but I haven't seen anyone move it to the nRF. |
Can I use nRF52 wire library to implement TWIM under nRF51? Or have anybody tried that? |
You can certainly try at our own risk, I don’t know if there’s any difference between the two libraries. |
Guys, I'm using the library for one of my projects using generic nRF51822 (v3) module where I'm using BLE peripheral (BLE UART) to send some data through I2C to some external device. I took examples from your library & built my code on that. Now I'm facing two issues:
I did some debug & here is what I found:
After going through some Nordic doc & threads, I found that BLE peripheral has higher priority & can cause issue to TWI.
The text was updated successfully, but these errors were encountered: