【第7章】键盘开始
来源:互联网 发布:cctv5在线直播软件 编辑:程序博客网 时间:2024/05/17 06:16
现在进入第7章IO系统了,首先是键盘部分。键盘我们已经有了一点的认识了,在这之前已经有过这方面的实践了。
那么现在就来回顾下,为了不影响输出,先把各进程的执行体中的打印语句注释起来,再把时钟中断程序中的打印语句也注释起来。
那么先来写键盘中断处理程序,在kernel文件夹下建立一个keyboard.c文件,写一个Keyboard_Handler函数:
- /*====================================================================
- keyboard.c
- ====================================================================*/
- #include "type.h"
- #include "proto.h"
- void Keyboard_Handler(u32 irq_no)
- {
- Disp_Color_Str("*",0xc);
- }
打印一个“*”号就够了,接着还要对8259A进行设置,使其打开键盘中断,还得把IRQ_Table[0]设为Keyboard_Handler,把这些放到一个Init_Keyboard函数中来做,这个函数放到keyboard.c中:
- void Init_Keyboard()
- {
- Put_IRQ_Handler(1,Keyboard_Handler);
- Enable_IRQ(1);
- }
别忘了在proto.h添加声明:
- void Init_Keyboard();
然后就是对这个函数的调用了,在Init_PCB函数中调用:
- Init_Keyboard();
由于新加了一个文件,别忘了修改MAKEFILE,make一下,运行结果如图所示:
敲一个任意键,出现星号,可是再敲键盘,却什么也不输出了,这是为什么呢?等会再说?干嘛这样,一是为了循序渐进,二来多捞点分,发一个日记2分呢。
- 【第7章】键盘开始
- 【第7章】键盘再探
- 第6章 键盘
- 第7章 从CXControl开始
- 第7章 在项目开始之前
- 第1章 开始
- 第1章 开始
- 第1章 开始
- 开始敲键盘
- Gradle-user guide-第7章 Java 快速开始
- gradle--第7章、Java快速开始1
- gradle--第7章、Java快速开始2
- 明天开始六七章,鼠标键盘的概念
- C++Primer 读书笔记 第1章 开始
- 今天开始看第12章
- J-Framework 第4章 如何开始
- Linux教程-第3章开始行动
- 第2章 开始学习C++
- 请大家多多帮助啊
- 80后:月薪1500 存钱买房两不误(转)
- C的 学习
- 因为我们是一家人
- 新人感悟~
- 【第7章】键盘开始
- 【第7章】解决疑问
- 欢迎专家进来谈谈
- 80后能全做到就成熟了
- 中间件技术
- C++ Templates:非类型模板参数
- Programming Ruby中文版(第二版)读书笔记
- hello 091115
- 生命的意义