在线时间0 小时
UID388853
注册时间2012-9-13
NXP金币0
该用户从未签到
新手上路

- 积分
- 0
- 最后登录
- 1970-1-1
|
我个乖乖弄了一下午了,总是打印出:****default_isr entered on vector 79*****
主要函数模块如下:
void main(void)
{
DisableInterrupts;
FTM_Input_init(FTM1, CH0, Rising);//初始化FTM1捕获功能
EnableInterrupts;
LED_init(); //初始化LED灯
gpio_init (PORTB, 0, GPO, 0); //初始化PTB0口
while(1)
{
gpio_turn(PORTB,0); //捕获PTB0口的上升沿
delay_ms(300);
}
}
//下面是两个中断函数,个人觉得问题就中断模块。我将CH0与PTB0连接,捕获PTB0口的上升沿。用//J_link在IAR中单步//调试了,PTB0上升沿一到就进//入 void //defult_isr(void) ,而不能进入void //FTM1_IRQHandler() 函数.
//在isr.h里已经有下定义了
//#undef VECTOR_079
//#define VECTOR_079 FTM1_IRQHandler //FTM0输入捕捉中断
//附上正在写的程序,6.FTM_INPUT.zip请指出错误之处,谢谢!
void default_isr(void)///////////////为什么进入到这里了呢{
#define VECTORNUM (*(volatile uint8_t*)(0xE000ED04))
LED_init();
water_lights(); //用流水灯来指示进入错误状态
printf("\n****default_isr entered on vector %d*****\r\n\n", VECTORNUM);
return;
}
void FTM1_IRQHandler()//这才是应该进入的函数
{
u8 s = FTM1_STATUS; //读取捕捉和比较状态 All CHnF bits can be checked using only one read of STATUS.
u8 n;
FTM1_STATUS = 0x00; //清中断标志位
n = 0;
<span style="color: rgb(34, 34, 34); font-family: Tahoma, Simsun; font-size: 15px; line-height: 22px; "> if( s & (1
|
|