智能车制作

标题: 冷火的 coldfire 52255 大大哥大姐们进来帮帮菜鸟小弟吧 [打印本页]

作者: chengxinshuaish    时间: 2014-1-14 11:50
标题: 冷火的 coldfire 52255 大大哥大姐们进来帮帮菜鸟小弟吧
#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中断初始化程序,但是就是不知道怎么回事,不能进中断,程序没有效果。纠结了好久了。求大神指点指点小弟呀。

作者: 嘬u    时间: 2014-2-25 00:15
中断服务函数有去向量表那里替换吗?
作者: chengxinshuaish    时间: 2014-3-1 11:22
嘬u 发表于 2014-2-25 00:15
中断服务函数有去向量表那里替换吗?

嗯,就是那里的问题,第一次学习32位的单片机,不懂得太多了。谢谢了哈。
作者: 露子    时间: 2014-3-26 17:39
chengxinshuaish 发表于 2014-3-1 11:22
嗯,就是那里的问题,第一次学习32位的单片机,不懂得太多了。谢谢了哈。

弱弱的问一句,怎么改的呢?没搞懂啊

作者: 强风之名    时间: 2014-5-13 20:30
向量表在哪啊
作者: 强风之名    时间: 2014-5-13 20:50
找到了,谢谢了
作者: 吐息间丶时光中    时间: 2015-1-25 12:53
请问有谁知道WIN7 64位环境下怎么安装CW_ColdFire_7.2_SE。这几天始终没弄明白。拜托大家帮忙解决下
作者: chengxinshuaish    时间: 2015-2-1 13:36
额,这个好像前几天有个大神弄出来了。网上应该会有帖子的




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2