阅读:1651回复:7
D12 固件调试日记。
调试工作进入第二天,问题如下:
板子刚插入系统,没有反映,单片机方面,程序在reconnect_USB()处好像没有执行过,D12的D+,和D-都为低电平,LED不亮,晶振和CLKOUT都有输出,中断为高电平。 强制按单片机的复位按钮几下,程序好像执行了,此时LED灯亮,D+为高电平,系统发现新硬件,但是装驱动的时候出错,发现未知设备,不可用。此时,中断为持续的低电平,D12的晶振没有,CLKOUT的输出为低电平。 D12的晶振的电容我用的是两个30P的。 望大侠们指点指点吧,我两天没睡觉了! [编辑 - 11/24/03 by lark002] |
|
最新喜欢:![]() |
沙发#
发布于:2003-11-24 19:33
中断为持续的低电平说明你设备收到了中断但是一直没有处理!
也就是说你的枚举程序段可能没有运行。 |
|
板凳#
发布于:2003-11-24 19:49
我也正在调试的痛苦中徘徊(已经一个礼拜了)。
你说的情况我好像碰到过,你先不要插入pc,运行一下程序试试D+是否变为高电平?要是的话,可能是你的总线复位处理有问题。 咱们进程差不多,要多交流啊。 |
|
地板#
发布于:2003-11-24 21:22
如果你确定你的板子没有问题,可以写一点调一点。
我就是这样的,然后用USBmonitor 或者USBChecker 等软件连着调, 也是从什么都没有直到在我的机器上调试成功,但别的机器上仍然有无法枚举的情况。 |
|
|
地下室#
发布于:2003-11-25 10:27
中断为持续的低电平说明你设备收到了中断但是一直没有处理! 同意,程序可能有问题。 |
|
5楼#
发布于:2003-11-25 10:34
调试工作第三天,问题依旧,单片机上电后,程序好像没有初始化成功,狂按复位按钮,用示波器有时候可以看出D+变高,同时有数据,然后就是中断持续低电平。
因为我的仿真器不支持keil c的在线仿真,所以只能在程序里加测试语句,好像我的单片机上电后没有执行过去reconnect_USB()函数,不知道为什么啊?是不是reconnect_USB()执行完后就算初始化完成了,就开始枚举了? 我现在开始怀疑我的单片机是不是和d12建立正确的连接,怎么用D12_ReadChipID(); 函数来检测啊? 我用的是地址和数据复用方式,我把A0接地了,不知对不对啊?D+用1M的电阻接3.3V,D-用1M的电阻接地,d12的复位我在单片机里发一个脉冲进行的。 大侠们看看有没有错啊?谢谢了! |
|
6楼#
发布于:2003-11-26 11:46
调试工作第四天,今天好像有点进展了,将usb插入pc,主机能认出新设备,随后主机出现“发现未知设备,不可用”用示波器看D+,有数据(不知对不对),led闪了几下后,随后不亮。中断现在变为高电平了。
望大侠们帮我分析分析,谢谢了! |
|
7楼#
发布于:2003-11-26 15:20
你说的这些我也碰到过。开始时中断为低,reconnect_USB()中的定时器中断得不到处理所以连接不上。
led不亮应该枚举仍没成功,你可以用bushound监测一下数据是不是正确。 |
|