阅读:1852回复:17
longyinjiuxiao请进。小弟有问题!!!!!!!!!!
Hi,longyinjiuxiao!
听说你的问题解决了,祝贺你。我在论坛看过你的帖子,咱们遇到的问题差不多,你是如何解决的?修改了那些地方?帮帮我吧!我快烦死了!我的qq:12106491 |
|
最新喜欢:lhaih |
沙发#
发布于:2004-05-18 16:53
你的情况跟ms520sxl一样吗?
你的D12也没有回应get_descriptor吗? 不能进IN中断吗? 如果是, 请求参考ms520sxl的帖子。 |
|
板凳#
发布于:2004-05-18 17:02
其实我也没有做出来,
我只是修改后就可以进IN中断了。 我只做到了SET_ADDRESS这一步, 没有收到set_configuration。 我不知道我的修改对不对, 但是我也有疑问, 端点状态寄存器有一个位叫“设置包”, 而最后处理状态寄存器有一个位叫“设置信息包”, 我也不知道两者的区别, 只是我看见周立功的程序用的是后者, 可是我用他的程序并不能回应get_desriptor请求, 于是我就改过来试试, 谁知竟然能回应了, 我也不知道其中的原由。 |
|
地板#
发布于:2004-05-18 17:12
能把具体修改的程序贴出来参考一下吗?你说的是不是周立功的《d12固件和驱动程序编程〉》那本书
|
|
地下室#
发布于:2004-05-18 17:17
是的,
他的书上用的是最后处理状态寄存器。 只改下面的程序: //端点0OUT中断 void ep0_rxdone(void) { unsigned char ep_last, i,epstatus2; ep_last=D12_ReadLastTransactionStatus(0); //清中断标志 epstatus2=D12_ReadEndpointStatus(0); if (epstatus2&0x04) { //接收到SETUP包 ControlData.wLength = 0; ControlData.wCount = 0; |
|
5楼#
发布于:2004-05-18 17:25
只修改了一个地方吗?你收到的id对吗?
我有时能收到数据,但id不对 |
|
6楼#
发布于:2004-05-18 17:29
就改上面的程序。
我的ID是对的。 你先确定你的ID是对的, 这样才能确保你对D12的正确读写操作。 查一下硬件, 或者改变上电顺序, 先插入USB还是先执行程序。 |
|
7楼#
发布于:2004-05-18 17:37
我用的是星研仿真器,只能先连好usb才能进入调试状态,所以我怀疑我进入调试状态后,d12已经挂起,另外,你是用哪个版本的bushound,你能告诉我qq号吗,或加我
|
|
8楼#
发布于:2004-05-18 17:43
346707655
我不好上QQ的, 老总“监视”, 呵呵。 我的也是先接好USB才能正确收到ID。 是否挂起, 你观察一下中断寄存器。 |
|
9楼#
发布于:2004-05-18 17:45
我的中断寄存器是挂起状态,我不知道如何唤醒,你知道吗
|
|
10楼#
发布于:2004-05-18 17:47
你把挂起改变函数里面的内容注释掉就可以了。
|
|
11楼#
发布于:2004-05-18 17:48
挂起的前一个中断是什么?
|
|
12楼#
发布于:2004-05-18 17:50
我不知道,如何看中断,在那看?请指教。
|
|
13楼#
发布于:2004-05-19 08:18
你用什么软件写程序?
|
|
14楼#
发布于:2004-05-19 20:44
longyinjiuxiao,我用BUS HOUND(尽管还是会重起,但还是先用着再说吧) 看我的开发板,描述符送出之后,就可用了,这样不对吗
|
|
15楼#
发布于:2004-05-19 21:08
我开始也不能送描述符,但我只是把上电顺序换了一下,也就是 先加仿真器电源,再家USB电源(我的总线供电,也就是插上USB),就能送出描述符了,程序还是周立功的。
|
|
16楼#
发布于:2004-05-19 21:11
用BUS HOUND看看呗(尽管我用的5。0会动不动重起)。我看以前的帖子,好象第一次送第一个描述符(16个)是不用进IN中断的
|
|
17楼#
发布于:2004-05-20 10:44
longyinjiuxiao,我用BUS HOUND(尽管还是会重起,但还是先用着再说吧) 看我的开发板,描述符送出之后,就可用了,这样不对吗
我弄错了,在DEVICE选项中,没选中D12设备!我认为没装驱动之前只送设备描述符和配置描述符,装驱动之后,才送整个描述符和配置设备。 |
|