1
0
mirror of https://github.com/rcore-os/rCore.git synced 2024-11-23 00:16:17 +04:00

fix getchar on K210

This commit is contained in:
WangRunji 2018-12-26 23:53:14 +08:00
parent 4b17055f30
commit 0d957ff1a6
2 changed files with 6 additions and 4 deletions

View File

@ -33,9 +33,11 @@ fn putchar(c: u8) {
pub fn getchar() -> char {
let c = if cfg!(feature = "board_k210") {
unsafe {
while RXDATA.read_volatile() & (1 << 31) == 0 {}
(RXDATA as *const u8).read_volatile()
loop {
let rxdata = unsafe { RXDATA.read_volatile() };
if rxdata & (1 << 31) == 0 {
break rxdata as u8;
}
}
} else if cfg!(feature = "m_mode") {
(super::BBL.mcall_console_getchar)() as u8

View File

@ -40,7 +40,7 @@ fn get_line() -> String {
loop {
let c = get_char();
match c {
'\u{7f}' /* '\b' */ => {
'\u{8}' | '\u{7f}' /* '\b' */ => {
if s.pop().is_some() {
print!("\u{7f}");
}