打印

我的定时器程序怎么跑飞了呀

[复制链接]
1121|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Creas_Tall|  楼主 | 2016-4-19 20:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
配置定时器3中断以后,延时不起作用

定时器3配置如下:
void TIM3_Conifg(uint8_t num_t)
{
        TIM_TimeBaseInitTypeDef TimeBaseInstructure;
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);

        TIM_DeInit(TIM3);
        TimeBaseInstructure.TIM_Period = 10*num_t;
        TimeBaseInstructure.TIM_Prescaler = 7200;
        TimeBaseInstructure.TIM_ClockDivision = 0;
        TimeBaseInstructure.TIM_CounterMode = TIM_CounterMode_Up;

        TIM_TimeBaseInit(TIM3,&TimeBaseInstructure);
        TIM_ClearFlag(TIM3,TIM_FLAG_Update);
        TIM_Cmd(TIM3,ENABLE);
        TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);
}

定时器3中断代码如下:
void TIM3_IRQHandler(void)
{
        if(TIM_GetITStatus(TIM3,TIM_IT_Update) == SET)
        {
                screen_scan(sc1,sc2,sc3,sc4);                delay_ms(5);
                TIM_ClearITPendingBit(TIM3,TIM_IT_Update);
        }
}

相关帖子

沙发
songlaijun| | 2016-4-20 20:30 | 只看该作者
中断中加了延时,能运行成功了才怪

使用特权

评论回复
板凳
manaok12345| | 2016-4-20 20:37 | 只看该作者
定时器的配置,居然带参数,第一次见到,好牛X。

使用特权

评论回复
地板
myidear| | 2016-4-25 09:18 | 只看该作者
只要定时器的时间大于延时时间很多倍,也是可以的

使用特权

评论回复
5
cnb12345| | 2016-4-25 09:38 | 只看该作者

使用特权

评论回复
6
liutongda| | 2016-4-25 22:25 | 只看该作者
myidear 发表于 2016-4-25 09:18
只要定时器的时间大于延时时间很多倍,也是可以的

这个很多倍有没有个具体参数呢?

使用特权

评论回复
7
原味_郭| | 2016-4-26 10:59 | 只看该作者
liutongda 发表于 2016-4-25 22:25
这个很多倍有没有个具体参数呢?

大于10倍左右,200ms或者更大的定时时间,就没事了。

使用特权

评论回复
8
dongbaohui| | 2016-4-26 15:12 | 只看该作者
原味_郭 发表于 2016-4-26 10:59
大于10倍左右,200ms或者更大的定时时间,就没事了。

只要定时时间大于函数执行时间就好了。但是这个间隔太小的话,会频繁的进入中断的。

使用特权

评论回复
9
cnb12345| | 2016-4-26 16:31 | 只看该作者

使用特权

评论回复
10
l科科1987| | 2016-4-26 18:35 | 只看该作者
dongbaohui 发表于 2016-4-26 15:12
只要定时时间大于函数执行时间就好了。但是这个间隔太小的话,会频繁的进入中断的。 ...

定时器的中断时间一定要配合好,不然就会出现问题的。

使用特权

评论回复
11
Creas_Tall|  楼主 | 2016-5-9 21:31 | 只看该作者
原味_郭 发表于 2016-4-26 10:59
大于10倍左右,200ms或者更大的定时时间,就没事了。

我最后设置的,大了很多倍,这才不会频繁进去。

使用特权

评论回复
12
Creas_Tall|  楼主 | 2017-4-16 19:43 | 只看该作者
myidear 发表于 2016-4-25 09:18
只要定时器的时间大于延时时间很多倍,也是可以的

有时候确实也可以,直接复制的别人的函数,找的官方的就好了。

使用特权

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

本版积分规则

24

主题

181

帖子

1

粉丝