aboutsummaryrefslogtreecommitdiff
path: root/embassy-stm32
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2024-07-01 23:18:55 +0000
committerGitHub <[email protected]>2024-07-01 23:18:55 +0000
commit976e9f7fbaf9a7c1d68ebe19eb01f70b3e1410ae (patch)
treeb80472950a7106d4007779dd5e50eead256cbcaf /embassy-stm32
parent00babd2ec4c618f910706e50cb2b0742bb9de6dd (diff)
parent18ba56534bbff5fb00382e54aba8dbc32365e896 (diff)
Merge pull request #3104 from birdistheword96/main
Fix: Ensure I2C bus is free before master-write operation
Diffstat (limited to 'embassy-stm32')
-rw-r--r--embassy-stm32/src/i2c/v2.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/embassy-stm32/src/i2c/v2.rs b/embassy-stm32/src/i2c/v2.rs
index 80163c287..8c8df79dd 100644
--- a/embassy-stm32/src/i2c/v2.rs
+++ b/embassy-stm32/src/i2c/v2.rs
@@ -109,6 +109,11 @@ impl<'d, M: Mode> I2c<'d, M> {
109 timeout.check()?; 109 timeout.check()?;
110 } 110 }
111 111
112 // Wait for the bus to be free
113 while info.regs.isr().read().busy() {
114 timeout.check()?;
115 }
116
112 let reload = if reload { 117 let reload = if reload {
113 i2c::vals::Reload::NOTCOMPLETED 118 i2c::vals::Reload::NOTCOMPLETED
114 } else { 119 } else {