打印

模拟PS2鼠标键盘问题

[复制链接]
5108|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mymystery|  楼主 | 2008-12-21 20:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
mymystery|  楼主 | 2008-12-21 20:18 | 只看该作者

..

俺的笨方法是开2个中断接收主机拉低时钟线的信号 然后置标志在主循环中接收主机发过来的0xff等信息并做出相应的回复,单独做一个都没问题 可是把鼠标给加近来就有2个中断了,问题就出来了,对于鼠标发来的信息不能做出即使的回复应为还在回复键盘信息中,不知道怎么办了。

使用特权

评论回复
板凳
mymystery|  楼主 | 2008-12-21 21:40 | 只看该作者

。。。

有做过的仁兄可以发表哈意见

使用特权

评论回复
地板
mymystery|  楼主 | 2008-12-22 09:30 | 只看该作者

!!!

如何模拟PS2鼠标键盘 目前电脑上电初始化过程通不过,两个在一起会打架,求思路

使用特权

评论回复
5
xwj| | 2008-12-22 09:54 | 只看该作者

LZ 需要先学会再一个单片机上作出2个不相干的任务

去学学状态机的编程思想吧...




实在不会?
那就用2个单片机:-)

使用特权

评论回复
6
sz_kd| | 2008-12-22 10:03 | 只看该作者

理解操作系统可以同时执行多个任务

就知道怎么做了

使用特权

评论回复
7
古道热肠| | 2008-12-22 10:19 | 只看该作者

中断程序为键盘服务时就不让鼠标发信息,反之亦然

PS/2设备自己有缓冲,主机有控制权,轮不到它发言时先得自己记住相关内容,等主机清闲时,再一并发上去.

使用特权

评论回复
8
mymystery|  楼主 | 2008-12-22 11:00 | 只看该作者

谢谢大家帮我解答

目前的问题就是如果主机同时发送鼠标和键盘的初始化信息,单片机该如何应对呢,是回复完一个 再回复另一个吗?但是主机已经发出发送数据请求,拉低了时钟线做为标志,岂不是要等模拟键盘接收回复完了才能接收回复模拟鼠标的,好像时序就不对了哦。毕竟主机在你回复键盘之前都已经对鼠标有发送数据的请求了啊

使用特权

评论回复
9
呆板书生| | 2008-12-22 11:24 | 只看该作者

就是只能做完一个再一个

单片机的速度比较低,所以只能做完一个再做另一个。

主机如果没有收到应答,其实会重发的,多次重发没有反应才会记为失效。

当然,如果主机嫌你做得慢,你就用两个单片机处理,

使用特权

评论回复
10
xwj| | 2008-12-22 11:31 | 只看该作者

PS2鼠标和键盘的线路是分开的啊

为什么“要等模拟键盘接收回复完了才能接收回复模拟鼠标的”???

而且,主机端的数据收发是由键盘鼠标端来发时钟同步的,什么时候开始完全是键盘鼠标说了算
就算“要等模拟键盘接收回复完了才能接收回复模拟鼠标的”也没啥问题呀

使用特权

评论回复
11
mymystery|  楼主 | 2008-12-22 11:33 | 只看该作者

回LS

时钟确实是自己控制的,但是好像不能同时产生2个时钟呢,只有一个一个的处理,接收完一个并回复然后再产生另外一个时钟接收回复。

使用特权

评论回复
12
mymystery|  楼主 | 2008-12-22 11:50 | 只看该作者

刚测试了下

发送键盘信息所需的时间不会超过10MS 满足PS2所规定的从拉低时钟发送数据请求到产生时钟不能超过15MS的要求 所以接收发送模拟鼠标的时序应该是满足条件的

使用特权

评论回复
13
xsmcu| | 2008-12-22 12:14 | 只看该作者

参考一下

我的经验是,整个上电初始化的过程是一个串行的过程,主要要处理的问题是谁先发动这个过程,按照正常的顺序应该是上位机先发0xFF,然后ps2回复自检结果,不过这个过程有一个比较大的难点就是然后如何正确捕捉上位机的oxff,因为上位机要发信息前是通过下拉时钟线至少100 微秒左右的时间来抑制通讯,再通过下拉数据线来应用请求发送然后释放时钟,这个过程单纯用单片机来模拟捕获是不稳定的,所以比较简易的做法就是直接先下位机开始,直接一直发送自检结果,直到上位机有回复在进行下面的初始化过程,这样基本上是行的通的,可以参考一下!

使用特权

评论回复
14
工控秀才| | 2008-12-22 12:44 | 只看该作者

去看看我的一个小MCU控制2路PS2的方案

控制芯片也是采用软件模拟的,2路PS2数据同时过来也不会丢失数据,还是多核心的优势呀,哈哈.

使用特权

评论回复
15
mymystery|  楼主 | 2008-12-22 13:29 | 只看该作者

回工控秀才

有没用一个单片机搞定的方法呢。2路PS2数据

使用特权

评论回复
16
工控秀才| | 2008-12-22 13:49 | 只看该作者

回mymystery,有

当然有啦,我把联接都搬过来了,你自己看看我的是否是一个SSOP16的IC,接了2个PS2吧.SSOP16 IC的资源是,8路程序指针,1K OTP,128RAM.价格实惠,有需要请和我联系.
相关链接:http://blog.gkong.com/more.asp?name=gongkong&id=55155

使用特权

评论回复
17
sz_kd| | 2008-12-22 13:55 | 只看该作者

LS明显做广告

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

93

帖子

0

粉丝