博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TQ2440之中断
阅读量:5324 次
发布时间:2019-06-14

本文共 1405 字,大约阅读时间需要 4 分钟。

在TQ2440的中断这里卡了很久,最后看了一位大神的空间把问题解决了,在这里表示一下感谢。

下面我把代码贴出来跟刚学习2440的人分享:

进入ISR后,清除中断的顺序很重要,首先是srcpnd接着是intpnd,如果还需要清除eintpnd的话,要最先清除。

初始化中断:

void irq_init(void)    //irq初始化,这个函数其实比较简单,适当看看2440PDF就应该能设定寄存器了{    GPFCON = 0xaaaa;    SRCPND = 0x17;    INTMSK &= ~(0x17);    INTPND = 0x17;    EINTPEND =(1<<4);    __asm{nop}    EINTMASK &=~(1<<4);    __asm{nop}       EXTINT0 = 0x0;}

中断服务函数,点击按键,相应的灯被点亮:

void  IRQ_Handler(void) __irq //irq中断函数 这个函数是关键{    int j=0;    __asm{nop};    __asm{nop};    j= INTOFFSET;    SRCPND = SRCPND | 0x17;     //1 0111    INTPND = INTPND | 0x17;    switch(j)    {        case 0:        irq_ent0();//为中断0        break;                case 1:        irq_ent1();//外中断1        break; case 2:                irq_ent2();//外中断2        break; case 4:        irq_ent3();//外中断4     break;    }}

相应的中断处理函数(点击按键相应的灯点亮):

void irq_ent0(void)  {      SRCPND = 1<<0;      INTPND = 1<<0;        GPBDAT |= (0x0f<<5);      GPBDAT &= ~(1<<8);  }    void irq_ent1(void)  {      SRCPND = 1<<1;      INTPND = 1<<1;        GPBDAT |= (0x0f<<5);      GPBDAT &= ~(1<<5);  }    void irq_ent2(void)  {      SRCPND = 1<<2;      INTPND = 1<<2;        GPBDAT |= (0x0f<<5);      GPBDAT &= ~(1<<7);  }    void irq_ent3(void)  {      EINTPEND = (1<<4);      SRCPND = 1<<4;      INTPND = 1<<4;        GPBDAT |= (0x0f<<5);      GPBDAT &= ~(1<<6);  }

 

转载于:https://www.cnblogs.com/zpehome/archive/2013/01/07/2841422.html

你可能感兴趣的文章
管道,数据共享,进程池
查看>>
[Cypress] Stub a Post Request for Successful Form Submission with Cypress
查看>>
SDUTOJ3754_黑白棋(纯模拟)
查看>>
php中的isset和empty的用法区别
查看>>
把word文档中的所有图片导出
查看>>
ubuntu 18.04取消自动锁屏以及设置键盘快捷锁屏
查看>>
正则表达式
查看>>
arcgis api 4.x for js 结合 Echarts4 实现散点图效果(附源码下载)
查看>>
YTU 2625: B 构造函数和析构函数
查看>>
apache自带压力测试工具ab的使用及解析
查看>>
加固linux
查看>>
WPF中Image显示本地图片
查看>>
[poj1006]Biorhythms
查看>>
Hyper-V虚拟机上安装一个图形界面的Linux系统
查看>>
js千分位处理
查看>>
Mac---------三指拖移
查看>>
字符串类型的相互转换
查看>>
HTTP状态码
查看>>
iOS如何过滤掉文本中特殊字符
查看>>
基础学习:C#中float的取值范围和精度
查看>>