keil编写中断向量服务地址时编译提示中断函数名未定义?

voidEint1_Init(void){PINSEL0|=0x20000000;/*设置管脚连接,设P0.15为EINT2*/EXTINT|=0x02;/*清除EINT... void Eint1_Init(void)
{
PINSEL0 |= 0x20000000; /* 设置管脚连接,设P0.15为EINT2 */
EXTINT |= 0x02; /* 清除EINT2中断标志 */
EXTMODE |= 0x02; /* 设置EINT2为边沿触发。 */
EXTPOLAR|=0x00; /* 设置EINT2为下降沿触发。 */
VICVectCntl0 = 0x20 | 15; /* 设置Eint2中断通道分配优先级 1 */
VICVectAddr0 = (unsigned int)ISR_Eint1; /* 设置中断服务程序地址 */
VICIntEnable |=( 1 << 15); /* 使能EINT2中断 */

}
void __irq ISR_Eint1 (void)
{
int32 j,k;
s++;
if(s==2)
s=0;
for(j=0;j<5;j++;)
for(k=0;k<50000;k++);
EXTINT |= 0x08; /* 清除EINT2中断标志 */
VICVectAddr = 0x00; // 通知VIC中断处理结束
}
展开
 我来答
zhzht_2008
2015-06-29 · TA获得超过2112个赞
知道小有建树答主
回答量:522
采纳率:100%
帮助的人:246万
展开全部
Eint1_Init函数使用了ISR_Eint1标识符,但是该标识符声明是在函数Eint1_Init下面的,所以会报ISR_Eint1未定义的错,只要在函数Eint1_Init之前这样声明:void __irq ISR_Eint1 (void) ;就可以了.
另外:
for(j=0;j<5;j++;)
这句,j++后面多了一个分号
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式