104键RGB键盘
ok6018234
这个作者很懒,什么都没留下…
展开
-
十一、终章
整套键盘还是有很多可优化的点,基本是围绕着响应速度、Rom占用进行优化。后续也考虑加入RF功能以及旋钮等功能。原创 2023-12-09 14:07:49 · 341 阅读 · 0 评论 -
十、USB更新
既然有USB,自然会想着实现在线更新功能,代码不复杂,接下来编写bootloader。原创 2023-12-09 13:58:54 · 357 阅读 · 0 评论 -
九、任务运行
前面所有的任务都是放在了一个简易的时间片里。这个时间片无优先级、动态调度功能。原创 2023-12-09 13:49:14 · 357 阅读 · 0 评论 -
八、低功耗
虽然这是个有线键盘,但为了未来使用无线的场景,还是提前把低功耗做进去了。原创 2023-12-09 13:39:08 · 382 阅读 · 0 评论 -
七、上位机通信
通信就比较简单了,制定好协议后只要等待指令回复相应的信息即可。原创 2023-12-09 13:22:25 · 523 阅读 · 0 评论 -
六、灯效处理
灯效应该是整个键盘里比较困难的部分了,尤其在一个8位,cpu只有6MHz的单片机上实现。我也没怎么做过灯效类的项目,所以灯效基本就是随便写写,这里大概记录下设计过程。原创 2023-12-09 13:15:50 · 388 阅读 · 0 评论 -
五、按键报告处理
在按键、灯光扫描章节里,按键扫描是按照硬件排布进行处理的,但和实际键盘不一定是一一对应的,如果没有灯效的情况下,倒不一定需要这个映射表,只需要直接查询对应的键值进行发送即可,不过做灯效的话,很多灯效需要和实际键盘坐标相关,就需要映射表了。原创 2023-12-09 11:58:32 · 337 阅读 · 0 评论 -
四、基本功能设定
这个是用来定义每个按键的灯,这个相对简单,就是每个按键有3个字节的数组,分别代表了r、g、b;定义有以下功能用途,可自行扩展:1、保留,无用途2、键盘按键按下;3、键盘按键释放;4、鼠标按键按下;5、鼠标按键释放;6、鼠标X轴偏移;7、鼠标Y轴偏移;对用途进行编号:0~6定义一个宏信息包有5字节第1字节:功能用途编号(0-6)第2~3字节:功能码:1、键盘按键,填入键值,填入第2个字节2、鼠标按键:Bit0-Bit4依次为: 左、右、中、后退、前进,填入第2个字节。原创 2023-12-09 11:13:43 · 351 阅读 · 0 评论 -
三、USB通信
0xC0,0x06,0x00,0xff, //厂商自定义。原创 2023-12-09 10:50:46 · 385 阅读 · 0 评论 -
二、按键、灯矩阵扫描
为了做到能拍照及录像不频闪,所以选择定时器设置每250us做一次灯扫描,然后每扫完所有灯后做一次按键扫描。原创 2023-12-09 10:34:57 · 394 阅读 · 0 评论 -
一、前期设计
由于工作有给做键盘的客户提供过技术支持,所以做了个键盘demo用于演示,记录一下做个参考。原创 2023-12-09 09:56:49 · 359 阅读 · 0 评论