打印

为什么我进不了中断?

[复制链接]
2176|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hushenming|  楼主 | 2007-2-14 16:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
rc, AI, ev, BLE, fda

#include "f2407regs.h"
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <math.h>
#include <string.h>

void inline disable(void)    /*可屏蔽中断禁止*/
{
  asm(" setc INTM ");
}

void inline enable(void)     /*未屏蔽中断使能*/
{
  asm(" clrc INTM ");
}  

void initial(void)
{
   asm (" clrc CNF");         /*b0被设置为数据存储空间*/
   asm (" clrc OVM ");        /*累加器中结果正常溢出*/
   asm (" setc SXM ");        /*符号扩展有效*/
   *SCSR1 = *SCSR1|0x0001;           /* EVA模块使能*/
   *WDCR=0x00e8;
   *IMR = *IMR|0X0002;                /*中断级INT2被使能,其它屏蔽*/
   *IFR = 0XFFFF;                /*清除中断标志*/


void timerlint(void)

  *EVAIFRA = *EVAIFRA|0X0080;            /*上溢中断标志复位*/
  *EVAIMRA = *EVAIMRA|0x0080;            /*上溢中断使能*/ 
  *T1CON = 0X9005;              /*t1连续增计数,定时器禁止,内部时钟,不倍频,等于周期寄存器时重装载*/
  *T1CNT=0X00;
  *T1CMPR = 0X00FF;
  *T1PR =  0XFFFF;
}

void bright(void)
{
 *MCRC = *MCRC & 0xbfff;                    
 *PFDATDIR = *PFDATDIR | 0x4040;
}

void black(void)
{
  *MCRC = *MCRC & 0xbfff;      /*暗的小灯*/
  *PFDATDIR = *PFDATDIR | 0x4000;
  *PFDATDIR = *PFDATDIR & 0xffbf; 
}

void interrupt T1PINT()    /*上溢中断服务程序*/
{
 int flag,i;
 *T1CNT = 0X00;
 flag = *EVAIFRA & 0X0400;   /*检测上溢中断标志是否为一*/
 black();
 if (flag != 0x0400)         /*不为一*/
  {
   enable();                 /*开总中断*/
   return;  
  }
 *EVAIFRA = 0X0400;        /*复位上溢中断标志*/
 i++;
 bright();
 if(i==7)
   {i=0;
    bright();
   }
 return;
}

void interrupt nothing()

  enable(); 
  return;
}

void main(void)
{   
    disable();
    initial();
    timerlint();
    enable();
    *T1CON = *T1CON | 0X0040;   
    while(1) 
    {
    ;
    }
}

相关帖子

沙发
nalywg| | 2007-3-1 11:48 | 只看该作者

回复

兄弟,也不知你的问题解决了没有,我是刚开始用c,以前一直用汇编的。
不知你的注释十笔误还是什么原因,我想你用的是定时器1周期中断吧,而并不是上溢中断。(*EVAIFRA = *EVAIFRA|0X0080;   /*上溢中断标志复位*/
  *EVAIMRA = *EVAIMRA|0x0080;            /*上溢中断使能*/ )
可你在中断程序里又作了一个判断(flag = *EVAIFRA & 0X0400;   /*检测上溢中断标志是否为一*/)。我想问题出现在这里吧!把这个判断不要试试看。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

14

帖子

0

粉丝