OpenEdv-开源电子网

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

关于定时器

[复制链接]

12

主题

76

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
317
金钱
317
注册时间
2015-11-4
在线时间
51 小时
发表于 2016-9-8 22:43:12 | 显示全部楼层 |阅读模式
1金钱
我想实现在定时器计数的时候,每隔比如50个脉冲,触发一次中断,但是同时它的cnt是一直在计数,直到,比如999才从0重新开始。这个可以实现吗,我看定时器的介绍,貌似也没有看到相关的寄存器啊。注:都是在同一个定时器上发生的。我只是想确认下能不能实现这个功能,我有没有地方没有看到的。

最佳答案

查看完整内容[请看2#楼]

可以实现, 你说的这个和pwm有什么区别 就是pwm 时钟源 和中断源不同罢了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

22

主题

751

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1605
金钱
1605
注册时间
2015-6-10
在线时间
222 小时
发表于 2016-9-8 22:43:13 | 显示全部楼层
本帖最后由 止天 于 2016-9-9 08:49 编辑

可以实现,   你说的这个和pwm有什么区别
就是pwm 时钟源  和中断源不同罢了
回复

使用道具 举报

1

主题

140

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
290
金钱
290
注册时间
2016-8-15
在线时间
20 小时
发表于 2016-9-9 08:27:51 | 显示全部楼层
keyi d
回复

使用道具 举报

12

主题

76

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
317
金钱
317
注册时间
2015-11-4
在线时间
51 小时
 楼主| 发表于 2016-9-9 10:00:34 | 显示全部楼层
止天 发表于 2016-9-8 22:43
可以实现,   你说的这个和pwm有什么区别
就是pwm 时钟源  和中断源不同罢了

我是想用定时器的编码器模式,是用来计数的,然后每接收到50个脉冲触发中断,但是计数器在999才清0
回复

使用道具 举报

12

主题

76

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
317
金钱
317
注册时间
2015-11-4
在线时间
51 小时
 楼主| 发表于 2016-9-9 10:01:37 | 显示全部楼层
止天 发表于 2016-9-8 22:43
可以实现,   你说的这个和pwm有什么区别
就是pwm 时钟源  和中断源不同罢了

不是只有一个重装载值吗,怎么实现两个值
回复

使用道具 举报

12

主题

76

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
317
金钱
317
注册时间
2015-11-4
在线时间
51 小时
 楼主| 发表于 2016-9-9 10:54:58 | 显示全部楼层

我的配置是这样
        TIM_TimeBaseStructure.TIM_Period = dead_pulse-1;
        TIM_TimeBaseStructure.TIM_Prescaler = 0;
        TIM_TimeBaseStructure.TIM_ClockDivision = 0;     
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
        TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
不是到了我设置的这个值之后cnt就从0重新开始吗,我想要实现的功能怎么配置呢
回复

使用道具 举报

1

主题

140

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
290
金钱
290
注册时间
2016-8-15
在线时间
20 小时
发表于 2016-9-9 15:24:33 | 显示全部楼层
得了解底层的寄存器
回复

使用道具 举报

22

主题

751

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1605
金钱
1605
注册时间
2015-6-10
在线时间
222 小时
发表于 2016-9-12 08:32:52 | 显示全部楼层
夜愿晨城 发表于 2016-9-9 10:54
我的配置是这样
        TIM_TimeBaseStructure.TIM_Period = dead_pulse-1;
        TIM_TimeBaseStructure. ...

时钟源         TIM_TIxExternalClockConfig(TIMx,TIM_TIxExternalCLK1Source_TI1,TIM_ICPolarity_Rising, 15);

TIM_IT_CC1 中断源
回复

使用道具 举报

12

主题

76

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
317
金钱
317
注册时间
2015-11-4
在线时间
51 小时
 楼主| 发表于 2016-9-12 11:15:11 | 显示全部楼层
止天 发表于 2016-9-12 08:32
时钟源         TIM_TIxExternalClockConfig(TIMx,TIM_TIxExternalCLK1Source_TI1,TIM_ICPolarity_Rising, 15);
...

还是寄存器没了解,多谢!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-11 08:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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