-
Notifications
You must be signed in to change notification settings - Fork 128
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
STM32: I2C peripheral is not reset #945
Comments
Yeah, fair point. I think the logic was to not have to initialize the hardware again, but it's weird semantic. I would rename the |
Then an additional API to actually reinit peripheral is required. |
Well, you would need to call the |
On I2cMaster::reset there is no actual reset of the I2C peripheral.
If there are some connectivity problems with I2C lines, this could lead, that no event is generated, transaction is not finished and peripheral stays in hanging state.
I think, resetting peripheral needs to be added to the reset routine.
I2C2->CR1 &= ~I2C_CR1_PE; modm::delay(5us); I2C2->CR1 |= I2C_CR1_PE;
The text was updated successfully, but these errors were encountered: