Add a Dbgmcu struct capable of enabling all relevant DBGMCU.cr fields.

Includes the addition of a `dbgmcu!(...)` macro table which currently takes
the form of

	(cr, $fn_name:ident)

where `$fn_name` is something like `set_dbgsleep_d1` etc.

The method is unsafe, since it's performing unsafe PAC operations.

Two examples modified to demonstrate its usage.
This commit is contained in:
Bob McWhirter
2021-07-22 14:18:48 -04:00
parent 3655ceff27
commit d68f2617e6
5 changed files with 50 additions and 12 deletions

View File

@ -0,0 +1,13 @@
pub struct Dbgmcu {}
impl Dbgmcu {
pub unsafe fn enable_all() {
crate::pac::DBGMCU.cr().modify(|cr| {
crate::pac::dbgmcu! {
(cr, $fn_name:ident) => {
cr.$fn_name(true);
};
}
});
}
}

View File

@ -31,6 +31,8 @@ pub mod adc;
pub mod clock;
#[cfg(dac)]
pub mod dac;
#[cfg(dbgmcu)]
pub mod dbgmcu;
#[cfg(all(eth, feature = "net"))]
pub mod eth;
#[cfg(exti)]