OpenEdv-开源电子网

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

定时器中断服务函数时间不准

[复制链接]

23

主题

85

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
365
金钱
365
注册时间
2018-3-21
在线时间
64 小时
发表于 2018-4-18 16:51:51 | 显示全部楼层 |阅读模式
2金钱
在运行定时器中断服务函数后,发现时间与我设定的相差太大,我设定的是0.5s运行一次,实际运行的大概在5s,串口信息打印显示也是间隔五秒左右,谁能帮忙解释一下
[mw_shl_code=applescript,true]void TIM3_IT_Init(uint16_t psc,uint16_t arc)
{
        //3õê¼»ˉ¶¨ê±Æ÷½á11ìå
        TIM_TimeBaseInitTypeDef TIM_InitStructure;
        NVIC_InitTypeDef NVIC_InitStructure;       
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);        //′ò¿a¶¨ê±Æ÷μÄíaéèê±Öó
       
   //TIM»ù′¡ÅäÖÃ
        TIM_InitStructure.TIM_ClockDivision=TIM_CKD_DIV1;
        TIM_InitStructure.TIM_CounterMode=TIM_CounterMode_Up;       
        TIM_InitStructure.TIM_Period=arc;//×Ô¶ˉÖØ×°ÔØÖμ
        TIM_InitStructure.TIM_Prescaler=psc;        //Ô¤·ÖÆμÖμ
        TIM_TimeBaseInit(TIM3,&TIM_InitStructure);       
        TIM_ClearITPendingBit(TIM3, TIM_IT_Update);
        TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);//ÔêDí¶¨ê±Æ÷3¸üDÂÖD¶Ïê1Äü       
        TIM_Cmd(TIM3,ENABLE);//ê1Äü ¶¨ê±Æ÷3
       
        //NVIC configration
        NVIC_InitStructure.NVIC_IRQChannel=TIM3_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;
        NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
        NVIC_Init(&NVIC_InitStructure);
               
}

//¶¨ê±Æ÷4ÖD¶Ï·tÎñoˉêy
void TIM3_IRQHandler(void)
{
        //delay_ms(50);
        if(TIM_GetITStatus(TIM3,TIM_IT_Update)==SET) //òç3öÖD¶Ï
        {
     LED3_ON;
                 printf("111111\n");               
                        TIM_ClearITPendingBit(TIM3,TIM_IT_Update);  //Çå3yÖD¶Ï±ê־λ
        }

}


int main(void)
{       
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
        SystemInit();
        //delay_init(32);
        uart_init();
        KEY_Init_GPIO();
        LED_Init_GPIO();
  TIM3_IT_Init((5000-1),(3200-1));
        //EXTI_Key();
  //int i;
  while(1)
        {
//     LED_ALL_ON();
//                delay_ms(50);
//                 LED_ALL_OFF();
//                        delay_ms(50);
        }

}[/mw_shl_code]















正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

21

主题

2205

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5141
金钱
5141
注册时间
2014-8-26
在线时间
1317 小时
发表于 2018-4-18 18:38:37 | 显示全部楼层
怀疑你系统时钟初始化有问题,检查下
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 05:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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