OpenEdv-开源电子网

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

原子哥,求助定时器2,定时值重新加载的问题

[复制链接]

2

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2012-11-11
在线时间
0 小时
发表于 2014-7-30 15:15:08 | 显示全部楼层 |阅读模式
5金钱
原子哥,请问一下,我想用定时器2定时,然后在中断中更新定时的值。该怎么配置?
我下面的配置是不是有问题?我通过调试发现定时器的值并没有更新,一直是初始化的值.

void Timer2_Init(void)
{
    TIM_TimeBaseInitTypeDef Tim_TimeBaseInitStruct;

    TIM_DeInit(TIM2); 
    Tim_TimeBaseInitStruct.TIM_Period = 1000-1;
    Tim_TimeBaseInitStruct.TIM_Prescaler = 71;
    Tim_TimeBaseInitStruct.TIM_ClockDivision = 0;
    Tim_TimeBaseInitStruct.TIM_CounterMode = TIM_CounterMode_Up;
    Tim_TimeBaseInitStruct.TIM_RepetitionCounter = 0;
    TIM_TimeBaseInit(TIM2, & Tim_TimeBaseInitStruct);

    TIM_ARRPreloadConfig(TIM2, ENABLE); //ENABLE//  DISABLE

    TIM_ClearFlag(TIM2,TIM_FLAG_Update);  
    TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); 
    TIM_Cmd(TIM2,ENABLE); 
}

void TIM2_IRQHandler(void) 
{
    static unsigned count =0;
    if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) 
    { 
        TIM_ClearITPendingBit(TIM2, TIM_IT_Update  ); 
        TIM2->ARR=TimeValue[count];
        count++;
        if(count>=32)
        {
            count=0;
        }
     }
}


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

使用道具 举报

16

主题

123

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2014-7-22
在线时间
0 小时
发表于 2014-7-30 15:58:25 | 显示全部楼层
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2012-11-11
在线时间
0 小时
 楼主| 发表于 2014-7-30 16:05:54 | 显示全部楼层
回复【2楼】潘浩锐:
---------------------------------
时钟没使能了,有定时输出,只是输出定时的时间没有更新,一直是初始化里设置的时间,后面在中断里TimeValue没有加载.
学无止境
回复

使用道具 举报

16

主题

123

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2014-7-22
在线时间
0 小时
发表于 2014-7-30 16:29:10 | 显示全部楼层
时钟没使能定时器就不会工作了呀,你把时钟使能一下看看
回复

使用道具 举报

14

主题

1592

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2622
金钱
2622
注册时间
2014-7-17
在线时间
350 小时
发表于 2014-7-30 17:06:01 | 显示全部楼层
定时器2好像不能做定时功能的
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2012-11-11
在线时间
0 小时
 楼主| 发表于 2014-7-30 18:08:30 | 显示全部楼层
回复【4楼】潘浩锐:
---------------------------------
不好意思打错了,时钟使能了
学无止境
回复

使用道具 举报

4

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2013-10-29
在线时间
0 小时
发表于 2014-7-30 18:28:03 | 显示全部楼层
一个寄存器用来存储值,直接赋值那个寄存器,在退出中断之后会生效,说明书上写了。
学号stm32,加油加油
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2012-11-11
在线时间
0 小时
 楼主| 发表于 2014-7-30 20:50:34 | 显示全部楼层
回复【7楼】丁超stm32:
---------------------------------
还是没有用
学无止境
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-7-30 22:47:13 | 显示全部楼层
怀疑你测试方法有问题.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-4 15:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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