打印
[圈圈教你玩USB]

求教:D12读取ID成功,主机却检测不到USB设备

[复制链接]
2265|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
baiguo|  楼主 | 2010-8-26 16:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
D12读取ID成功,发送USB连接命令后,主机却检测不到USB设备

//================================================
//Main_Program
void main(void)
{
unsigned char id0=0;
unsigned char id1=0;
unsigned char intSource=0;
unsigned char temp=0;
unsigned char temp1=0;

DDRA|=0xE0;
Uart_Init();
    DDRB|=0xF0;
    DDRD.2=0;
   
    delay_ms(100);
  
D12WriteCmd(0xFD);
id0=D12ReadData();
id1=D12ReadData();

if(id0==0x12 && id1==0x10)
  printf(" ID is correct! Congratulations! \r\n");
  
UsbDisconnect();
UsbConnect();
delay_ms(1000);

//**********************************************************
    for(;;)
    {
     if(D12GetIntPin()==0)



以上是部分代码

//================================================
//函数功能:USB断开连接函数
//入口参数:无
//返    回:无
//备    注:无
//================================================
void UsbDisconnect(void)
{
D12WriteCmd(D12_SET_MODE);    //写设置模式命令
D12WriteData(0x06);           //设置模式的第一字节
D12WriteData(0x47);           //设置模式的第二字节
delay_ms(1000);
}

//================================================
//函数功能:USB连接函数
//入口参数:无
//返    回:无
//备    注:无
//================================================
void UsbConnect(void)
{
D12WriteCmd(D12_SET_MODE);    //写设置模式命令
D12WriteData(0x16);           //设置模式的第一字节
D12WriteData(0x47);           //设置模式的第二字节
}

相关帖子

沙发
baiguo|  楼主 | 2010-9-1 13:43 | 只看该作者
问题已解决---犯了个低级错误,连接CS的pin没有设置为输出(但ID却能读出)

ID is correct! Congratulations!
USB总线挂起!
USB总线复位!
USB总线挂起!
USB总线挂起!
USB总线挂起!
USB总线挂起!
USB端点0输出!
读端点0缓冲区8字节。
128  6  0  1  0  0  64  0  
USB总线复位!
USB端点0输出!
读端点0缓冲区8字节。
128  6  0  1  0  0  64  0  
USB总线复位!
USB端点0输出!
读端点0缓冲区8字节。
128  6  0  1  0  0  64  0  
USB总线复位!
USB端点0输出!
读端点0缓冲区8字节。
128  6  0  1  0  0  64  0  
USB总线挂起!

使用特权

评论回复
板凳
computer00| | 2010-9-23 00:54 | 只看该作者
数据没有成功写到芯片里去吧

使用特权

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

本版积分规则

16

主题

67

帖子

0

粉丝