|
我在开发板上写了个USB HID键盘的测试程序,功能是从USART1接收到数据后,从USB发送到PC机。代码是基于USB-JoyStickMouse修改的。 现在遇到的问题是,拨动摇杆四个方向键,可以往PC上发送字符。但是接收到串口中断后,往PC机上发送数据失败,用Bus Hound软件监视的话,可以看到USB发过来的是全零的数据。 while (1) { if (bDeviceState == CONFIGURED) { if (JoyState() != 0) { Joystick_Send(JoyState()); //发送一个字符到PC //Delay(100); Joystick_Send(0); //停止发送 //按键发送OK,PC机能收到字符 } } #if 1 if (get_rx_data) { Joystick_Send(LEFT); //发送一个字符到PC //Delay(100); Joystick_Send(0); //停止发送 //如果注释掉这句话,PC机上可以收到数据,相当于一个按键被长按住的效果,不注释掉的话PC上收不到字符 rx_counter = 0; get_rx_data = FALSE; } #endif } 我把代码共享在网盘里(https://pan.baidu.com/s/1sjBXDtb),请大家帮忙看看哪里有问题。谢谢。 |
学习一下![]() ![]() |
![]() ![]() ![]() ![]() ![]() |
STM32F103 USB虚拟串口,采用的官方库非HAL库文件,过一段时间会断开链接
KEILMDK每次都要手动选Reset and Run吗 不然下载到板子上得重启电源才行 求解答
STM32F407全速USB 回复 STALL 握手包
USB_WritePacket 陷入无限循环
关于最近学习C语言回调和钩子函数的想法,以及对HAL库回调函数的困惑
STM32F405RG VCP 报错This device cannot start (code 10)
在擦除flash时 同时挂起中断 是否会造成卡死以及相关的卡死机制
STM32F401RBT6 USB 大容量存储设备问题
FLASH擦除轮询等待时CPU真的会轮询吗
HAL_I2C_Mem_Read 一直返回 BUSY
微信公众号
手机版