百科问答小站 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也都是有可能的。

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

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




  

相关话题

  用stm32做循迹小车遇到了一些问题该如何解决? 
  Rust有可能在嵌入式领域取代C的位置吗? 
  为什么 SATA 要单独供电,而不像 USB 供电和数据一条线? 
  怎样DIY一个简单的四旋翼? 
  PS2 接口键盘和 USB 接口键盘间有何区别? 
  为什么不将 USB 接口做成双面可插的? 
  这种接口的作用是什么? 
  怎么给设备加个usb口读其他设备上数据? 
  Arduino写程序,怎么节省动态内存? 
  Lightning 和 USB Type-C 设计上各有什么优劣? 

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





© 2024-05-20 - tinynew.org. All Rights Reserved.
© 2024-05-20 - tinynew.org. 保留所有权利