master
D4VID 8 months ago
parent 4b78e5bab9
commit 8f50251660

@ -13,32 +13,22 @@ fn panic_handler(_info: &PanicInfo) -> ! {
} }
const OUTPUT: *mut u32 = 0x2000_0000 as *mut u32; const OUTPUT: *mut u32 = 0x2000_0000 as *mut u32;
const BTNS: *mut u8 = 0x2000_0008 as *mut u8; // const BTNS: *mut u8 = 0x2000_0008 as *mut u8;
const SCREEN: *mut u32 = 0x2000_0080 as *mut u32;
#[entry] #[entry]
fn main() -> ! { fn main() -> ! {
let mut value: u32 = 1; let mut value: u32 = 1;
let mut btnA_prev = false; let mut offset: isize = 0;
let mut btnB_prev = false;
loop { loop {
let btns_value;
unsafe { unsafe {
btns_value = BTNS.read_volatile(); SCREEN.offset(offset).write_volatile(value);
}
let btnA = (btns_value & 0b00000001) > 0;
let btnB = (btns_value & 0b00000010) > 0;
if btnA && !btnA_prev {
value >>= 1;
} else if btnB && !btnB_prev {
value <<= 1;
} }
value <<= 1;
offset += 1;
if value == 0 { if value == 0 {
panic!(); panic!();
} }
unsafe {
OUTPUT.write_volatile(value);
}
btnA_prev = btnA;
btnB_prev = btnB;
} }
} }

Loading…
Cancel
Save