Merge pull request #300 from thalesfragoso/clear-dma
stm32: Clear possible set flags after disabling DMA
This commit is contained in:
commit
40ea8298ee
3 changed files with 13 additions and 1 deletions
|
@ -66,6 +66,11 @@ pub(crate) async unsafe fn do_transfer(
|
|||
w.set_en(false);
|
||||
});
|
||||
while ch.cr().read().en() {}
|
||||
|
||||
// Disabling the DMA mid transfer might cause some flags to be set, clear them all for the
|
||||
// next transfer
|
||||
dma.ifcr()
|
||||
.write(|w| w.set_gif(channel_number as usize, true));
|
||||
});
|
||||
|
||||
#[cfg(dmamux)]
|
||||
|
|
|
@ -67,6 +67,13 @@ pub(crate) async unsafe fn do_transfer(
|
|||
w.set_en(false);
|
||||
});
|
||||
while ch.cr().read().en() {}
|
||||
|
||||
// Disabling the DMA mid transfer might cause some flags to be set, clear them all for the
|
||||
// next transfer
|
||||
dma.ifcr(channel_number as usize / 4).write(|w| {
|
||||
w.set_tcif(channel_number as usize % 4, true);
|
||||
w.set_teif(channel_number as usize % 4, true);
|
||||
});
|
||||
});
|
||||
|
||||
#[cfg(dmamux)]
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 8702a3a3bb83a59515dab2cf9f75952fa6edae8a
|
||||
Subproject commit ce2e32b927a3637d975e780274b8e0c985f5d992
|
Loading…
Reference in a new issue