我在使用CH376S作为103C8T6的usb?host接口,与赛钛客x45/X52摇杆进行通讯,以获得摇杆的实时数据(MCU和CH376S之间是SPI通讯)。数据读取方式用的是中断传输,在用CMD_ISSUE_TOKEN发送IN指令后,到接收到USB_INT_SUCCESS中断,需要等待10-500ms不等。程序中这个指令没有任何其他延时或中断了,请问这个等待时间正常麽?因为如果这么长的延时,就无法实现实时控制的目标了。麻烦大神可以帮忙解答下,谢谢了!
SPI发送CMD_ISSUE_TOKEN和中断等待的程序:
SPI_NRF_WriteReg(CMD_ISSUE_TOKEN,endp_and_pid);?? ? /* 高4位目的端点号, 低4位令牌PID */
?? ?
?? ??? ?while(1)
?? ?{
?? ??? ?status=SPI_NRF_ReadReg(CMD_GET_STATUS);
?? ??? ?
?? ??? ?if(status==USB_INT_SUCCESS)?? ??? ??? ?/* 操作成功 */
?? ??? ?{
?? ??? ??? ?return(status);
?? ??? ?}
?? ??? ?
?? ??? ?SysTick_Delay_Ms(200);?? ?
?? ??? ?
?? ??? ?printf("数据接收命令发送后等待 %d ms!? \n",(n+1)*200);
?? ??? ?
?? ??? ?if(n++>5)
?? ??? ?{
?? ??? ??? ?printf("数据接收命令发送失败!? \n");
?? ??? ??? ?return status;
?? ??? ?}
?? ?}