Rework a simpler example to use agb::sync instead of bare_metal.

This commit is contained in:
Alissa Rao 2022-08-16 19:20:15 -07:00
parent 89c76616b6
commit 6d51d1bef3
No known key found for this signature in database
GPG key ID: 9314D8F6745E881E

View file

@ -1,19 +1,17 @@
#![no_std]
#![no_main]
use core::cell::RefCell;
use bare_metal::{CriticalSection, Mutex};
use agb::sync::Static;
#[agb::entry]
fn main(_gba: agb::Gba) -> ! {
let count = Mutex::new(RefCell::new(0));
let count = Static::new(0);
let _a = agb::interrupt::add_interrupt_handler(
agb::interrupt::Interrupt::VBlank,
|key: CriticalSection| {
let mut count = count.borrow(key).borrow_mut();
agb::println!("Hello, world, frame = {}", *count);
*count += 1;
|_| {
let cur_count = count.read();
agb::println!("Hello, world, frame = {}", cur_count);
count.write(cur_count + 1);
},
);
loop {}