OpenEdv-开源电子网

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

原子哥定时器捕获程序,求知道几条程序。

[复制链接]

50

主题

193

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2016-4-11
在线时间
141 小时
发表于 2016-8-1 13:08:16 | 显示全部楼层 |阅读模式
10金钱
TIM_SetCompare1(TIM3,TIM_GetCapture1(TIM3)+1);
if(TIM_GetCapture1(TIM3)==300)TIM_SetCompare1(TIM3,0);       

原子哥在主函数中,这两条程序是什么意思?
谢谢!!!!!!

最佳答案

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

我刚刚看了下,是捕获实验的,不过这段代码和捕获功能无关,他就是控制灯的亮度的代码
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-8-1 13:08:17 | 显示全部楼层
滴丶滴 发表于 2016-8-1 13:41
这是对应着PWM输出实验,不是捕获实验?

我刚刚看了下,是捕获实验的,不过这段代码和捕获功能无关,他就是控制灯的亮度的代码
回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-8-1 13:26:23 | 显示全部楼层
TIM_GetCapture1(TIM3)就是读取比较捕获寄存器1的值, TIM_SetCompare1就是设置比较捕获寄存器1的值。
TIM_SetCompare1(TIM3,TIM_GetCapture1(TIM3)+1);
就是比较捕获寄存器1每一次都加1.
if(TIM_GetCapture1(TIM3)==300)TIM_SetCompare1(TIM3,0);比较捕获寄存器1的值到300就重新开始从0计数
回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-8-1 13:28:18 | 显示全部楼层
本帖最后由 憨厚诚实大叔 于 2016-8-1 13:29 编辑

如果不清楚CCR寄存器的作用,请看参考手册。
其实就是TIM3的CCR1从0到300循环。不求能直接用寄存器,起码能知道函数操作了那些寄存器
回复

使用道具 举报

50

主题

193

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2016-4-11
在线时间
141 小时
 楼主| 发表于 2016-8-1 13:31:21 | 显示全部楼层
本帖最后由 滴丶滴 于 2016-8-1 13:39 编辑
憨厚诚实大叔 发表于 2016-8-1 13:28
如果不清楚CCR寄存器的作用,请看参考手册。
其实就是TIM3的CCR1从0到300循环。不求能直接用寄存器,起码 ...

哦谢谢您。我之前是看过寄存器的,我是知道这几条程序的单独意思,但是不知道在捕获试验中的具体目的是什么。CCR寄存器的值与CNT做比较然后判断是否溢出?对吧?
我就直接给CCR1设置一个固定值不行吗?
回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-8-1 13:38:29 | 显示全部楼层
滴丶滴 发表于 2016-8-1 13:31
我知道这几条程序单独的意思。
我不理解的是 为什么要这样做?
在捕获实验中具体的目的是什么?

调整PWM的占空比,应该有某个灯的亮度一直变化,或者蜂鸣器声音一直有变化
回复

使用道具 举报

50

主题

193

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2016-4-11
在线时间
141 小时
 楼主| 发表于 2016-8-1 13:41:37 | 显示全部楼层
憨厚诚实大叔 发表于 2016-8-1 13:38
调整PWM的占空比,应该有某个灯的亮度一直变化,或者蜂鸣器声音一直有变化

这是对应着PWM输出实验,不是捕获实验?
回复

使用道具 举报

50

主题

193

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2016-4-11
在线时间
141 小时
 楼主| 发表于 2016-8-1 13:46:36 | 显示全部楼层
憨厚诚实大叔 发表于 2016-8-1 13:44
我刚刚看了下,是捕获实验的,不过这段代码和捕获功能无关,他就是控制灯的亮度的代码

哦,真的谢谢您了。
您人和名字一样!!!!!
回复

使用道具 举报

50

主题

193

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2016-4-11
在线时间
141 小时
 楼主| 发表于 2016-8-1 15:11:43 | 显示全部楼层
滴丶滴 发表于 2016-8-1 13:41
这是对应着PWM输出实验,不是捕获实验?

您好,我想再请教一下:
我现在想捕获一个方波,然后求出周期和占空比。
我用原子哥的程序已经能求出高电平持续时间了。
那我同时求周期的话,该怎么做?
能不能提供一个思路?  谢谢!!!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 15:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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