OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2982|回复: 0

定时器中断程序的问题

[复制链接]

3

主题

60

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
249
金钱
249
注册时间
2016-10-8
在线时间
50 小时
发表于 2016-10-14 14:17:56 | 显示全部楼层 |阅读模式
求大神看下我下面的程序错在哪里
int main(void)
{   
    /* Init Test Status LED */
    TestStatusLedInit();
    /* Flash LED for test */
    FlashLED ( 5  );
    TIM3_Int_Init(4999,7199);                       //加这句语句,while语句不能执行;不加这句语句,while语句可以执行。
    while (1)
    {
            /* Turn on LED */
            GPIOC->BOR = GPIO_PIN_10;
            /* Insert 200 ms delay */
            Delay(200);
            /* Turn off LED */
            GPIOC->BCR =  GPIO_PIN_10;                              
            /* Insert 200 ms delay */
            Delay(200);
    }
}

void TIM3_Int_Init(uint16_t arr,uint16_t psc)
{
                TIMER_BaseInitPara  TIM_TimeBaseStructure;
                NVIC_InitPara   NVIC_InitStructure;
               
                RCC_APB1PeriphClock_Enable(RCC_APB1PERIPH_TIMER3, ENABLE);
               
                TIM_TimeBaseStructure.TIMER_Period = arr;
                TIM_TimeBaseStructure.TIMER_Prescaler =psc;
                TIM_TimeBaseStructure.TIMER_ClockDivision = 0;
                TIM_TimeBaseStructure.TIMER_CounterMode = TIMER_COUNTER_UP;
                TIMER_BaseInit(TIMER3, &TIM_TimeBaseStructure);

                TIMER_INTConfig(TIMER3,TIMER_INT_UPDATE,ENABLE);
       
                NVIC_PRIGroup_Enable(NVIC_PRIGROUP_2);
                NVIC_InitStructure.NVIC_IRQ=TIMER3_IRQn;
                NVIC_InitStructure.NVIC_IRQPreemptPriority=0;
                NVIC_InitStructure.NVIC_IRQSubPriority=3;
                NVIC_InitStructure.NVIC_IRQEnable=ENABLE;
                NVIC_Init(&NVIC_InitStructure);
       
                TIMER_Enable(TIMER3, ENABLE);
}

void TIMER3_IRQHandler(void)
{
                if(TIMER_GetIntBitState(TIMER3,TIMER_INT_UPDATE)!=RESET)
                {
                                TIMER_ClearIntBitState(TIMER3,TIMER_INT_UPDATE);
                }
}

这是主要程序的部分,在main函数中添加这句话 TIM3_Int_Init(4999,7199);后,while中的语句就没有执行了,也没有看到定时器3的中断语句执行;如果注释掉这句语句,while中的语句就可以执行了,求大神帮忙看看是什么问题?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-24 01:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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