打印
[ZLG-ARM]

zlg 的lpc1768 的usb中断处理程序是不是不对

[复制链接]
2635|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liwenz|  楼主 | 2011-5-12 22:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
代码附在下面。 程序对UsbDevIntSt 进行分支处理,问题是在处理dma的时候不对,
if (ulDevIntState & USBINT_STATUS_DMA) 这句中USBINT_STATUS_DMA 属于 UsbIntSt 寄存器的位, 所以这里的条件就不对了。应该是ulIntState & USBINT_STATUS_DMA 才对,这里的ulIntState 指__USBIntSt              (*(volatile unsigned long *)(0x400FC1C0))

是不是我看错了? Usb中断是不是需要清 UsbIntSt的位,  Ep, UsbDevIntSt, UsbEotIntSt
手册上没说,zlg清了UsbDevIntSt

void  usbDevException (void)
{
    UINT32 ulDevIntState = 0;
    UINT32 ulDevState    = 0;
    UINT32 ulDevInt=0;

    bEPPflags.bits.in_isr = 1;                       /*  标识程序进入中断            */
    ulDevIntState = (UINT32)__DevIntSt;    /*  读设备中断状态寄存器        */
    if (ulDevIntState & DEVINT_STATUS_DEVSTAT) {
        ulDevState = __usbDevGetDevStatus();
        if ((ulDevState & 0x10) != 0) {
            __usbDevBusReset();                     /*  总线复位处理                */
            bEPPflags.bits.bus_reset = 1;           /*  标识总线复位                */
        }

        if ((ulDevState & 0x08) != 0) {
            bEPPflags.bits.suspend = 1;            /*  标识总线挂起改变            */
        }

        if ((ulDevState & 0x02) != 0) {
            bEPPflags.bits.con_change = 1;       /*  标识总线连接改变            */
        }

        __DevIntClr = DevStatusInterrupt;
        goto USB_ISR_EXIT;                           /*  退出中断服务程序           */
    }

    if (ulDevIntState & DEVINT_STATUS_EP_FAST) {
        __usbDevEpIntHandler();
        __DevIntClr = FASTINTERRUPT;
    }

    if (ulDevIntState & DEVINT_STATUS_EP_SLOW) {
        __usbDevEpIntHandler();
        __DevIntClr = SLOWINTERRUPT;
    }

#if DMA_ENGINE_EN
    if (ulDevIntState & USBINT_STATUS_DMA) {
        usbDevDMAException();
    }
#endif

USB_ISR_EXIT:
    bEPPflags.bits.in_isr = 0;                  /*  标识程序退出中断            */
}

相关帖子

沙发
3B1105| | 2011-5-13 12:30 | 只看该作者
什么现象了,usb好难啊,没接触过

使用特权

评论回复
板凳
年轻不再| | 2011-5-15 19:27 | 只看该作者
:$:$:$

使用特权

评论回复
地板
快乐出发| | 2011-5-15 21:27 | 只看该作者
晕,我都没怎么看明白。

使用特权

评论回复
5
金鱼木鱼| | 2011-5-17 12:51 | 只看该作者
貌似有问题!

使用特权

评论回复
6
amini| | 2011-5-18 22:02 | 只看该作者
:$,MARK,看前辈如何解决。

使用特权

评论回复
7
liwenz|  楼主 | 2011-5-29 10:13 | 只看该作者
谁是Mark?

使用特权

评论回复
8
明天我还来| | 2011-5-30 16:00 | 只看该作者
:(

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

107

帖子

0

粉丝