我在CH32和CH582的USB例程中,usbhost.c文件中,都看到了如下的注释。
我现在用主机host,查询方式。总感觉好像是速度有点慢。
我想问:
USB主机模式,有没有类似USB从机那样的中断操作方式?
下边的函数,可否提供一个对运行速度优化后的版本?
/*********************************************************************
* @fn USBHostTransact
*
* @brief 传输事务,输入目的端点地址/PID令牌,同步标志,以20uS为单位的NAK重试总时间(0则不重试,0xFFFF无限重试),返回0成功,超时/出错重试
* 本子程序着重于易理解,而在实际应用中,为了提供运行速度,应该对本子程序代码进行优化
*
* @param endp_pid - 令牌和地址, 高4位是token_pid令牌, 低4位是端点地址
* @param tog - 同步标志
* @param timeout - 超时时间
*
* @return ERR_USB_UNKNOWN 超时,可能硬件异常
* ERR_USB_DISCON 设备断开
* ERR_USB_CONNECT 设备连接
* ERR_SUCCESS 传输完成
*/
UINT8 USBHostTransact( UINT8 endp_pid, UINT8 tog, UINT32 timeout )