阅读:1377回复:9
请教大侠关于D12中断的两个问题。请赐教!谢谢!
请教各位大侠,为什么我的D12加电后中断脚就为低啊?
还有我用伟福仿真器单步调试程序时在执行D12中断服务fn_usb_isr();后,执行ENABLE,然后怎么不能返回主程序啊?请大侠赐教!!! usb_isr() interrupt 0 { DISABLE; fn_usb_isr();//调用D12中断服务子程序 ENABLE; } |
|
最新喜欢:![]() |
沙发#
发布于:2004-05-20 18:13
读中断寄存器和最后状态寄存器后就应该变高了
|
|
|
板凳#
发布于:2004-05-20 21:25
我很你碰到的问题一样,我建议你不要单步,要全速,适当的设置断点。原因我页不知道,我这样久好了
|
|
地板#
发布于:2004-05-20 22:07
谢谢楼上的大侠,那既然一加电就是低的话,那程序init_special_interrupts();
是不是应该放在reconnect_USB();的后面啊,否则还没连接呢,就进中断了啊! |
|
地下室#
发布于:2004-05-20 22:10
谢谢楼上大侠的赐教,我还想问一个问题,那就是对于主机的第一次GET DESCRIPTOR,D12该怎么应答啊?能给出程序吗?谢谢谢!!!
|
|
5楼#
发布于:2004-05-21 09:04
没连接进中断那也一样去读中断就行
|
|
|
6楼#
发布于:2004-05-21 09:32
对于主机的第一次GET DESCRIPTOR,我认为应该把描述符(设备)写到IN缓冲区,然后设置缓冲区有效,就可以了
|
|
7楼#
发布于:2004-05-22 08:50
对于主机的第一次GET DESCRIPTOR,我认为应该把描述符(设备)写到IN缓冲区,然后设置缓冲区有效,就可以了 不是在中断以后,去读描述符吗?你的意思是D12主动发描述符啊??? 还想请教一个问题,那就是我的程序在调试时可以进 ep0_rxdone(void)中断,但是在主程序循环时怎么进不了下面的程序啊? 它一直在循环,却没有中断?请赐教!!! if (bEPPflags.bits.setup_packet) { DISABLE; bEPPflags.bits.setup_packet = 0; ENABLE; control_handler(); D12SUSPD = 1; } |
|
8楼#
发布于:2004-05-22 09:01
我也遇到了同样的问题。不过我的是有时能进,有时进不了,有时连复位都进不了,大家共同研究一下吧.你要是解决了告诉我一声。
谢谢! |
|
9楼#
发布于:2004-05-24 21:20
顶啊!
请大侠赐教!!! |
|