From 1d0c45e4281c805fe08d49d62fa9b710aa532513 Mon Sep 17 00:00:00 2001 From: Andelf Date: Sun, 5 May 2024 18:30:47 +0800 Subject: [PATCH] demo: uart tx for v003 --- examples/ch32v003/src/bin/uart_tx.rs | 35 ++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 examples/ch32v003/src/bin/uart_tx.rs diff --git a/examples/ch32v003/src/bin/uart_tx.rs b/examples/ch32v003/src/bin/uart_tx.rs new file mode 100644 index 0000000..4dda9ce --- /dev/null +++ b/examples/ch32v003/src/bin/uart_tx.rs @@ -0,0 +1,35 @@ +#![no_std] +#![no_main] +#![feature(type_alias_impl_trait)] + +use hal::delay::Delay; +use hal::gpio::{Level, Output}; +use hal::println; +use hal::usart::UartTx; +use qingke::riscv; +use {ch32_hal as hal, panic_halt as _}; + +#[qingke_rt::entry] +fn main() -> ! { + hal::debug::SDIPrint::enable(); + let mut config = hal::Config::default(); + config.rcc = hal::rcc::Config::SYSCLK_FREQ_48MHZ_HSE; + let p = hal::init(config); + + let mut uart = UartTx::new_blocking(p.USART1, p.PC0, Default::default()).unwrap(); + + println!("dev init ok"); + + uart.blocking_write(b"Hello, world!\r\n").unwrap(); + + let mut delay = Delay; + + let mut led = Output::new(p.PD6, Level::Low, Default::default()); + loop { + led.toggle(); + + uart.blocking_write(b"Hello, world!\r\n").unwrap(); + + delay.delay_ms(1000); + } +}