PS2非标准PC键盘调试心得
来源:互联网 发布:放大耳机音量软件 编辑:程序博客网 时间:2024/05/16 14:57
调试PS2的内容主要分为两个部分:1.设备(如键盘)发送数据给计算机。2.计算机在开机时设别设备。
调试的第一步,应先将设备(以下用键盘来代表设备)发送数据给计算机的通信协议调通,
这一步骤相对来说比较简单,调通后可以确保发送时序没有问题,因为在开机识别键盘时,需要应答计算机的命令。先用其他的好的键盘将你自己用单片机模拟的PS2键盘带入计算机中,然后调试程序,最终使你的PS2键盘能和计算机准确的通信。
调试完第一步,就可以接着调是PS2键盘的开机识别了。
在我们调试时先抓了一帧标准键盘的通信时序:
在上电的开始:
《图片无法上传》
在调试的最开始,我们一直不清楚A段时序是如何产生的,有什么作用,键盘是在什么时候开始发送自检通过命令0xAA(现在也不知道呵呵)。于是尝试着用CLK和DATA的与或运算,来找到发送自检通过的命令,但以失败告终。然后我们在单片机上电加了一段延时,通过调节延时的长短来避开A段,发送0xAA。没想到竟然通过了BIOS的检测,但当将硬盘接上的后,又不能通过检测。分析应该是由于加上硬盘后使A段的时间发生了变化故不能用延时做。
于是将延时去掉,初始化完后直接发送0xAA,(期间调了一段时间的PS2接收函数),竟然收到计算机的命令0x45(协议上每找到该命令),在回了0xFA后竟然通过了BIOS和Windos的检测。
接收函数最后ACK的输出与协议上的有点不同:
读完STOP为后,clk为高,延时,键盘将DATA拉低,在把CLK拉低,clk释放,data释放,键盘把CLK拉低,在拉高(协议上没有这两步)
- PS2非标准PC键盘调试心得
- 一种嵌入式PC非标准键盘的设计
- PS2键盘编程详细资料
- PS2键盘接口协议
- Arduino通过PS2模块使用PS2键盘
- PS2 读电脑键盘实验
- PS2 键盘 变 USB 键盘 设计图
- verilog语言RS232串口发送模块设计——采集ps2键盘数据在串口调试工具显示
- PS2接口键盘、鼠标改成USB接口
- MSP430学习笔记9-PS2键盘解码
- 基于FPGA的PS2接口键盘驱动
- C51模拟PS2键盘(一)
- C51模拟PS2键盘(二)
- C51模拟PS2键盘(三)
- C51模拟PS2键盘(四)
- verilog语言的ps2键盘驱动设计
- WinCE下非标准键盘的驱动程序设计
- WinCE下非标准键盘的驱动程序设计
- 网站与IE8不兼容的解决
- C语言常用位操作符
- google chrome突然不能访问IPv6地址的解决办法
- 找感觉
- feof()和EOF的用法—— C中文件结尾的判断
- PS2非标准PC键盘调试心得
- JS判断大全
- c中多维数组在函数中的使用和传参
- Matlab plot函数使用方法
- 使用游标删除会话
- duckling 页面编辑器 在源码模式编辑完后,需要恢复到编辑模式再保存,才可以
- struts2的result-type详解
- Python 网络爬虫
- 微软的免费电子书