有什么办法测更大的频率吗?

[复制链接]
 楼主| jlyuan 发表于 2017-11-11 13:05 | 显示全部楼层 |阅读模式

#include "msp430g2553.h"
.......
        P1SEL|=BIT0;                              // 设置 P1.0 为 TimerA 外部计数信号输入口
          P1DIR&=~BIT0;                             // 设置 P1.0 为输入口
                                           // TimerA 配置
          TACTL=TASSEL_0;                           // 定时器 A 时钟源选择:TACLK 记上升沿次数
          TACTL=ID_0;                               // 计数时钟分频系数选择:1
          while(1)
          {
           TAR=0x0000;                             // 定时器 A 计数寄存器内容清零
            TACTL=MC_2;                             // 定时器 A 工作模式选择:连续模式
               delay_nms(261);                        // 产生 1s 计数闸门
               TACTL=MC_0;                             // 定时器 A 工作模式选择:停止模式
            count=TAR;  // 6553X 最大极限值
......
这个程序是用定时器A来在1S内测上升沿的次数得出信号的频率,
TAR 只能计数到6553X左右,不能再上去了,有什么办法测更大的频率吗?
yszong 发表于 2017-11-11 13:07 | 显示全部楼层
看你定时器是多少位的啊  
dengdc 发表于 2017-11-11 13:11 | 显示全部楼层

嗯,看能否配置为32位的
这样就够了
liliang9554 发表于 2017-11-11 13:12 | 显示全部楼层

可以设一个变量辅助一下,TAR到65535时,变量+1;
wuhany 发表于 2017-11-11 13:14 | 显示全部楼层

使用h m s 三个试一试
jiahy 发表于 2017-11-11 13:16 | 显示全部楼层

需求是测一秒内上升沿的次数,
可以放到中断脚就可以了。
1秒来次时间中断,看计数有多少个。
软硬结合,资源才要求少
lizye 发表于 2017-11-11 13:19 | 显示全部楼层
简单的需求不要复杂化
jiahy 发表于 2017-11-11 13:21 | 显示全部楼层
使用两个变量,不可以实现循环计数了吗
shimx 发表于 2017-11-11 13:23 | 显示全部楼层
循环计数可以解决
jiaxw 发表于 2017-11-11 13:25 | 显示全部楼层
循环一下就好了呗
spark周 发表于 2017-11-11 13:27 | 显示全部楼层
你去看看操作系统里面的取时间的函数
liliang9554 发表于 2017-11-11 13:29 | 显示全部楼层
里面写的不错,超时也能算出来
午夜粪车 发表于 2017-11-11 13:31 | 显示全部楼层
计数不够用解决办法有很多
 楼主| jlyuan 发表于 2017-11-11 13:33 | 显示全部楼层
嗯,我知道了
jiajs 发表于 2017-11-11 13:35 | 显示全部楼层

这个什么意思?直接采用示波器的就可以的啊。
zhanghqi 发表于 2017-11-11 13:37 | 显示全部楼层
若采用单片机实现的话就正一款支持主晶振很大,能达到50Mhz以上的就可以的。
zhenykun 发表于 2017-11-11 13:41 | 显示全部楼层
这个看你的设计需要的吧,单片机设计的话一般测量的频率在M级别的。
 楼主| jlyuan 发表于 2017-11-11 13:43 | 显示全部楼层
结贴了,多谢大家讨论这么多哈,呵呵
updownq 发表于 2017-11-11 21:49 | 显示全部楼层
需要测量多大的频率?
sanfuzi 发表于 2017-11-11 21:49 | 显示全部楼层
定时器捕获不行吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

880

主题

12030

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部