微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 冷火的 coldfire 52255 中断 大哥大姐们进来帮帮菜鸟小弟吧

冷火的 coldfire 52255 中断 大哥大姐们进来帮帮菜鸟小弟吧

时间:10-02 整理:3721RD 点击:
#define  DisableInterrupts()  asm(move.w  #0x2700,sr)      //关总中断
#define  EnableInterrupts()   asm(move.w  #0x2000,sr)      //开总中断
MCF_GPIO_PNQPAR = MCF_GPIO_PNQPAR_IRQ3_IRQ3
| MCF_GPIO_PNQPAR_IRQ5_IRQ5
| MCF_GPIO_PNQPAR_IRQ1_IRQ1
| MCF_GPIO_PNQPAR_IRQ7_IRQ7;
MCF_EPORT_EPDR = MCF_EPORT_EPDR_EPD3
|MCF_EPORT_EPDR_EPD5
|MCF_EPORT_EPDR_EPD1
|MCF_EPORT_EPDR_EPD7;
MCF_EPORT_EPPAR = 0
| MCF_EPORT_EPPAR_EPPA3_BOTH
| MCF_EPORT_EPPAR_EPPA5_BOTH
| MCF_EPORT_EPPAR_EPPA1_BOTH
| MCF_EPORT_EPPAR_EPPA7_BOTH;
MCF_EPORT_EPDDR &= ~(MCF_EPORT_EPDDR_EPDD1
    |MCF_EPORT_EPDDR_EPDD3
    |MCF_EPORT_EPDDR_EPDD5
    |MCF_EPORT_EPDDR_EPDD7);//方向设置为输入
MCF_EPORT_EPIER = 0
   | MCF_EPORT_EPIER_EPIE3
| MCF_EPORT_EPIER_EPIE5
| MCF_EPORT_EPIER_EPIE7
| MCF_EPORT_EPIER_EPIE1;
   MCF_EPORT_EPFR = 0xff; //清屏蔽寄存器
MCF_INTC0_IMRH = 0xffff;
MCF_INTC0_IMRL = 0xff00; //1111 1111 0000 0000
MCF_GPIO_PTJPAR = 0X00;
MCF_GPIO_DDRTJ = 0XFF;
__declspec(interrupt) void _IRQ3_Interrupt(void)
{
DisableInterrupts();
MCF_GPIO_PORTTJ = 0;
delay();
MCF_GPIO_PORTTJ = 0XFF;
delay();
count++;
MCF_EPORT_EPFR = MCF_EPORT_EPFR_EPF1
| MCF_EPORT_EPFR_EPF3
| MCF_EPORT_EPFR_EPF5
| MCF_EPORT_EPFR_EPF7;
EnableInterrupts();
}
__declspec(interrupt:1) void _IRQ1_Interrupt(void)
{
DisableInterrupts();
MCF_GPIO_PORTTJ = 0;
delay();
MCF_GPIO_PORTTJ = 0XFF;
delay();
MCF_EPORT_EPFR = MCF_EPORT_EPFR_EPF1
| MCF_EPORT_EPFR_EPF3
| MCF_EPORT_EPFR_EPF5
| MCF_EPORT_EPFR_EPF7;
EnableInterrupts();
}
__declspec(interrupt:7) void _IRQ7_Interrupt(void)
{
DisableInterrupts();
MCF_GPIO_PORTTJ = 0;
delay();
MCF_GPIO_PORTTJ = 0XFF;
delay();
count++;
MCF_EPORT_EPFR = MCF_EPORT_EPFR_EPF1
| MCF_EPORT_EPFR_EPF3
| MCF_EPORT_EPFR_EPF5
| MCF_EPORT_EPFR_EPF7;
EnableInterrupts();
}
__declspec(interrupt:5) void _IRQ5_Interrupt(void)
{
DisableInterrupts();
MCF_GPIO_PORTTJ = 0;
delay();
MCF_GPIO_PORTTJ = 0XFF;
delay();
count++;
MCF_EPORT_EPFR = MCF_EPORT_EPFR_EPF1
| MCF_EPORT_EPFR_EPF3
| MCF_EPORT_EPFR_EPF5
| MCF_EPORT_EPFR_EPF7;
EnableInterrupts();
}

这个是我的52255中断初始化程序,但是就是不知道怎么回事,不能进中断,程序没有效果。纠结了好久了。求大神指点指点小弟呀。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top