请问一下,我在使用CH567开发板的过程中,使用官方的例程,在程序开发的过程中,开发板经常出现“USB1 Reset!”的情况出现,例如下面这样子的情况。偶尔重新开发板重启就能解决、偶尔是重新编译程序就能解决,请问出现这种情况的原因在哪里呢:
USB1 Device Init!
USB1 Reset!
USB1 Reset!
USB1 Reset!
USB1 Reset!
USB1 Reset!
USB1 Reset!
USB1 Reset!
USB1 Reset!
USB1 Reset!
USB1 Reset!
USB1 Reset!
源代码:
void USB1DevIntDeal(void){
if (R8_USB1_INT_FG & UIF_TRANSFER) {
//R8_UEP0_TX_CTRL1 = UEP_T_RES_NAK;
R8_UEP0_TX_CTRL1 = UEP_T_RES_ACK;
R8_UEP0_RX_CTRL1 = UEP_R_RES_ACK;
//R8_UEP1_TX_CTRL1 = UEP_T_RES_NAK | bUEP_AUTO_TOG;
R8_UEP1_TX_CTRL1 = UEP_T_RES_ACK | bUEP_AUTO_TOG;
R8_UEP1_RX_CTRL1 = UEP_R_RES_ACK | bUEP_AUTO_TOG;
R8_UEP2_TX_CTRL1 = UEP_T_RES_ACK | bUEP_AUTO_TOG;
R8_UEP2_RX_CTRL1 = UEP_R_RES_ACK | bUEP_AUTO_TOG;
R8_USB1_DEV_AD = 0;
DevAddr = 0;
R8_USB1_INT_FG = UIF_BUS_RST;
printf("USB1 Reset!\n");