基于Tock的文本显示驱动实现解析
1. 延迟回调函数
延迟回调使用到两个函数: initialize_callback_handle 和 schedule_deferred_callback 。
- initialize_callback_handle :接收延迟调用句柄作为参数,胶囊可以用它来安排调用,这个句柄是内核延迟调用数组中的索引。
- schedule_deferred_callback :请求内核在能执行中断处理程序时尽快回调胶囊。
2. TextScreen特性实现
在完成胶囊初始化后,可实现 TextScreen 特性,将胶囊连接到Tock提供的通用 TextScreen 驱动。以下是部分实现代码:
impl<
'a, L: Led, A: Alarm<'a>
> LedMatrixText<'a, L, A> {
/* ... */
fn get_buffer_len(&self) -> usize {
self.buffer.map_or(
0, |buffer| buffer.len()
)
}
}
impl<
'a, L: Led, A: Alarm<'a>
> TextScreen<'a> for Le
超级会员免费看
订阅专栏 解锁全文
55

被折叠的 条评论
为什么被折叠?



