使用的库:stc_usb_cdc_32g.lib
void CDC_init(void)
{
P_SW2 |= 0x80;
P3M0 &= ~0x03; // P3.0/P3.1 和 USB 的 D-/D+共用 PIN 脚,
P3M1 |= 0x03; // 需要将 P3.0/P3.1 设置为高阻输入模式
IRC48MCR = 0x80; // 使能内部 48M 的 USB 专用 IRC
//while (!(IRC48MCR & 0x01))
;
USBCLK = 0x00; // 设置 USB 时钟源为内部 48M 的 USB 专用 IRC
USBCON = 0x90; // 使能 USB 功能
usb_init(); // 调用 USB CDC 初始化库函数
}
CDC_init();
EUSB = 1;
EA = 1; //使能USB中断
while (DeviceState != DEVSTATE_CONFIGURED); //等待USB完成配置
printf("USB CDC Start!\r\n");
连接电脑也显示了CDC串口。但是只要一插上鼠标就不动了。
测试了键盘,电脑没有卡死。其他都事正常的。
只有鼠标不动。拔掉cdc的USB线就恢复正常。