在使用UserToPMABufferCopy(Buffer, GetEPTxAddr(ENDP1), 8);总是不停的连续发送同样的数据,不能发送完成。程序如下:
void Joystick_Send(uint8_t Keys)
{
uint8_t Buffer[8] = {0, 0, 0, 0, 0, 0, 0, 0};
int8_t i = 2;
Buffer[i]=0x04; //Keyboard Return (ENTER)
i++;
Buffer[i]=0x05; //Keyboard Return (ENTER)
i++;
/* prepare buffer to send */
while (SendOverFlag != 1); //等待上一次发送完
SendOverFlag = 0;
//while(EP_TX_NAK !=GetEPTxStatus(ENDP1))
UserToPMABufferCopy(Buffer, GetEPTxAddr(ENDP1), 8);
SetEPTxCount(ENDP1, 8);
/* enable endpoint for transmission */
SetEPTxValid(ENDP1);
}
在记事本中接收连续的“ab”,不会停止
如:ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababa
求高手指点!! |