OpenEdv-开源电子网

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

stm32f103c8t6单定时器--2、4通道输入捕获计算频率和占空比;定时器计数模式

[复制链接]

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2017-5-30 20:37:38 | 显示全部楼层 |阅读模式
本帖最后由 275891381 于 2018-7-22 15:21 编辑

单定时器2通道输入捕获计算频率和占空比.rar (2.07 MB, 下载次数: 6902)
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2017-5-31 21:12:16 | 显示全部楼层
回复 支持 反对

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
 楼主| 发表于 2017-5-31 21:44:04 | 显示全部楼层

你挺忙的,天天还要看帖子,辛苦哟
回复 支持 反对

使用道具 举报

3

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2017-4-2
在线时间
28 小时
发表于 2017-7-26 01:01:50 | 显示全部楼层
谢谢分享,我先看看,我也是c8t6,换其他通道就是没反应。
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2017-7-12
在线时间
16 小时
发表于 2017-8-7 15:41:33 | 显示全部楼层
你好我想问一下,"includes.c  文件里面的公用函数float map(float input,float input_min,float input_max,float output_min,float output_max)
{
     float out_put;
     out_put=(input-input_min)/(input_max-input_min)*(output_max-output_min)+output_min;
     return out_put;
}
是做什么用的
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2017-7-12
在线时间
16 小时
发表于 2017-8-7 16:55:53 | 显示全部楼层
我在串口上输出的数据,只有ch1和ch3是有数据变化的,2和4则每一变化
回复 支持 反对

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
 楼主| 发表于 2017-8-23 09:42:10 | 显示全部楼层
TECHMEN 发表于 2017-8-7 15:41
你好我想问一下,"includes.c  文件里面的公用函数float map(float input,float input_min,float input_max ...

映射函数,例如把ad采集的数据映射到0-3.3v 直接可以用这个函数,这个例子没用,
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2018-7-16
在线时间
2 小时
发表于 2018-7-21 17:24:39 | 显示全部楼层
赞一个,好东西
回复 支持 反对

使用道具 举报

2

主题

13

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2018-7-21
在线时间
5 小时
发表于 2018-7-21 18:45:06 | 显示全部楼层
给500Hz方波的时候周期是乱的啊  一直在跳变
回复 支持 反对

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
 楼主| 发表于 2018-7-21 19:28:14 | 显示全部楼层
少年啊 发表于 2018-7-21 18:45
给500Hz方波的时候周期是乱的啊  一直在跳变

有小波动你可以优化下代码试试,代码肯定没问题的,都测试过了才发的,你也是第一个说有问题的
回复 支持 反对

使用道具 举报

2

主题

13

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2018-7-21
在线时间
5 小时
发表于 2018-7-21 19:40:10 | 显示全部楼层
275891381 发表于 2018-7-21 19:28
有小波动你可以优化下代码试试,代码肯定没问题的,都测试过了才发的,你也是第一个说有问题的

回复 支持 反对

使用道具 举报

2

主题

13

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2018-7-21
在线时间
5 小时
发表于 2018-7-21 19:41:10 | 显示全部楼层

类似于这张图片的乱码
回复 支持 反对

使用道具 举报

2

主题

13

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2018-7-21
在线时间
5 小时
发表于 2018-7-21 20:05:34 | 显示全部楼层
回复 支持 反对

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
 楼主| 发表于 2018-7-21 20:10:52 | 显示全部楼层
少年啊 发表于 2018-7-21 19:41
类似于这张图片的乱码

刚试了试没问题的 无标题.png

回复 支持 反对

使用道具 举报

2

主题

13

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2018-7-21
在线时间
5 小时
发表于 2018-7-21 20:34:18 | 显示全部楼层
275891381 发表于 2018-7-21 20:10
刚试了试没问题的

老哥  您用的什么软件仿真的啊
回复 支持 反对

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
 楼主| 发表于 2018-7-21 20:42:55 | 显示全部楼层
本帖最后由 275891381 于 2018-7-21 21:20 编辑
少年啊 发表于 2018-7-21 20:34
老哥  您用的什么软件仿真的啊

单片机延时发的方波,逻辑分析仪看的,给捕获的基本一样
回复 支持 反对

使用道具 举报

2

主题

13

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2018-7-21
在线时间
5 小时
发表于 2018-7-22 00:07:41 | 显示全部楼层
老哥的代码很好用,精度也高。  之前的乱码是板子不一样  通道被占用了
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2018-5-16
在线时间
11 小时
发表于 2018-7-24 22:15:42 | 显示全部楼层
非常感谢,正好我需要输入捕获pwm
回复 支持 反对

使用道具 举报

3

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
194
金钱
194
注册时间
2019-4-9
在线时间
47 小时
发表于 2019-5-30 13:52:42 | 显示全部楼层
我试了一下,当这个程序在捕获10ns级别的方波时,不是很准确?是我的测量有问题?
回复 支持 反对

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2019-5-30 13:59:59 | 显示全部楼层
本帖最后由 nashui_sx 于 2019-5-30 14:04 编辑
weiweiheihei 发表于 2019-5-30 13:52
我试了一下,当这个程序在捕获10ns级别的方波时,不是很准确?是我的测量有问题?

里面有备注
//根据实验测试,电平持续时间小于10us会出现捕捉不到,也就是会丢失一次跳变,进而得出采样频率max=1/(10/1000000)=100kHz
ns别想了

回复 支持 反对

使用道具 举报

3

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
194
金钱
194
注册时间
2019-4-9
在线时间
47 小时
发表于 2019-5-30 14:08:25 | 显示全部楼层
所以这个捕获不了100khz及以上的频率了吗?
那我要想捕获100kh而且需要精度很高怎么配置啊?用外部计数器吗?
回复 支持 反对

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2019-6-2 14:36:39 | 显示全部楼层
weiweiheihei 发表于 2019-5-30 14:08
所以这个捕获不了100khz及以上的频率了吗?
那我要想捕获100kh而且需要精度很高怎么配置啊?用外部计数器 ...

捕获一个通道的上升沿估计能达到300k
再高就只能外部计数了能2m
回复 支持 反对

使用道具 举报

3

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
194
金钱
194
注册时间
2019-4-9
在线时间
47 小时
发表于 2019-6-3 08:01:39 | 显示全部楼层
nashui_sx 发表于 2019-6-2 14:36
捕获一个通道的上升沿估计能达到300k
再高就只能外部计数了能2m

我需要捕获的频率不是特别高 ,大概是100khz,但是需要精度特别高。大概误差允许在10几个赫兹,另外允许响应时间也很短,在20-30ms,我用的战舰开发板,再这样的前提下应该用哪种?
回复 支持 反对

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2019-6-3 08:54:03 | 显示全部楼层
本帖最后由 nashui_sx 于 2019-6-3 08:59 编辑
weiweiheihei 发表于 2019-6-3 08:01
我需要捕获的频率不是特别高 ,大概是100khz,但是需要精度特别高。大概误差允许在10几个赫兹,另外允许 ...

模板1.rar (283.24 KB, 下载次数: 130)
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2019-9-5
在线时间
5 小时
发表于 2019-11-29 20:45:35 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

0

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2013-4-12
在线时间
15 小时
发表于 2019-12-12 13:24:17 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

12

主题

72

帖子

0

精华

高级会员

Rank: 4

积分
538
金钱
538
注册时间
2019-7-3
在线时间
167 小时
发表于 2020-3-9 18:41:56 | 显示全部楼层
麻烦楼主有空的时候帮我看一下我的这个问题http://www.openedv.com/forum.php ... d=306870&extra=
您的代码我下载了N次都没有成功,下载到一半就卡住了,不知道什么问题

中断方式3.zip

4.25 MB, 下载次数: 11

回复 支持 反对

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2020-3-10 20:42:41 | 显示全部楼层
WWW256 发表于 2020-3-9 18:41
麻烦楼主有空的时候帮我看一下我的这个问题http://www.openedv.com/forum.php?mod=viewthread&tid=306870&e ...

你这代码没问题呀,跳动你可以计数频率最大用72m 然后读取的数舍弃后一两位就稳定了
回复 支持 反对

使用道具 举报

2

主题

31

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
461
金钱
461
注册时间
2020-3-8
在线时间
41 小时
发表于 2020-4-3 16:37:44 | 显示全部楼层
如果把步进电机当做传感器,是不是也能测出一组数据来?
能不能同时测6组数据?
回复 支持 反对

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2020-4-3 17:56:38 | 显示全部楼层
f429AI 发表于 2020-4-3 16:37
如果把步进电机当做传感器,是不是也能测出一组数据来?
能不能同时测6组数据?

可以。。。。。。。。。。。
回复 支持 反对

使用道具 举报

5

主题

27

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2019-4-19
在线时间
44 小时
发表于 2020-6-16 10:44:53 | 显示全部楼层
你好楼主  PB6 PB7  不是TIM4嘛  可以用TIM3?还有 我看了下程序 程序里不是只有高电平时间? 怎么算占空比与频率的?
回复 支持 反对

使用道具 举报

21

主题

218

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2320
金钱
2320
注册时间
2017-12-11
在线时间
494 小时
发表于 2020-7-18 13:51:18 | 显示全部楼层
感谢分享了!
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
190
金钱
190
注册时间
2020-5-27
在线时间
56 小时
发表于 2020-7-27 20:07:31 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

4

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2017-11-26
在线时间
32 小时
发表于 2020-8-21 13:58:55 | 显示全部楼层
楼主你好,能否帮我看下这个问题,谢谢
http://www.openedv.com/forum.php?mod=viewthread&tid=315853
回复 支持 反对

使用道具 举报

0

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2020-7-29
在线时间
40 小时
发表于 2020-12-20 23:05:46 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 14:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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