百科问答小站 logo
百科问答小站 font logo



如何将 usb 键盘信号转成 ps/2 信号? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

你要真能用单片机做出来的话,你可以拿着这个东西去找嵌入式的工作了,8-10K左右的工资,好好谈谈都没问题。

回到你的问题,你这个东西淘宝上有,随手搜搜能找到很多,价格也不贵,十块钱以内,只不过兼容性可能有问题,需要一个一个试。

还有,PS/2键盘其实比USB键盘好用吧?好的机械键盘都带PS/2接口,USB键盘还不能做到完全无冲。

USB协议和PS/2是完全不同的两种东西,虽然都是键盘鼠标,但差异太大了,就像同样都是交通工具,汽车和飞机的差异有多大,这两种协议就有多大。

USB协议是一个多层次的协议,键盘鼠标只是其中的一个Class,中间封装了好几层;PS/2则完全是裸信号,没什么封装。

USB以轮询的方式发送当前键盘被按下的键的键码,没有键盘按下或者弹起的事件;PS/2工作起来更像是以事件的方式通知主机哪个键被按下了或者哪个键被弹起了(电信号也是轮询的);二者工作频率完全不同,速度差异很大;USB用的扫描码和一般PS/2键盘用的扫描码也不是一套编码,具体的你可以看一下Linux的源码里有,反正完全是两套不同的东西。

基本上没有什么东西是相同的。

如果你要用单片机去实现,你需要:

1. 编程的基本技能(C语言)

2. 嵌入式开发的基本技能(熟悉嵌入式系统的开发环境和系统需求)

3. 了解USB控制器,UHCI/OHCI的驱动,并且可能需要开发对应的驱动(难度相当大,国内能独立写出完整的控制器驱动的人,应该不多,主要是这东西有点偏门不说,应用的也少,而且开发也都是一个团队干的)

4. 掌握HID协议

5. 掌握PS/2协议的具体内容

6. 在单片机上实现扫描码的映射,以及HID报文对应的串行输入、输出的实现(要在单片机上实现一个缓存)。

7. 了解PS/2的电气性能,并接线

说实话,你要真把这些都搞懂了,嵌入式开发水平应该算是很高的,靠这个技能吃饭都没问题,依靠这个技能找个8-10K工资的开发岗位问题都不大,甚至去小公司做CTO也都是有可能的。

-----------------------

评论里有人说我我人子弟,我最前面就说了,现成的东西淘宝上就卖几块钱,题主原来问题的意思就是想自己用单片机实现,不是我非要搞的这么复杂。




  

相关话题

  如果把电脑主机的两个 USB 接口用一根数据线连起来,会发生什么? 
  像豌豆荚之类的软件是如何通过USB数据线知道手机型号的? 
  为什么碰到几个做嵌入式开发的人都说做MCU开发没什么意思,要做基于Linux系统的嵌入式开发? 
  请问如何知道I2C线上面有没有信息传输? 
  最开始是谁提出安卓智能手机的充电器通用的呢?各大智能手机的制作商是如何达成共识的? 
  如何将 usb 键盘信号转成 ps/2 信号? 
  如何在不使用单片机等的情况下直接用电脑控制电机? 
  在Windows中,U盘或者移动硬盘关不掉时,怎么知道是被哪个程序占用了呢? 
  为什么USB(不管是typec,还是以前的)的插口不是一个简单的凹凸关系? 
  mac 能进行单片机(stm32)开发吗? 

前一个讨论
京张高铁准备怎么穿过五道口?
下一个讨论
intel i7 6700和4790k?





© 2025-06-17 - tinynew.org. All Rights Reserved.
© 2025-06-17 - tinynew.org. 保留所有权利