pub fn init() {
	unsafe {
		let fpioa = pac::FPIOA::ptr();

		// map UARTHS_rx and UARTHS_tx to io4 and io5
		(*fpioa).io[IO4].write(|w| {
			w.ch_sel().bits(FUNC_UARTHS_RX)
				.ie_en().set_bit()
				.st().set_bit()
		});
		(*fpioa).io[IO5].write(|w| {
			w.ch_sel().bits(FUNC_UARTHS_TX)
				.ds().bits(0xf)
				.oe_en().set_bit()
		});
	}
}
// initialization of fpioa is performed only at the beginning of the SBI, 
// thus we don't create an instance of it 
initialization of fpioa is performed only at the beginning of the SBI,
thus we don't create an instance of it
initialization of fpioa is performed only at the beginning of the SBI thus we don ' t create an instance of it
pub fn init() {
	unsafe {
		let fpioa = pac::FPIOA::ptr();
		// map UARTHS_rx and UARTHS_tx to io4 and io5
		(*fpioa).io[IO4].write(|w| {
			w.ch_sel().bits(FUNC_UARTHS_RX)
				.ie_en().set_bit()
				.st().set_bit()
		});
		(*fpioa).io[IO5].write(|w| {
			w.ch_sel().bits(FUNC_UARTHS_TX)
				.ds().bits(0xf)
				.oe_en().set_bit()
		});
	}
}
pub fn init ( ) { unsafe { let fpioa = pac :: FPIOA :: ptr ( ) ; // map UARTHS_rx and UARTHS_tx to io4 and io5 ( * fpioa ) . io [ IO4 ] . write ( | w | { w . ch_sel ( ) . bits ( FUNC_UARTHS_RX ) . ie_en ( ) . set_bit ( ) . st ( ) . set_bit ( ) } ) ; ( * fpioa ) . io [ IO5 ] . write ( | w | { w . ch_sel ( ) . bits ( FUNC_UARTHS_TX ) . ds ( ) . bits ( 0xf ) . oe_en ( ) . set_bit ( ) } ) ; } }
initialization of fpioa is performed only at the beginning of the SBI,
thus we don't create an instance of it
initialization of fpioa is performed only at the beginning of the SBI thus we don ' t create an instance of it