硬汉嵌入式论坛

 找回密码
 立即注册
查看: 8388|回复: 3
收起左侧

[客户分享] F407定时器更新中断问题(TIM_IT_Update中断)

[复制链接]

92

主题

76

回帖

92

积分

初级会员

积分
92
发表于 2014-8-12 19:17:26 | 显示全部楼层 |阅读模式
应师兄的要求,在X3板子上面测试了下,定时器个更新中断功能,发现的确存在调用开启更新中断就会进入一次IRQ的问题。
测试API和IRQ

void TIM8_MeasureConfig(void)
{
    TIM_TimeBaseInitTypeDef TIM_BaseInitStructure;
    NVIC_InitTypeDef NVIC_InitStructure;
   
    /* Enable the TIM8 gloabal Interrupt */
    NVIC_InitStructure.NVIC_IRQChannel = TIM8_UP_TIM13_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);


    /* 开启时钟 */
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM8, ENABLE);


    /* 定时器配置 */
    TIM_DeInit(TIM8);  
    TIM_BaseInitStructure.TIM_Period = 8400;
    TIM_BaseInitStructure.TIM_Prescaler = 0;
    TIM_BaseInitStructure.TIM_ClockDivision = 0;
    TIM_BaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;
    TIM_TimeBaseInit(TIM8, &TIM_BaseInitStructure);
    TIM_Cmd(TIM8, DISABLE);                                  //关闭的情况下依然可以进入一次中断,真是感觉很奇葩。
    TIM_ITConfig(TIM8, TIM_IT_Update, ENABLE);    //关闭这个的话,就不会再进入了。
}
*************************************************************************************************************************

uint8_t flag = 0;
void TIM8_UP_TIM13_IRQHandler(void)
{
   
    if (TIM_GetITStatus(TIM8, TIM_IT_Update) != RESET)
    {   
        printf(" wwww = %d\r\n", flag++);
        TIM_ClearITPendingBit(TIM8, TIM_IT_Update);
    }
}
*************************************************************************************************************************

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106739
QQ
发表于 2014-8-14 11:58:23 | 显示全部楼层
这个的确是个bug,加上清除标志也不行,每次初始化都得进一次中断。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106739
QQ
发表于 2016-4-28 11:16:30 | 显示全部楼层
今天有网友再次问到这个问题,解决办法如下,就是修改了下初始化的部分函数顺序,可以规避这个问题:
http://www.51hei.com/bbs/dpj-40940-1.html
回复

使用道具 举报

0

主题

38

回帖

38

积分

新手上路

one is enough

积分
38
发表于 2017-6-22 14:09:30 | 显示全部楼层
mark~~~
one is enough
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-3 14:15 , Processed in 0.324082 second(s), 34 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表