2018年4月的一天,某手柄刚刚参加完某比赛。结果不尽如人意,遂从新沉迷 osu! 这款音乐游戏,但愿可以拥有一台趁手的小型键盘,无奈淘宝价格广泛过百,便尝试自造一台。html
全文大部份内容根据本身数月前的经验和操做过程猜想和总结,因此有大量错误在所不免,还请各位大佬包涵并指出错误以改进本文!segmentfault
本节介绍了 项目的需求,选型,和 首次刷写程序,并使用 例程,完成了基本的 USB键盘 功能,完整项目可在 个人博客 获取,该部分源码可在 百度网盘 提取码33dt 下载查看。浏览器
注:
开发环境的操做系统为 Windows 10 1803 x64
在开发过程当中可能会须要如下开发设计软件:(本文暂时还所有没用)
Keil μVision 5
Altium Designer 10
AutoCAD 2019测试
成品设备可在 个人淘宝店铺 直接购买。spa
制做出一个键盘,让其能够响应操做,而且键值能够配置,若是可能的话,最好还有RGB灯光和模拟鼠标按键功能操作系统
进行拆分.net
搜索某宝,某度和某应,找支持USB的单片机或键盘IC,找到以下可使用的型号:设计
最终基于“省钱”和“响应速度够快”两个想法的状况下, 采用 CH551G 型芯片(后期因为IO口不够用更换为了CH552T型),封装针脚定义以下图。3d
CH551G 为 SOP16 封装,无 DIP 封装版本,故购买了 SOP16 测试座一个(约¥14),将其转为 DIP 插口插入面包板。code
接下来,给单片机链接 USB 线以用于链接至计算机,按照针脚定义,USB 以及供电针脚定义以下
P12:USB Data P
P13:USB Data M
P15:VCC
P14:GND
而后,参照 CH552/CH551 型单片机规格书的要求,给 P16 V33 以及 P15 VCC 分别接 0.1μF 电容至 P14 GND 上。
下载安装 WCHISPTool 链接数据线至计算机,可见 标签页 8位CH55X系列 下,在USB设备列表中已识别出设备,显示为 CH551。
按照官方规格书说明,CH55x 提供了内置的 BootLoader ,正常来讲按照下图来接就好……可是很玄学……在按照图像接好后并无什么卵用……
最终我按照下图接线,成功工做……(D+反了别吐槽)
下载例程包,而后进入目录 \EVT\EXAM\USB\Device
,按住刚才设置的 刷写按钮 ,打开 WCHISPTool ,切换至标签页 8位CH55X系列 下,在固件中选择目录中的文件 CompositeKM.hex ,进行刷入,链接 P15 到一个按钮,而后接至 GND ,按下按钮,电脑收到按键响应。
这个固件的对应源码是 CompositeKM.C 其中的源码下次再详细说明。
(具体响应是什么我真的忘了……毕竟好几个月以前了……)
各位大佬好……本文本着水分的想法开写,将以前造键盘的过程发布出来进行分享。因为时间有点久远,有一些内容没法准确回忆起来,还望脑部部分缺失内容。
希望本文还会继续更新下去,越新的内容我或许就能回忆起更过吧,笑。下次更新的内容应该是关于USB描述符相关的内容,尽可能不鸽。
最后再水下,SimPad,基于C51的开源2键游戏键盘键盘项目,其中的PC端控制程序使用Electron完成,其中包含的无依赖组件 simple-color-picker (颜色选择器)可用于普通浏览器中,欢迎吐槽和建议。