【沁恒RISC-V内核 CH582】USB键盘录入
[复制链接]
本帖最后由 lugl4313820 于 2022-3-6 21:27 编辑
CH582外设中集成了2个全速USB2.0主机和设备控制器及收发器,可以提供多种USB外设的工作。今天根据HostU2Enum例程,修改成键盘输入,在ST7735LCD上显示:
1、打开例程,并将原来的ST775驱动复制到工程src目录下面:
2、接上串口助手,USB2插上键盘,串口显示找到键盘:
AnalyzeU2HidIntEndp 02
U2 USB-Keyboard Ready
然后按下键盘,观察打印出的Rx_buff:
[12:56:16.319]收←◆keyboard data: x00 x00 x20 x00 x00 x00 x00 x00
[12:56:52.007]收←◆keyboard data: x00 x00 x27 x00 x00 x00 x00 x00
[12:59:24.878]收←◆keyboard data: x00 x00 x27 x00 x00 x00 x00 x00
[13:03:41.294]收←◆keyboard data: x00 x00 x04 x00 x00 x00 x00 x00
[13:03:43.351]收←◆keyboard data: x00 x00 x05 x00 x00 x00 x00 x00
[13:03:44.138]收←◆keyboard data: x00 x00 x06 x00 x00 x00 x00 x00
多种观察后总结出:键盘的1-9为0x1E-0x26,A-Z为0x04-0x1D等等
因为字库中显示的字符跟这个不是一一对应,所以要转换一下:
/* "0",16*/
/* "1",17*/
if(num >= 30 && num<39)
{
num = num -13;
}
else if (num == 0x27) {
num = 16;
}
else if (num>=0x04 && num<=0x1d) {
num = num+29;
}
然后还有就是处理一下回车键更改为显示到下一行:
经过这样处理后,就可以用键盘打字,显示在LCD屏上啦。。。
这里大家要注意一点,就是USB要有5V供电才能工作。
CH582提供的例程的USB键盘已经写好驱动,大家梢做修改,就可以生成自己的工程,很是方便。
|