TI中文支持网
TI专业的中文技术问题搜集分享网站

请教关于MSP430F5525 USB CDC 模式连接主机的问题

您好!

当前状态是这样的:

自制开发板,使用 mps430f5525 自带 usb与主机连接,采用CDC模式,主机是win xp sp3系统

主机可以识别到设备,并且用某些串口调试工具可以收发数据(有些串口调试工具打不开串口)

问题是:

使用C#做的一个客户端程序不能正确识别硬件,主要卡在下面这段代码上

protected override void WndProc(ref Message m)
{
try
{
//if (m.Msg == WM_DEVICECHANGE)
//{
switch (m.WParam.ToInt32())
{
case DBT_DEVICEARRIVAL: // 
××××××××××××        // 此时是许多 usb串口插入电脑后最终进入的 状态
break;
case DBT_DEVNODES_CHANGED : // 这个是 上文提到的板子查到主机上,最后进入的状态,当移出设备,也是进入这个状态

break;
case DBT_DEVICEREMOVECOMPLETE: //
××××××××××××××××××
break;
default:
break;
}
}

因为对USB的详细工作原理不是很明白,所以很困惑

怀疑是 430 usb本身的 CDC接口模式与其它诸如市场上USB转串口线的模式不同导致的

请问是不是这样呢?我应该如何解决问题呢?

hongliang lei:

同问啊!Port设备应该是自动广播 DBT_DEVICEARRIVAL和DBT_DEVICEREMOVECOMPLETE的。不需要RegisterDeviceNotification函数,但是为什么430的虚拟串口没有自动广播呢?

Leon Yan:

回复 hongliang lei:

你好,楼主:

这个问题我之前也遇到过,如果你用的是别人的串口库来设计PC软件,那么需要找一个对USB CDC支持比较好的库来做,尝试一下。

这个现象就如你所描述“有些串口软件无法打开”一样。

谢谢。

Michael Liu:

回复 Leon Yan:

感谢 Leon Yan 的解答,您是否有使用过对 CDC 支持较好的库呢,可否推荐一下,或者其他人有用过的经验,希望分享一下,谢谢^^

hongliang lei:

回复 Michael Liu:

有人知道吗? 在线等~

非常感谢!

赞(0)
未经允许不得转载:TI中文支持网 » 请教关于MSP430F5525 USB CDC 模式连接主机的问题
分享到: 更多 (0)