note on circular mode DMA

This commit is contained in:
eZio Pan 2023-12-21 16:59:20 +08:00
parent d832d45c0b
commit 745d618ab7
2 changed files with 8 additions and 0 deletions

View File

@ -23,6 +23,10 @@ use crate::pac::bdma::{regs, vals};
#[non_exhaustive] #[non_exhaustive]
pub struct TransferOptions { pub struct TransferOptions {
/// Enable circular DMA /// Enable circular DMA
///
/// Note:
/// If you enable circular mode manually, you may want to build and `.await` the `Transfer` in a separate task.
/// Since DMA in circular mode need manually stop, `.await` in current task would block the task forever.
pub circular: bool, pub circular: bool,
/// Enable half transfer interrupt /// Enable half transfer interrupt
pub half_transfer_ir: bool, pub half_transfer_ir: bool,

View File

@ -30,6 +30,10 @@ pub struct TransferOptions {
/// FIFO threshold for DMA FIFO mode. If none, direct mode is used. /// FIFO threshold for DMA FIFO mode. If none, direct mode is used.
pub fifo_threshold: Option<FifoThreshold>, pub fifo_threshold: Option<FifoThreshold>,
/// Enable circular DMA /// Enable circular DMA
///
/// Note:
/// If you enable circular mode manually, you may want to build and `.await` the `Transfer` in a separate task.
/// Since DMA in circular mode need manually stop, `.await` in current task would block the task forever.
pub circular: bool, pub circular: bool,
/// Enable half transfer interrupt /// Enable half transfer interrupt
pub half_transfer_ir: bool, pub half_transfer_ir: bool,