请参考我的程序部分:
u8 Buffer_Scan1[8] = {0, 0, 0, 0, 0, 0, 0, 0};
void KeyBoard_Send(u8 *buffer_out,u8 count)
{
USB_SIL_Write(EP1_IN, buffer_out, count);
/* enable endpoint for transmission */
SetEPTxValid(ENDP1);
}
void Task_USB_Scan(void *pdata)
{
u8 press_status_1=0;
u8 press_status_8=0;
u8 chk_num1=2;
pdata= pdata;
while(1)
{
if(GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_13) == 0x00)
{
if(press_status_1==0)
{
press_status_1=1;
chk_num1=2;
while((Buffer_Scan1[chk_num1]!=0)&&(chk_num1<7))
{
chk_num1++;
}
Buffer_Scan1[chk_num1]=0x5F; //KeyPad ----> number--7
KeyBoard_Send(Buffer_Scan1,8);
CoTickDelay(2);
}
}
else
{
if(press_status_1==1)
{
Buffer_Scan1[chk_num1]=0;
KeyBoard_Send(Buffer_Scan1,8);
CoTickDelay(2);
}
press_status_1=0;
}
......
CoTickDelay(1);
}
|