OpenEdv-开源电子网

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

寻库函数写一个采频率的程序思路方式

[复制链接]

11

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2014-7-11
在线时间
2 小时
发表于 2014-7-14 20:36:15 | 显示全部楼层 |阅读模式
5金钱

新手,很新!!   想用库函数写一个采频率的程序,能采出函数信号发生器发生的 方波 频率即可,但不知道具体该怎么写,能不能解说下具体思路?  如果有例子就更好了。 以前用51写过采频率的,是在定时器定时中断里用定时器中断的计数方式计数。  但现在用mini stm32,完全不知道该怎么下手了,pdf也看不太懂

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-7-14 22:45:58 | 显示全部楼层
很多种方法。
外部中断了,定时器的外部计数模式了,都可以。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

36

主题

1263

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1612
金钱
1612
注册时间
2012-6-15
在线时间
39 小时
发表于 2014-7-15 09:09:31 | 显示全部楼层
如果频率高 用外部计数的方式 , 定时器一定时间内检查计数器的值

如果频率低,采用外中断方式,另一个定时器计量在两次上升(下降)沿 之间的时间
回复

使用道具 举报

0

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2014-6-10
在线时间
0 小时
发表于 2014-7-15 09:37:00 | 显示全部楼层
http://www.openedv.com/posts/list/23218.htm
回复

使用道具 举报

11

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2014-7-11
在线时间
2 小时
 楼主| 发表于 2014-7-15 14:31:17 | 显示全部楼层
回复【3楼】aleda303:
---------------------------------
我想采的频率很低,最多也才几十HZ,采用外中断方式,另一个定时器计量在两次上升(下降)沿 之间的时间的这种方法,能不能麻烦再具体解说一下,外中断方式是是怎样的?
回复

使用道具 举报

36

主题

1263

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1612
金钱
1612
注册时间
2012-6-15
在线时间
39 小时
发表于 2014-7-15 15:49:37 | 显示全部楼层
[mw_shl_code=c,true] volatile u32 Cnt_N=0; //中断计数 void TIM2_IRQHandler(void) { if (TIM2->GetFlag(TIMType::F_Update)) { TIM2->ClearFlag(TIMType::F_Update); Cnt_N ++;//有溢出则++ 即多加65535 } } volatile u32 Cnt_V=0; //时间计数 volatile bool Cnt_F=false; void EXTI1_IRQHandler(void) { //每次上升沿中断 EXTI->ClearFlag(EXTIType:ine1) ; Cnt_V = (Cnt_N<<16) + TIM2->GetCounter(); //保存计数值 TIM2->SetCounter(0); //清除 Cnt_N=0; Cnt_F = true; } //主程序中 : if(Cnt_F) { Cnt_F=false; //......处理Cnt_V即可 }[/mw_shl_code]

回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-6 06:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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