OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4488|回复: 2

实验50 网络通信实验中的外部中断EXTI9_5_IRQHandler有什么用?

[复制链接]

10

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
157
金钱
157
注册时间
2016-1-21
在线时间
30 小时
发表于 2016-9-3 17:03:40 | 显示全部楼层 |阅读模式
5金钱
最近在研究原子哥的网络通信实验,发现在dm9000.c中有一个外部中断线6的中断服务函数EXTI9_5_IRQHandler(),里面调用了一个dm9000的中断处理函数DMA9000_ISRHandler()。但是在这个处理函数中没有添加代码,为什么程序也能跟PC机通讯收发数据?
在这个实验里发送和接收数据都是查询方式吗?会被其它中断打断而导致收发出错?
请大神们指教一下!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2016-9-3 20:24:57 | 显示全部楼层
这是DM9000的中断输入啊。。。你上代码,应该是有处理的。
回复

使用道具 举报

10

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
157
金钱
157
注册时间
2016-1-21
在线时间
30 小时
 楼主| 发表于 2016-9-5 09:09:46 | 显示全部楼层
本帖最后由 漆黑丨夜 于 2016-9-5 11:25 编辑

[mw_shl_code=c,true]//外部中断线6的中断服务函数
void EXTI9_5_IRQHandler(void)
{
        EXTI->PR=1<<6;                  //清除LINE6上的中断标志位         
        while(DM9000_INT==0)
        {
                DMA9000_ISRHandler();
        }
} [/mw_shl_code]

[mw_shl_code=c,true]//DM9000中断处理函数
void DMA9000_ISRHandler(void)
{
        u16 int_status;
        u16 last_io;
        last_io = DM9000->REG;
        int_status=DM9000_ReadReg(DM9000_ISR);
        DM9000_WriteReg(DM9000_ISR,int_status);//清除中断标志位,        DM9000的ISR寄存器的bit0~bit5写1清零        
        if(int_status & ISR_ROS)printf("overflow \r\n");
    if(int_status & ISR_ROOS)printf("overflow counter overflow \r\n");        
        if(int_status & ISR_PRS)                //接收中断
        {  
                 //接收完成中断,用户自行添加所需代码
        }
        if(int_status & ISR_PTS)                        //发送中断
        {
                //发送完成中断,用户自行添加所需代码
        }
        DM9000->REG=last_io;        
}[/mw_shl_code]
我在接收完成和发送完成中试过添加打印语句,发现程序每隔一段时间(大约几个ms)就进入一次。按了KEY0发送数据到PC机上,反而没有看到打印的信息,这是不是代表着发送数据没有进入到这个中断?
另外,请问代码中:int_status=DM9000_ReadReg(DM9000_ISR);
                           DM9000_WriteReg(DM9000_ISR,int_status);这两句有什么意义吗?读取一个值再写回去?
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 21:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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