打印

USB D12 softconnect问题

[复制链接]
2397|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
21fqsey02|  楼主 | 2012-10-30 14:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
D12 softconnect 里有有介绍。通过设置模式,可以实现软连接。

而我在调试D12的过程,当我把D+的外部上拉电阻1。5K 去掉。转而用软连接方式测试,发现没有任何反应。很迷惑softconnect 的使用方法?
软件是参考圈圈书里的编写如下,

//USB断开连接函数
void UsbDisconnect()
{
D12WriteCommand(D12_SET_MODE);
D12WriteByte(0x06);
D12WriteByte(0x47);
Delay_ms(1000);
}
//USB连接函数
void UsbConnect()
{
D12WriteCommand(D12_SET_MODE);
D12WriteByte(0x16);
D12WriteByte(0x47);
}

上电后,程序在读取到D12的id后(值是正常的),运行
UsbDisconnect();
UsbConnect();
检测不到引用动作。
也尝试通过外部按键,触发运行一次
UsbDisconnect();
UsbConnect();
同样没反应主。

迷惑中。。。有没有碰到过类似问题的,小弟积分不足,积分回报低了点,实在报歉。望知者能不吝指教,谢谢!

相关帖子

沙发
dqyubsh| | 2012-10-30 18:33 | 只看该作者
如果焊掉电阻,USB应该无法枚举。无论12M还是480M,都是要1.5k电阻才能枚举的(无论电阻在芯片内还是在芯片外)。我理解softconnect 并不是把电阻手工焊掉了,而是用配置寄存器控制一个开关,开关通断决定是否连接这个电阻。

我没用过D12,凭感觉瞎说的。

使用特权

评论回复
板凳
21fqsey02|  楼主 | 2012-11-1 14:28 | 只看该作者
谢谢2楼的回复,我也试过把电阻接上,然后,
UsbDisconnect();
UsbConnect();
依然没看到重新枚举的过程?
按D12的手册介绍,
D12WriteCommand(D12_SET_MODE);
D12WriteByte(0x06);
是关断上行数据上拉电阻,
D12WriteByte(0x16);
是连接上行数据上拉电阻。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

粉丝