- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page
I2C Bus Busy Reset
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
09-29-2011 11:23 AM
Can anyone tell me how to reset bit 2 (BB - Bus Busy) in the CR register (I2C core) when a stop condition doesn't occur? I would like the configuration untouched so I don't have to re-initialize the core.Re: I2C Bus Busy Reset
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
09-29-2011 11:38 AM
BB is in Status Register (SR), which is a Read only register.
Re: I2C Bus Busy Reset
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
09-29-2011 11:46 AM
Correct, but how do I reset the core to clear the BB?
Re: I2C Bus Busy Reset
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
09-29-2011 11:53 AM
Writre to the SOFTR register (this is documented in the I2C core datasheet).
Re: I2C Bus Busy Reset
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
09-29-2011 12:05 PM
I read about that but I wasn't sure if the core needed to re-initialized. Do you know? I looked through the .c .h files and I couldn't find anything on how to write to the SOFTR register. Can you point me in the right direction on how to do this?
Re: I2C Bus Busy Reset
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
09-29-2011 12:10 PM
According to the datasheet, the SOFTR register offset is 0x040, so simply do a memory write to the (I2C BASEADDR)+0x040.
Re: I2C Bus Busy Reset
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
09-29-2011 12:17 PM
Thank you. Do you know if it clears the core initialization?
Re: I2C Bus Busy Reset
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
09-29-2011 12:23 PM
It forces all core registers to their default values (you can take a look at the default values in the datasheet).
Re: I2C Bus Busy Reset
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
09-29-2011 12:51 PM
Bummer! I was hoping to avoid that. Thanks for you help.



