我用原子stm32f10x的代码,joystick那章的代码,改成串口接收英文单词字符串,发送usb键盘.
不知道为什么,串口每接收一个英文单词,原子的mini开发板只能偶尔发送一个usb键盘字符,不能正确发送一个完整英文单词.
想问下坛友,为什么.
void USART1_IRQHandler(void)
{
u8 Res=0;uint8_t keyboardbuff[8]={0,0,0,0,0,0,0,0};
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{
Res=USART1->DR;
if(Res>=97&&Res<=122) Res=Res-93;
else if(Res>=65&&Res<=90) Res=Res-61;
else if(Res>=49&&Res<=57) Res=Res-19;
else if(Res==48) Res=39;
else if(Res==46) Res=55;
else return ;
keyboardbuff[2]=Res;
while(USB_SIL_Write(EP2_IN, keyboardbuff, 8)!=0) ;
SetEPTxValid(ENDP2);
printf("%u",Res);
}
}
|