diff --git a/examples/bare6.rs b/examples/bare6.rs index b0beaecf084d9a0c2a2e3f0755a55fadd1959ac1..9eda79d3ea4dcc817e50de0af1eaef41ab926573 100644 --- a/examples/bare6.rs +++ b/examples/bare6.rs @@ -83,22 +83,22 @@ fn clock_out(rcc: &RCC, gpioc: &GPIOC) { // mco2 : SYSCLK = 0b00 // mcopre : divide by 4 = 0b110 rcc.cfgr - .modify(|_, w| unsafe { w.mco2().bits(0b00).mco2pre().bits(0b110) }); + .modify(|_, w| w.mco2().sysclk().mco2pre().div4() ); // power on GPIOC, RM0368 6.3.11 - rcc.ahb1enr.modify(|_, w| w.gpiocen().set_bit()); + rcc.ahb1enr.modify(|_, w| w.gpiocen().enabled()); // MCO_2 alternate function AF0, STM32F401xD STM32F401xE data sheet // table 9 // AF0, gpioc reset value = AF0 // configure PC9 as alternate function 0b10, RM0368 6.2.10 - gpioc.moder.modify(|_, w| w.moder9().bits(0b10)); + gpioc.moder.modify(|_, w| w.moder9().alternate()); // otyper reset state push/pull, in reset state (don't need to change) // ospeedr 0b11 = very high speed - gpioc.ospeedr.modify(|_, w| w.ospeedr9().bits(0b11)); + gpioc.ospeedr.modify(|_, w| w.ospeedr9().very_high_speed()); } // 0. Compile and run the example, in 16Mhz @@ -173,15 +173,15 @@ fn clock_out(rcc: &RCC, gpioc: &GPIOC) { // // What is the frequency of MCO2 read by the oscilloscope? // -// ** your answer here ** +// ** 16MHz ** // // Compute the value of SYSCLK based on the oscilloscope reading. // -// ** your answer here ** +// ** 64MHz ** // // What is the peak to peak reading of the signal? // -// ** your answer here ** +// ** 8.4V ** // // Make a screen dump or photo of the oscilloscope output. // Save the the picture as "bare_6_64mhz_high_speed".