32使用CDC虚拟串口影响鼠标
<p>使用的库:stc_usb_cdc_32g.lib</p><p>void CDC_init(void)<br />
{<br />
P_SW2 |= 0x80;<br />
P3M0 &= ~0x03; // P3.0/P3.1 和 USB 的 D-/D+共用 PIN 脚,<br />
P3M1 |= 0x03; // 需要将 P3.0/P3.1 设置为高阻输入模式<br />
IRC48MCR = 0x80; // 使能内部 48M 的 USB 专用 IRC<br />
//while (!(IRC48MCR & 0x01))<br />
;<br />
USBCLK = 0x00; // 设置 USB 时钟源为内部 48M 的 USB 专用 IRC<br />
USBCON = 0x90; // 使能 USB 功能<br />
usb_init(); // 调用 USB CDC 初始化库函数<br />
}</p>
<p>CDC_init();</p>
<pre><code>EUSB = 1;
EA = 1; //使能USB中断
while (DeviceState != DEVSTATE_CONFIGURED); //等待USB完成配置
printf("USB CDC Start!\r\n");
</code></pre>
<p>连接电脑也显示了CDC串口。但是只要一插上鼠标就不动了。</p>
<p>测试了键盘,电脑没有卡死。其他都事正常的。</p>
<p>只有鼠标不动。拔掉cdc的USB线就恢复正常。</p>
没遇到过这个问题,换一台电脑试试呢 <p>没有那么多电脑。刚刚重启了一下还是这样。</p>
<p>设备管理器里看看鼠标的VID/PID是多少,有没有跟CDC串口冲突。</p>
页:
[1]