fix: fix qspi waiting condition

This commit is contained in:
Liu Hancheng 2025-01-05 20:00:15 +08:00
parent ad2f7c329b
commit e15e30add2

View File

@ -172,7 +172,7 @@ impl<'d, T: Instance, M: PeriMode> Qspi<'d, T, M> {
}); });
for b in buf { 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() }; *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 // STM32H7 does not have dmaen
#[cfg(not(stm32h7))] #[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 transfer
} }