我在开发板上写了个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),请大家帮忙看看哪里有问题。谢谢。 |
学习一下 |
哪位大哥有stm32f103c8t6的keil编程实例源码呀?求
能在一个程序中同时使用TIM的callback和uart的callback函数吗?
TCP客户端 周期性 发送数据,一段时间后会突然停止,是什么原因。
STM32F103VCT6有64K的RAM?
使用串口双机通信的问题
USBH CDC通讯,如何修改通讯波特率?
STM32F407 USB的IN端点只能是0x81么?
如何添加一个中断服务函数?
Proteus是否无法正确仿真STM32的开漏输出
Cortex m3内核是很特殊吗,为什么st公司的很多软件比如cubemx.ai唯独不支持m3内核的stm32f1系列