123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- //! Turns the user LED on
- //!
- //! If compiled for the stm32f103, this assumes that an active low LED is connected to pc13 as
- //! is the case on the blue pill board.
- //!
- //! If compiled for the stm32f100, this assumes that an active high LED is connected to pc9
- //!
- //! Note: Without additional hardware, PC13 should not be used to drive a LED, see
- //! section 5.1.2 of the reference manual for an explanation.
- //! This is not an issue on the blue pill.
- #![deny(unsafe_code)]
- #![no_main]
- #![no_std]
- use panic_halt as _;
- use cortex_m_rt::entry;
- use embedded_hal::digital::v2::OutputPin;
- use stm32f1xx_hal::{pac, prelude::*};
- #[entry]
- fn main() -> ! {
- let p = pac::Peripherals::take().unwrap();
- let mut rcc = p.RCC.constrain();
- let mut gpioc = p.GPIOC.split(&mut rcc.apb2);
- #[cfg(feature = "stm32f100")]
- gpioc
- .pc9
- .into_push_pull_output(&mut gpioc.crh)
- .set_high()
- .unwrap();
- #[cfg(feature = "stm32f101")]
- gpioc
- .pc9
- .into_push_pull_output(&mut gpioc.crh)
- .set_high()
- .unwrap();
- #[cfg(any(feature = "stm32f103", feature = "stm32f105", feature = "stm32f107"))]
- gpioc
- .pc13
- .into_push_pull_output(&mut gpioc.crh)
- .set_low()
- .unwrap();
- loop {}
- }
|