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:
@ -14,6 +14,7 @@ use embassy::time::Clock;
|
||||
use embassy::util::Forever;
|
||||
use embassy_stm32::dma::NoDma;
|
||||
use embassy_stm32::usart::{Config, Uart};
|
||||
use embassy_stm32::dbgmcu::Dbgmcu;
|
||||
use example_common::*;
|
||||
use embassy_traits::uart::Write as _Write;
|
||||
|
||||
@ -72,13 +73,9 @@ fn main() -> ! {
|
||||
|
||||
let pp = unsafe { pac::Peripherals::steal() };
|
||||
|
||||
pp.DBGMCU.cr.modify(|_, w| {
|
||||
w.dbgsleep_d1().set_bit();
|
||||
w.dbgstby_d1().set_bit();
|
||||
w.dbgstop_d1().set_bit();
|
||||
w.d1dbgcken().set_bit();
|
||||
w
|
||||
});
|
||||
unsafe {
|
||||
Dbgmcu::enable_all();
|
||||
}
|
||||
|
||||
pp.RCC.ahb4enr.modify(|_, w| {
|
||||
w.gpioaen().set_bit();
|
||||
|
Reference in New Issue
Block a user