lclwcf
驱动牛犊
驱动牛犊
  • 注册日期2004-03-17
  • 最后登录2018-05-26
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1484回复:3

枚举失败:大家帮我看看哪儿有问题。

楼主#
更多 发布于:2004-03-25 21:43
具体情况是这样的(周立功的板子,D12):
1、仿真器先运行,然后插USB口,枚举正确;(即使我不写RECONNECT,选运行仿真器程序,也可以枚举成功)
2、先插USB口再F9仿真器;只是灯闪几下,不成功。
3、将程序下载到单片机中,灯闪几下,不成功。
4、D12上电复位V3.3伏的脚即为3.3V,即使不插单片机上去,将板子接上USB口主机也能找出UNKNOW DEVICE。(我在周立功出的书上看到SEFTCONNECT默认是低电平的)
5、最奇怪的是,拿那块板子原来的编译好的固件代码,一切OK。
请各位帮我分析一下,可能问题在哪里,我应该怎样查?
6、我用南京万利的仿真器,编译后D12工程里有两个HEX文件SP2V10.HEX和D12.HEX,我把编译过的这两个文件和原来厂家的固件HEX都放上来,大家帮我看一看有什么问题吗?
main()函数:

unsigned char i;
init_port();
init_serial();
init_timer0();


EA = 1;
//for test
MCU_LED0=0;
MCU_LED1=0;
MCU_LED0=1;
MCU_LED1=1;

IE0=0;
IT0=0;
EX0=1;

MCU_D12CS = 0x1;
bNoRAM = TRUE;
MCU_D12CS = 0x0;


reconnect_USB();

  }
  //=======================================
  /* Main program loop */

while( TRUE ){

if (bEPPflags.bits.timer){
DISABLE;
bEPPflags.bits.timer = 0;
ENABLE;

if(bEPPflags.bits.configuration)
check_key_LED();
}

if (bEPPflags.bits.bus_reset) {
DISABLE;
bEPPflags.bits.bus_reset = 0;
ENABLE;
// Release D12's SUSPEND pin after bus reset
// Enable 74HCT123 pulse generation before disconnect
///D12SUSPD = 1;
D12SUSPD=0;
} // if bus reset

if (bEPPflags.bits.suspend) {
DISABLE;
bEPPflags.bits.suspend= 0;
ENABLE;

if(D12SUSPD == 1) {
D12SUSPD = 0;
P0 = 0xFF;
P1 = 0xFF;
P2 = 0xFF;
P3 = 0xFF;
D12_SetDMA(0xC3);
D12SUSPD = 1;
PCON |= 0x02;
while (1);

}

} // if suspend change

if (bEPPflags.bits.setup_packet){
DISABLE;
bEPPflags.bits.setup_packet = 0;
ENABLE;
control_handler();
//D12SUSPD = 1;
D12SUSPD=0;
} // if setup_packet

if(bEPPflags.bits.setup_dma != 0) {
DISABLE;
bEPPflags.bits.setup_dma --;
ENABLE;
setup_dma();
} // if setup_dma

} // Main Loop

on_exit();
//=======================================
附件名称/大小 下载次数 最后更新
2004-03-25_HEX文件.rar (18KB)  0
lclwcf
驱动牛犊
驱动牛犊
  • 注册日期2004-03-17
  • 最后登录2018-05-26
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-03-29 10:42
是MCU的中断开早了,改为reconnect之后开就可以了
lclwcf
驱动牛犊
驱动牛犊
  • 注册日期2004-03-17
  • 最后登录2018-05-26
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-03-25 22:43
是不是我的问题不详细而不好答,不早了,我先回去试吧,我想仿真器上通得过应该不会有很大的问题,应该是一个先后的问题,明天等各位的高见!
lclwcf
驱动牛犊
驱动牛犊
  • 注册日期2004-03-17
  • 最后登录2018-05-26
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-03-25 22:28
好几天早上三四点才睡了,这个问题折磨我一天了,时好时坏的真让人恼心,请大家给点建议。
游客

返回顶部