电子工程专辑互动社区>EE爱问>嵌入式系统频道>STM32 ETR外部计数计算频率问题
大家在做什么
作者 问题:

STM32 ETR外部计数计算频率问题

发布时间:2015-7-22 下午4:58

作者: 阳光&守望者

等级: 初入江湖

积分: 75分

发帖数: 8次

网站总积分: 75分

经验值: 35.0

查看用户的所有发言

查看用户的个人e空间

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件 关闭
我用外部计数STM32 ETR计算频率,测量100K频率,用定时器2定时1S,定时器三PD2(TIM3_ETR)计数,计算公式f=n/t;测量出来的结果是9999 HZ,整整少了一位数字,这是什么原因呢,大家分析一下,谢谢,附我的程序
void Time3_Configuration()
{??
??TIM_TimeBaseInitTypeDef??TIM_TimeBaseStructure;
??TIM_TimeBaseStructure.TIM_Prescaler = 0x00;
??TIM_TimeBaseStructure.TIM_Period = 0xFFFF;
??TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;
??TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
??TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);??// Time base configuration
? ???
??TIM_ETRClockMode2Config(TIM3, TIM_ExtTRGPSC_OFF, TIM_ExtTRGPolarity_NonInverted, 0);??
??//TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);??
??TIM_SetCounter(TIM3, 0);? ?
??TIM_Cmd(TIM3, ENABLE);
}
? ? ? ? /*1S定时*/
void Tim2_Config(void)
{
? ?TIM_TimeBaseInitTypeDef? ?TIM2_TimeBaseStructure;
? ?NVIC_InitTypeDef NVIC_InitStructure;??
? ?TIM_DeInit(TIM2);
? ?TIM2_TimeBaseStructure.TIM_Period =999;
? ?TIM2_TimeBaseStructure.TIM_Prescaler = (7200-1);
? ?TIM2_TimeBaseStructure.TIM_ClockDivision = 0x0;//?è???±?????? ??·???
??TIM2_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;//?ò??????????
? ?TIM_TimeBaseInit(TIM2, &TIM2_TimeBaseStructure); // Time base configuration
? ?TIM_ClearFlag(TIM2,TIM_FLAG_Update);//?????ü??±ê????
??TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE );
? ?TIM_Cmd(TIM2, ENABLE);
? ?NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
? ?NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
? ?NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
? ?NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
? ?NVIC_Init(&NVIC_InitStructure);? ?? ?? ?? ?? ?
}
最后的计算部分:
void TIM2_IRQHandler(void)? ?
{
? ?? ? if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET)
? ?? ?? ?{
? ?? ?? ?? ?TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
? ?? ?? ?? ?CAPTURE1=(u32)TIM_GetCounter(TIM3);? ?? ???
? ???}
? ?? ? sum+=CAPTURE1;
? ?? ? count++;
? ?? ? if(count==4)
? ?? ? {
? ?? ???Frequency1=sum/4;//求频率公式F=n/t;这里求了4次的计数平均值,结果是1S的频率
? ?? ? sum=0;
? ?? ???count=0;
? ?? ?? ?? ? }
? ?? ? TIM_SetCounter(TIM3,0);
}
???标签: timer stm32 频率
ee小兵 编辑于 2015-7-24 下午2:33
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0) 有新回复时发送邮件通知
电子工程专辑应对最新汽车趋势的高度集成的电机控制方案
第1楼

回复主题:STM32 ETR外部计数计算频率问题

发布时间:2015-7-23 上午8:40

作者: 寻觅虚无

等级: 青铜长老

积分: 3693分

发帖数: 2371次

网站总积分: 3718分

经验值: 220.0

查看用户的所有发言

查看用户的个人e空间

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件 关闭
看看
一个大学生完成电子设计的全过程 值得一读 (下载2666 次) 书上学不到的~某高手谈开关电源设计心得,经典~ (下载2579 次)
运放和比较器的根本区别 (下载2239 次) 焊接工艺(花了很多时间整理,图文并茂) (下载2672 次)
电子电路制作大全[PDF共6本] (下载128273 次) WiFi模块全总结 (下载4319 次)
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)
电子工程专辑骑着公共电动单车游巴黎!
第2楼 回复主题:STM32 ETR外部计数计算频率问题 发布时间:2015-7-23 下午2:48

作者: 阳光&守望者

等级: 初入江湖

积分: 75分

发帖数: 8次

网站总积分: 75分

经验值: 35.0

查看用户的所有发言

查看用户的个人e空间

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件 关闭
考虑到16位定时器65536会溢出,我定时250MS,现在测试100K-130K频率误差在8HZ-12HZ,不过每次测量频率变化,测量出来的数值有些不稳定 有些波动4HZ,怎么解决这个问题呢,有人分析一下不
电感、磁珠、零欧姆电阻整理合集下载 (下载1308 次) 一个大学生完成电子设计的全过程 值得一读 (下载2666 次)
电子工程师培训教程(经典电路分析) (下载13230 次) 分享一本好书:医疗电子仪器设计开发的书 (下载3465 次)
高频电子电路考试试题全集(内附答案) (下载1772 次) 51单片机各类源程序集锦 (下载3665 次)
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)
电子工程专辑可配置IP架构重新定义异构多核高速缓存一致性
第3楼 回复主题:STM32 ETR外部计数计算频率问题 发布时间:2015-8-4 下午7:57

作者: Sunraytech

等级: 遁门入道

积分: 220分

发帖数: 127次

网站总积分: 237分

经验值: 513.0

查看用户的所有发言

查看用户的个人e空间

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件 关闭
定时1s准确吗?晶振多大?时钟怎么设置的?定时器的时钟频率是多少?另外,输入信号确保正确吗? 会不会,你的定时只有100ms?这样的话,就比较接近了。在定时中断里面反转一个io管脚,用示波器看下这个管脚信号。
C语言常用算法程序集 (下载10858 次) [下载]电子设计1000例 (下载66956 次)
LED电源设计经验之谈与资料分享 (下载3836 次) (0分下载系列)电子电路制作大全[PDF共6本] (下载33987 次)
硬件工程师手册 (下载3523 次) linux内核修炼之道 ——方法论 (下载1510 次)
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)

与?timer,stm32,频率?相关的话题
?
快速回复
用户名:?
美国的游客?????? (您将以游客身份发表,请登陆 | 注册 ) ?
标题: * 你还可以输入80
评论: * 你还可以输入10000
分享到: 新浪微博?? qq空间?? qq微博?? 人人网?? 百度搜藏??
验证码: ?*?
维护专业、整洁的论坛环境需要您的参与,请及时举报违规帖子,如果举报属实,我们将给予相应的积分奖励。
谢谢您的热心参与!
返回嵌入式系统频道 | 返回EE爱问
本论坛仅陈述专家或个人观点,并不代表电子工程专辑网站立场。
返回论坛页首
有问题请反馈