123456789101112131415161718192021222324252627282930313233 |
- //! Disables the JTAG ports to give access to pb3, pb4 and PA15
- #![deny(unsafe_code)]
- #![no_main]
- #![no_std]
- use panic_halt as _;
- use cortex_m_rt::entry;
- use stm32f1xx_hal::{pac, prelude::*};
- #[entry]
- fn main() -> ! {
- let p = pac::Peripherals::take().unwrap();
- let mut rcc = p.RCC.constrain();
- let mut gpioa = p.GPIOA.split(&mut rcc.apb2);
- let mut gpiob = p.GPIOB.split(&mut rcc.apb2);
- let mut afio = p.AFIO.constrain(&mut rcc.apb2);
- let (pa15, pb3, pb4) = afio.mapr.disable_jtag(gpioa.pa15, gpiob.pb3, gpiob.pb4);
- let mut pa15 = pa15.into_push_pull_output(&mut gpioa.crh);
- let mut pb3 = pb3.into_push_pull_output(&mut gpiob.crl);
- let mut pb4 = pb4.into_push_pull_output(&mut gpiob.crl);
- loop {
- pa15.toggle().unwrap();
- pb3.toggle().unwrap();
- pb4.toggle().unwrap();
- cortex_m::asm::delay(8_000_000);
- }
- }
|