请问在ch554芯片测试程序,键盘和鼠标的例程里 i = _getkey( )问题

请问下,下面的这段函数,实现的是键盘或鼠标的模拟输入,但是我把代码烧录进去,只有大小写案件可以正常,调试,其他按键和鼠标操作 都没有启用,是我操作问题还是   i = _getkey( );  这一句没有 实现。

void HIDValueHandle()

{

    UINT8 i;

        i = _getkey( );

        printf( "%c", (UINT8)i );

        switch(i)

        {

//鼠标数据上传示例

        case 'L':                                                        //左键

            HIDMouse[0] = 0x01;

            Enp2IntIn();

            HIDMouse[0] = 0;

            break;

        case 'R':                                                        //右键

            HIDMouse[0] = 0x02;

            Enp2IntIn();

            HIDMouse[0] = 0;

            break;


CompositeKM.C  例程

45.png


getkey()这个函数的功能不是这样使用吗:“函数功能:从串口读取一个字节,并将读到的值返回;”


您好。请先确认串口模块有没有问题。

image.png

获取到的字符会打印回传,效果应该如下图:
image.png


串口模块没有发现问题啊  能说一下  具体会出现的具体  问题吗?  一直在用


串口再用usb转串调试方式连接电脑是没问题吧 


您好,使用原本的例程,不要开串口中断。检查串口模块发送是否正常(有打印说明接收正常)。串口模块的TX接芯片的RX(P30引脚),串口数据是否发送可以通过分析仪等辅助工具检查。


波特率是57600 ,发送程序里预设的几个值  P   A   Q   L  R   ,按照理解不点击发送 ,串口终端 也应该是有输出显示的 ,比如 输入 L ,鼠标  左键 要模拟一下按下  ,这样理解对吧 


多谢 我找到原因了,因为我在烧写程序的时候 ,把串口的发送引脚断开了,导致不能发送数据,主要原因是不断开就无法正常用usb下载代码,请问这个问题怎么解决 。


您好。USB和串口外设是独立的。USB烧录需要有冷启动的过程(上电之前先拉BOOT脚),仔细检查串口模块对烧录的影响,是否有倒灌电等情况。


只有登录才能回复,可以选择微信账号登录