gklz1982
驱动牛犊
驱动牛犊
  • 注册日期2007-06-29
  • 最后登录2008-09-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望22点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
阅读:1338回复:1

求助: C8051F020+PDIUSBD12

楼主#
更多 发布于:2008-09-27 12:01
我用C8051F020+PDIUSBD12
PDIUSBD12  ALE接地,单地址/数据总线

读芯片ID不是1012,,
计算机显示无法识别的USB设备.
为什么呢?
有碰到这种情况的帮帮我啊,,谢谢了



void main()
{
.....
if (Init_D12()!=0)                //初始化D12
    return;    
.......            //如果初始化不成功,返回
}

unsigned char Init_D12(void)
{
    bEPPflags.value = 0;        //初始化USB事件标志变量

    USBCS=1;
    USBCS=0;                                       / /初始化PDIUSBD12与51单片机连接的端口
    Rst_D12();            //复位PDIUSBD12
    reconnect_USB();                //重新连接USB

    if (D12_ReadChipID_1() != 0x1012) //读取芯片ID号,如果不为1012H
        return 1;        //则复位失败

     return 0;                                                 //初始化成功
}                          

yongjieguo
驱动牛犊
驱动牛犊
  • 注册日期2008-09-22
  • 最后登录2008-10-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望8点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-10-09 11:04
一般这种情况应该是固件程序中,MCU对D12的读写延时不够造成的,可以在读写端口前后加一些延时看看。
驱网无线,快乐无限
游客

返回顶部