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 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]
fn main() -> ! {
let mut value: u32 = 1;
let mut btnA_prev = false;
let mut btnB_prev = false;
let mut offset: isize = 0;
loop {
let btns_value;
unsafe {
btns_value = BTNS.read_volatile();
}
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;
SCREEN.offset(offset).write_volatile(value);
}
value <<= 1;
offset += 1;
if value == 0 {
panic!();
}
unsafe {
OUTPUT.write_volatile(value);
}
btnA_prev = btnA;
btnB_prev = btnB;
}
}

Loading…
Cancel
Save