上次我们在 CH567 的 USB1 上实现了 USB CDC 的功能,这一次尝试在 USB0上实现同样的同能。相比之前的程序,需要修改的位置有:
1. \src\sys\CH56X_irq.c 中使用USB0DevIntDeal() 响应 USB 0 的中断
- __attribute__( ( interrupt ( "id="XSTR(INT_ID_SATA) ) ) )void SATA_Handler(void)
- {
- USB0DevIntDeal( );
- }
复制代码
1. \src\main\main.c 中打开 USB0 的中断
- Interrupt_init( 1<<INT_ID_USB0 ); /* 系统总中断开启 */
- USB0DeviceInit(); /* USB0Device Init */
- printf("USB0 Device Init!\n");
- while(1)
- {
- printf("Run\n");
- mDelaymS(5000);
- if (UsbConfig!=0)
- {
- memcpy( UsbEp3INBuf, &Msg[0], sizeof( Msg ));
- R16_UEP3_T_LEN1 = sizeof( Msg );
- R8_UEP3_TX_CTRL1 = (R8_UEP3_TX_CTRL1 & ~ MASK_UEP_T_RES) | UEP_T_RES_ACK;
- while (R8_USB0_MIS_ST&bUMS_SIE_FREE==0) {}
- }
- };
复制代码
3. ch56x_usb0dev372.h 中全部 USB1 替换为 USB0 4. ch56x_usb0dev372.c 中全部 USB1 替换为 USB0
|