嵌入式爱好者

查看: 4222|回复: 2

[裸机程序] DM9000中断问题

[复制链接]

1

主题

1

帖子

4

积分

扫一扫,手机访问本帖
发表于 2015-6-19 20:33:11 | 显示全部楼层 |阅读模式
开发板向pc机发送一个ARP包,然后电脑返回一个ARP包,开发板解析正常,但是DM9000的中断引脚的电平一直没有改变导致老是进入中断。不知道连接DM9000的中断引脚为什么中断后电平改变。按道理是我配置了INIT脚低电平有效。配置后设置低电平中断。当接收到数据的时候INIT为低电平,然后进入中断。但是一直就低了。没有高电平过导致一直进入中断。求救。
void dm9000_handle()
{
    __asm__(
    "sub lr, lr, #4\n"  
    "stmfd sp!, {r0-r12, lr}\n"      
    :
    :
   );
    recv_data();       
    /* 清除中断 */
    EINT0PEND = ~0x0;
    VIC0ADDRESS = 0;
    VIC1ADDRESS = 0;
    printf("\n*******   %d  **********\n\r",count);
    count++;
    if(count==1024)
            count=10;
    __asm__(
    "ldmfd sp!, {r0-r12, pc}^ \n"      
    :
    :
  );
   
}

void init_irq()
{
   
    GPNCON |= (0x2<<14);/*GPN7外部中断对应 ExtInterrupt[7]*/
    EINT0CON0 = (0x1<<12); /*高电平触发中断*/
    EINT0MASK=0;
    VIC0INTENABLE |= 0b10;/*使能Externalinterrupt 4 ~ 11*/
    EINT7_VECTORADDR = (int)dm9000_handle;
    __asm__(
   
    "mrc p15,0,r0,c1,c0,0\n"
    "orr r0,r0,#(1<<24)\n"
    "mcr p15,0,r0,c1,c0,0\n"

    "mrs r0,cpsr\n"
    "bic r0, r0, #0x80\n"
    "msr cpsr_c, r0\n"            
    :
    :
  );
}

u32 dm9000_rx(u8 *data)
{
    u16 status,len;
    u16 tmp;
    u32 i;
    u8 ready = 0;
   
    /*判断是否产生中断,且清除*/
    if(dm9000_reg_read(DM9000_ISR) & 0x01)
        dm9000_reg_write(DM9000_ISR,0x01);
    else
        return 0;
        
    /*空读*/
    ready = dm9000_reg_read(DM9000_MRCMDX);
   
    if ((ready & 0x01) != 0x01)
    {
            ready = dm9000_reg_read(DM9000_MRCMDX);
            if ((ready & 0x01) != 0x01)
                return 0;
    }
   
   
    /*读取状态*/
    status = dm9000_reg_read(DM9000_MRCMD);
   
    /*读取包长度*/
    len = DM_DAT;
   
    /*读取包数据*/
    if(len<PTK_MAX_LEN)
    {
       for(i=0;i<len;i+=2)
       {
           tmp = DM_DAT;
           data[i] = tmp & 0x0ff;
           data[i+1] = (tmp>>8)&0x0ff;
       }
    }
   
    return len;
}
回复

使用道具 举报

0

主题

2

帖子

14

积分

发表于 2016-11-16 14:24:45 | 显示全部楼层
我在这一块也遇到问题了,进入中断后串口上打印不出主机的IP和MAC地址,打印的是开发板的,我的QQ:1092352710,咱两个可以讨论一下
点评回复 支持 反对

使用道具 举报

0

主题

2

帖子

14

积分

发表于 2016-11-16 14:44:30 | 显示全部楼层
哥们方便把你的qq给搜说一下嘛?
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-5-3 18:08

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表