初级会员

- 积分
- 98
- 金钱
- 98
- 注册时间
- 2013-11-9
- 在线时间
- 0 小时
|

楼主 |
发表于 2014-3-2 18:01:23
|
显示全部楼层
回复【16楼】正点原子:
---------------------------------
一问:
MY_NVIC_Init(0,2,TIM1_UP_IRQChannel,2);//抢占0,子优先级2,组2
MY_NVIC_Init(0,1,TIM1_CC_IRQChannel,2);//抢占0,子优先级1,组2
这里抢占优先级一样,可是响应优先级TIM1_CC_IRQChannel比较高,那是不是应该先响应;
当然若是TIM1_UP_IRQChannel先产生中断,则不能打断,反问:该如何判断谁先产生中断?
二问:
MY_NVIC_Init(1,2,TIM1_UP_IRQChannel,2);//抢占1,子优先级2,组2
MY_NVIC_Init(0,1,TIM1_CC_IRQChannel,2);//抢占0,子优先级1,组2
如果改成这样,实验工程1也没发生变化,仍然是在执行TIM1_UP_IRQChannel中断,另一个中断进入不了,求解原因?
三问:
MY_NVIC_Init(1,2,TIM1_UP_IRQn,2);//抢占1,子优先级2,组2
MY_NVIC_Init(0,1,TIM1_CC_IRQn,2);//抢占0,子优先级1,组2
实验工程1是利用stm32f10x.h,实验工程2是利用stm32f10x_lib.h
TIM1_UP_IRQChannel应该改成TIM1_UP_IRQn,没错吧?
可是实验工程1这样改了以后,中断优先级管理器仍然显示不了作用。 |
|