打印

香版帮助,如何设置才能使Tick中断能够中断TIM6中断?

[复制链接]
1941|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yzzly|  楼主 | 2011-12-26 16:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
TI, ck, ic, vi, ST
本帖最后由 yzzly 于 2011-12-27 12:56 编辑

TIM6中断配置
NVIC_InitStructure.NVIC_IRQChannel = TIM6_IRQChannel;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);

void SysTick_Configuration(void)
{
      SysTick->CTRL |= SysTick_CLKSource_HCLK;
      SysTick->LOAD = SysTick_Delay*AHBCLK/1000;
      SysTick->CTRL |= 0x02;          //使能系统定时器中断
}

TIM6的中断函数内有个延时,而延时时基就是系统Tick的中断,现在的问题是一旦进入TIM6的中断延时就死了,是Tick不能中断造成的。进入TIM6中断后如何使Tick的中断不受影响?谢谢!
顺便问问,哪个资料上有NVIC寄存器的详细介绍??
沙发
68336016| | 2011-12-26 22:57 | 只看该作者
优先级问题,systick优先级很低

使用特权

评论回复
板凳
yzzly|  楼主 | 2011-12-27 08:41 | 只看该作者
本帖最后由 yzzly 于 2011-12-27 14:25 编辑

SysTick与TIM6中断优先级不是可以设置吗?如何设置才能使SysTick中断TIM6中断服务??

使用特权

评论回复
地板
yzzly|  楼主 | 2011-12-27 12:46 | 只看该作者
没人使用中断嵌套?

使用特权

评论回复
5
yzzly|  楼主 | 2011-12-27 14:15 | 只看该作者
把TIM2与TIM6的中断向以下这样配置,TIM2与TIM6就可以中断嵌套。
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQChannel;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);

NVIC_InitStructure.NVIC_IRQChannel = TIM6_IRQChannel;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);

怎么才能实现SysTick中断嵌套TIM6中断???难道不可能做到???

使用特权

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

本版积分规则

427

主题

1173

帖子

3

粉丝