blob: 3781a121adefbdc2232e2a18755f85c3623acef9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#![no_main]
#![no_std]
use core::{fmt::Write, ffi::c_int};
use cortex_m_rt::entry;
use microbit::{
hal::uart::{Uart, Baudrate, Parity},
Board,
};
extern crate panic_halt;
extern crate microbit;
extern "C" {
fn c_add_one(x: c_int) -> c_int;
}
pub fn add_one(x: i32) -> i32 {
unsafe {
c_add_one(x)
}
}
#[entry]
fn main() -> ! {
let board = Board::take().unwrap();
let mut serial = Uart::new(
board.UART0,
board.uart.into(),
Parity::EXCLUDED,
Baudrate::BAUD115200,
);
let ten_plus_one = add_one(10);
writeln!(serial, "10 + 1 = {}\r", ten_plus_one).unwrap();
loop {}
}
|