From e15e30add2c483b0154af1c8b6f7fcbf0bcd7d7d Mon Sep 17 00:00:00 2001 From: Liu Hancheng Date: Sun, 5 Jan 2025 20:00:15 +0800 Subject: [PATCH 1/2] fix: fix qspi waiting condition --- embassy-stm32/src/qspi/mod.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/embassy-stm32/src/qspi/mod.rs b/embassy-stm32/src/qspi/mod.rs index 0c65d0556..ffa9798b8 100644 --- a/embassy-stm32/src/qspi/mod.rs +++ b/embassy-stm32/src/qspi/mod.rs @@ -172,7 +172,7 @@ impl<'d, T: Instance, M: PeriMode> Qspi<'d, T, M> { }); for b in buf { - while !T::REGS.sr().read().tcf() && !T::REGS.sr().read().ftf() {} + while !T::REGS.sr().read().tcf() && (T::REGS.sr().read().flevel() == 0) {} *b = unsafe { (T::REGS.dr().as_ptr() as *mut u8).read_volatile() }; } @@ -402,7 +402,10 @@ impl<'d, T: Instance> Qspi<'d, T, Async> { // STM32H7 does not have dmaen #[cfg(not(stm32h7))] - T::REGS.cr().modify(|v| v.set_dmaen(true)); + T::REGS.cr().modify(|v| { + v.set_en(true); + v.set_dmaen(true) + }); transfer } From cfd5c92375a10c33c9aeb3cecbc2bdb6dd399f1b Mon Sep 17 00:00:00 2001 From: Liu Hancheng Date: Sun, 5 Jan 2025 20:10:45 +0800 Subject: [PATCH 2/2] fix typo --- embassy-stm32/src/qspi/mod.rs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/embassy-stm32/src/qspi/mod.rs b/embassy-stm32/src/qspi/mod.rs index ffa9798b8..3d5b31815 100644 --- a/embassy-stm32/src/qspi/mod.rs +++ b/embassy-stm32/src/qspi/mod.rs @@ -402,10 +402,7 @@ impl<'d, T: Instance> Qspi<'d, T, Async> { // STM32H7 does not have dmaen #[cfg(not(stm32h7))] - T::REGS.cr().modify(|v| { - v.set_en(true); - v.set_dmaen(true) - }); + T::REGS.cr().modify(|v| v.set_dmaen(true)); transfer }