实现 Ch567 USB0 串口-Arduino中文社区 - Powered by Discuz! Archiver

Zoologist 发表于 2022-6-5 10:58

实现 Ch567 USB0 串口

上次我们在 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, 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 替换为 USB04. ch56x_usb0dev372.c 中全部 USB1 替换为 USB0







页: [1]
查看完整版本: 实现 Ch567 USB0 串口