unsigned char issue_token( unsigned char endp_and_pid ) { /* 执行USB事务 */ /* 执行完成后, 将产生中断通知单片机, 如果是USB_INT_SUCCESS就说明操作成功 */ CH375_WR_CMD_PORT( CMD_ISSUE_TOKEN ); CH375_WR_DAT_PORT( endp_and_pid ); /* 高4位目的端点号, 低4位令牌PID */ return(wait_interrupt() ); /* 等待CH375操作完成 */ }
unsigned char issue_token_X( unsigned char endp_and_pid, unsigned char tog ) { /* 执行USB事务,适用于CH375A */ /* 执行完成后, 将产生中断通知单片机, 如果是USB_INT_SUCCESS就说明操作成功 */ CH375_WR_CMD_PORT( CMD_ISSUE_TKN_X ); CH375_WR_DAT_PORT( tog ); /* 同步标志的位7为主机端点IN的同步触发位, 位6为主机端点OUT的同步触发位, 位5~位0必须为0 */ CH375_WR_DAT_PORT( endp_and_pid ); /* 高4位目的端点号, 低4位令牌PID */ return( wait_interrupt() ); /* 等待CH375操作完成 */ }
在做usb打印机的时候 如果用issue_token可以成功打印,发送数据速度很慢 如果用issue_token_X,不能正常打印,可以看到发送速度很快 是什么原因 其中issue_token_X里面tog的值怎么给?我把可能的数都试过了均不能正常打印 0xc0\0x80\0x00\0x40