while(1) { if (i==0 && GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_10)==0) { //pressed GPIO_WriteBit(GPIOA, GPIO_Pin_9, Bit_RESET); i=1; Keyboard1_Value[2] = 0x04; flag=1; } else if (i==1 && GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_10)==1) { //release GPIO_WriteBit(GPIOA, GPIO_Pin_9, Bit_SET); i=0; Keyboard1_Value[2] = 0x00; flag=1; } if (USBFS_DevEnumStatus && flag==1) { USBFS_Endp_DataUp(DEF_UEP1, Keyboard1_Value, sizeof(Keyboard1_Value), DEF_UEP_CPY_LOAD); flag=0; } }
内容不复杂,为了验证有效性把按键动作绑上了一个LED
按下按键,LED点亮,发送0x04;放掉按键,LED熄灭,发送0x00
目前观察LED的明暗没什么问题,但是键盘有个小概率会丢包
这个要如何解决?
热门产品 :
CH394: 以太网协议栈芯片