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

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 972|回复: 0

实现 Ch567 USB0 串口

[复制链接]
发表于 2022-6-5 10:58 | 显示全部楼层 |阅读模式
上次我们在 CH567 USB1 上实现了 USB CDC 的功能,这一次尝试在 USB0上实现同样的同能。相比之前的程序,需要修改的位置有:

1.     \src\sys\CH56X_irq.c 中使用USB0DevIntDeal() 响应 USB 0 的中断

  1. __attribute__( ( interrupt ( "id="XSTR(INT_ID_SATA) ) ) )void SATA_Handler(void)
  2. {
  3.         USB0DevIntDeal( );
  4. }
复制代码

1.     \src\main\main.c 中打开 USB0 的中断

  1. Interrupt_init( 1<<INT_ID_USB0 );     /* 系统总中断开启 */

  2.         USB0DeviceInit();                        /* USB0Device Init */
  3.         printf("USB0 Device Init!\n");

  4.         while(1)
  5.         {
  6.                 printf("Run\n");
  7.                 mDelaymS(5000);
  8.                 if (UsbConfig!=0)
  9.                 {
  10.                         memcpy( UsbEp3INBuf, &Msg[0], sizeof( Msg ));
  11.                         R16_UEP3_T_LEN1 =  sizeof( Msg );
  12.                         R8_UEP3_TX_CTRL1 = (R8_UEP3_TX_CTRL1 & ~ MASK_UEP_T_RES) | UEP_T_RES_ACK;
  13.                         while (R8_USB0_MIS_ST&bUMS_SIE_FREE==0) {}
  14.                 }
  15.         };
复制代码

3. ch56x_usb0dev372.h 中全部 USB1 替换为 USB0
4. ch56x_usb0dev372.c 中全部 USB1 替换为 USB0


USB0_CDC.zip (325.52 KB, 下载次数: 3)






您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 06:37 , Processed in 0.136850 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表