feat: led blinks
This commit is contained in:
parent
62b41ead9d
commit
b52e6b7be8
14 changed files with 647 additions and 0 deletions
119
src/main.rs
Normal file
119
src/main.rs
Normal file
|
@ -0,0 +1,119 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
use core::cell::RefCell;
|
||||
use avr_device::interrupt;
|
||||
use panic_halt as _;
|
||||
|
||||
type Console = arduino_hal::hal::usart::Usart0<arduino_hal::DefaultClock>;
|
||||
static CONSOLE: interrupt::Mutex<RefCell<Option<Console>>> = interrupt::Mutex::new(RefCell::new(None));
|
||||
|
||||
macro_rules! println {
|
||||
($($t:tt)*) => {
|
||||
interrupt::free(
|
||||
|cs|
|
||||
{
|
||||
if let Some(console) = CONSOLE.borrow(cs).borrow_mut().as_mut()
|
||||
{
|
||||
let _ = ufmt::uwriteln!(console, $($t)*);
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
fn put_console(console:Console)
|
||||
{
|
||||
interrupt::free(
|
||||
|cs|
|
||||
{
|
||||
*CONSOLE.borrow(cs).borrow_mut() = Some(console);
|
||||
}
|
||||
)
|
||||
}
|
||||
#[arduino_hal::entry]
|
||||
fn main() -> ! {
|
||||
let dp = arduino_hal::Peripherals::take().unwrap();
|
||||
let pins = arduino_hal::pins!(dp);
|
||||
let serial = arduino_hal::default_serial!(dp, pins, 57600);
|
||||
put_console(serial);
|
||||
println!("Hello World");
|
||||
|
||||
|
||||
let mut led02 = pins.d2.into_output();
|
||||
let mut led03 = pins.d3.into_output();
|
||||
let mut led04 = pins.d4.into_output();
|
||||
let mut led05 = pins.d5.into_output();
|
||||
let mut led06 = pins.d6.into_output();
|
||||
let mut led07 = pins.d7.into_output();
|
||||
//let mut led08 = pins.d8.into_output();
|
||||
let mut led09 = pins.d9.into_output();
|
||||
let mut led10 = pins.d10.into_output();
|
||||
let mut led11 = pins.d11.into_output();
|
||||
let mut led12 = pins.d12.into_output();
|
||||
let mut led13 = pins.d13.into_output();
|
||||
|
||||
loop {
|
||||
led02.toggle();
|
||||
arduino_hal::delay_ms(50);
|
||||
led02.toggle();
|
||||
led03.toggle();
|
||||
arduino_hal::delay_ms(50);
|
||||
led03.toggle();
|
||||
led04.toggle();
|
||||
arduino_hal::delay_ms(50);
|
||||
led04.toggle();
|
||||
led05.toggle();
|
||||
arduino_hal::delay_ms(50);
|
||||
led05.toggle();
|
||||
led06.toggle();
|
||||
arduino_hal::delay_ms(50);
|
||||
led06.toggle();
|
||||
led07.toggle();
|
||||
arduino_hal::delay_ms(50);
|
||||
led07.toggle();
|
||||
led09.toggle();
|
||||
arduino_hal::delay_ms(50);
|
||||
led09.toggle();
|
||||
led10.toggle();
|
||||
arduino_hal::delay_ms(50);
|
||||
led10.toggle();
|
||||
led11.toggle();
|
||||
arduino_hal::delay_ms(50);
|
||||
led11.toggle();
|
||||
led12.toggle();
|
||||
arduino_hal::delay_ms(50);
|
||||
led12.toggle();
|
||||
led13.toggle();
|
||||
arduino_hal::delay_ms(50);
|
||||
led13.toggle();
|
||||
led12.toggle();
|
||||
arduino_hal::delay_ms(50);
|
||||
led12.toggle();
|
||||
led11.toggle();
|
||||
arduino_hal::delay_ms(50);
|
||||
led11.toggle();
|
||||
led10.toggle();
|
||||
arduino_hal::delay_ms(50);
|
||||
led10.toggle();
|
||||
led09.toggle();
|
||||
arduino_hal::delay_ms(50);
|
||||
led09.toggle();
|
||||
led07.toggle();
|
||||
arduino_hal::delay_ms(50);
|
||||
led07.toggle();
|
||||
led06.toggle();
|
||||
arduino_hal::delay_ms(50);
|
||||
led06.toggle();
|
||||
led05.toggle();
|
||||
arduino_hal::delay_ms(50);
|
||||
led05.toggle();
|
||||
led04.toggle();
|
||||
arduino_hal::delay_ms(50);
|
||||
led04.toggle();
|
||||
led03.toggle();
|
||||
arduino_hal::delay_ms(50);
|
||||
led03.toggle();
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue