os/device/serial/
mod.rs

1//! 串行设备驱动模块
2//!
3//! 包含各种串行设备驱动程序的实现模块。
4
5use super::Driver;
6
7pub mod keyboard;
8pub mod uart16550;
9pub mod virtio_console;
10
11/// 串行设备驱动程序特征
12pub trait SerialDriver: Driver {
13    /// 从 tty 读取一个字节
14    fn read(&self) -> u8;
15
16    /// 向 tty 写入数据
17    fn write(&self, data: &[u8]);
18
19    /// 尝试读取一个字节,如果没有数据则返回 None
20    fn try_read(&self) -> Option<u8> {
21        Some(self.read())
22    }
23}