From 5b2648440fd2fdf08e25e9a5912f15bd4d8e400a Mon Sep 17 00:00:00 2001 From: kirbylife Date: Thu, 24 Nov 2022 00:09:11 -0600 Subject: [PATCH] Now blink using a HAL --- Cargo.toml | 1 + src/main.rs | 32 ++++++++------------------------ 2 files changed, 9 insertions(+), 24 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index edba4c9..b7cdfe3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,6 +4,7 @@ version = "0.1.0" edition = "2021" [dependencies] +ruduino = { git = "https://github.com/avr-rust/ruduino", branch = "master" } [profile.release] lto = true diff --git a/src/main.rs b/src/main.rs index 8ea7370..e5431d1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,34 +1,18 @@ -#![feature(asm_experimental_arch)] #![no_std] #![no_main] -use core::arch::asm; -use core::ptr::{read_volatile, write_volatile}; - -const DDRB: *mut u8 = 0x24 as *mut u8; -const PORTB: *mut u8 = 0x25 as *mut u8; - -const CPU_SPEED: u32 = 16_000_000; +use ruduino::cores::current::port::B5 as led; +use ruduino::delay::delay_ms; +use ruduino::Pin; #[no_mangle] pub extern "C" fn main() -> ! { - unsafe { write_volatile(DDRB, 0b11111111) }; + led::set_output(); loop { - unsafe { write_volatile(PORTB, 0b00000000) }; - sleep(1); - unsafe { write_volatile(PORTB, 0b00100000) }; - sleep(1); + led::set_high(); + delay_ms(1000); + led::set_low(); + delay_ms(1000); } } - -fn sleep(time: u32) { - for _ in 0..(CPU_SPEED / 10 * time) { - unsafe { asm!("nop") } - } -} - -#[panic_handler] -fn panic(_info: &::core::panic::PanicInfo) -> ! { - loop {} -}