diff --git a/examples/bare5.rs b/examples/bare5.rs index 70c384be60e8923281e91f09d6332749482c8acf..c440778767412cf4ddca2129f1481ccafff42bb3 100644 --- a/examples/bare5.rs +++ b/examples/bare5.rs @@ -174,7 +174,7 @@ fn main() -> ! { let rcc = unsafe { &mut *RCC::get() }; // get the reference to RCC in memory let gpioa = unsafe { &mut *GPIOA::get() }; // get the reference to GPIOA in memory - // test(); // uncomment to run test + test(); // uncomment to run test idle(rcc, gpioa); loop {} } @@ -182,26 +182,32 @@ fn main() -> ! { // user application fn idle(rcc: &mut RCC, gpioa: &mut GPIOA) { // power on GPIOA - let r = rcc.AHB1ENR.read(); // read - rcc.AHB1ENR.write(r | 1 << (0)); // set enable + // let r = rcc.AHB1ENR.read(); // read + // rcc.AHB1ENR.write(r | 1 << (0)); // set enable + rcc.AHB1ENR.modify(0, 1, 0b1); // configure PA5 as output - let r = gpioa.MODER.read() & !(0b11 << (5 * 2)); // read and mask - gpioa.MODER.write(r | 0b01 << (5 * 2)); // set output mode + gpioa.MODER.modify(5*2, 2, 0b01); + // let r = gpioa.MODER.read() & !(0b11 << (5 * 2)); // read and mask + // gpioa.MODER.write(r | 0b01 << (5 * 2)); // set output mode loop { // set PA5 high - //gpioa.BSRRH.write(1 << 5); // set bit, output hight (turn on led) - gpioa.ODR.write(gpioa.ODR.read() | (1 << 5)); - - wait(10_000); + // gpioa.BSRRH.write(1 << 5); // set bit, output hight (turn on led) + // gpioa.ODR.write(gpioa.ODR.read() | (1 << 5)); + gpioa.ODR.modify(5, 1, 0b1); + wait(1_119_982); + // wait(10_000); // set PA5 low - //gpioa.BSRRL.write(1 << 5); // clear bit, output low (turn off led) - gpioa.ODR.write(gpioa.ODR.read() & !(1 << 5)); - wait(10_000); + // gpioa.BSRRL.write(1 << 5); // clear bit, output low (turn off led) + // gpioa.ODR.write(gpioa.ODR.read() & !(1 << 5)); + gpioa.ODR.modify(5, 1, 0b0); + // wait(10_000); + wait(1_119_982); } -} +} + // 0. Build and run the application. //