C5509A中断函数与中断向量表关联的问题

2019-03-26 15:52发布

我是想通过定时器0实现中断定时void PLL_init()
{
CLKMD = 0x2cd4; //fclk = 100MHz, clkout = 50MHz
}
void timer0_init()
{
PRD0 = 9999;
PRSC0 = 9;
TCR0 = 0x0D38; //TOUT = 500Hz
}
void INT_init()
{
ST1_55 |= 1<<11; //失能所有中断
IER0 |= 1<<4; //使能定时器0,  是这样设置吗?,
ST1_55 &= ~(1<<11); //开所有中断
}
interrupt void timer0(void)  //中断函数就是为了控制一个引脚的电平
{
cnt++;
if(1000 == cnt)
{
if(flag&0x01)
{
ST1_55 |= (1<<13);
cnt = 0;
flag = ~flag;
}
else
{
ST1_55 &= ~(1<<13);
cnt = 0;
}
}
}
main()
{
PLL_init();
timer0_init();
INT_init();
TCR0 &= ~(1<<10);      TCR0 的TLB = 0
TCR0 &= ~(1<<4);          //启动定时器
ST1_55 &= ~(1<<13);   //
while(1);
}中断向量表的设置:_VECSTART:
.ivec _c_int00, C54X_STK
nmi .ivec no_isr
nop_16
int0 .ivec no_isr
nop_16
int1 .ivec no_isr
nop_16
int2 .ivec _timer0  //这里是这样设置对吗?
nop_16
int3 .ivec no_isr
nop_16
int4 .ivec no_isr
nop_16
int5 .ivec no_isr
nop_16
int6 .ivec no_isr

上面的设置之后能关联中断函数和中断向量表吗?还需要其他的设置吗?我就是不太明白,当定时器0发生中断后怎么找到我的中断函数呢? 此帖出自小平头技术问答
0条回答

一周热门 更多>