Open
Description
I want for example instead of this
use stm32f1::stm32f103 as pac;
let periph = pac::Peripherals::take().unwrap();
let usart1 = periph.USART1;
// ...
usart1.cr1.write(|w| {
w.ue().enabled();
w.m().m9();
w.pce().enabled();
w.ps().even();
w.te().enabled();
w.tcie().enabled();
w.re().disabled(); // <- First write
w
});
// ...
usart1.cr1.write(|w| {
w.ue().enabled();
w.m().m9();
w.pce().enabled();
w.ps().even();
w.te().enabled();
w.tcie().enabled();
w.re().enabled(); // <- Modified
w
});
// ...
usart1.cr1.write(|w| {
w.ue().enabled();
w.m().m9();
w.pce().enabled();
w.ps().even();
w.te().enabled();
w.tcie().enabled();
w.re().disabled(); // <- Modified
w
});
to do so
use stm32f1::stm32f103 as pac;
let periph = pac::Peripherals::take().unwrap();
let usart1 = periph.USART1;
// ...
const USART_BASE_CFG: pac::usart1::cr1::W = pac::usart1::cr1::INITIAL_VALUE
.ue().enabled()
.m().m9()
.pce().enabled()
.ps().even()
.te().enabled()
.tcie().enabled()
.re().disabled();
// ...
usart1.cr1.write(USART_BASE_CFG);
// ...
usart1.cr1.write(USART_BASE_CFG.re().enabled());
// ...
usart1.cr1.write(USART_BASE_CFG.re().disabled());
Or for example like this
let mut w = pac::usart1::cr1::INITIAL_VALUE;
w = w
.ue().enabled()
.m().m9()
.pce().enabled()
.ps().even()
.te().enabled()
.tcie().enabled()
.re().disabled();
usart1.cr1.write(w);
Is it possible to change svd2rust
to allow this?
Metadata
Metadata
Assignees
Labels
No labels