打印

定时器计数不够了!

[复制链接]
1486|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chao11yue|  楼主 | 2013-1-19 12:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#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左右,不能再上去了,有什么办法测更大的频率吗?

相关帖子

沙发
chenyu988| | 2013-1-21 09:05 | 只看该作者
看你定时器是多少位的啊  
看能否配置为32位的
这样就够了

使用特权

评论回复
板凳
永远的不知| | 2013-1-21 10:45 | 只看该作者
可以设一个变量辅助一下,TAR到65535时,变量+1;

使用特权

评论回复
地板
lzmm| | 2013-1-23 19:12 | 只看该作者
使用h m s 三个试一试

使用特权

评论回复
5
一览| | 2013-1-24 11:50 | 只看该作者
需求是测一秒内上升沿的次数,
可以放到中断脚就可以了。
1秒来次时间中断,看计数有多少个。
软硬结合,资源才要求少

使用特权

评论回复
6
一览| | 2013-1-24 11:51 | 只看该作者
简单的需求不要复杂化

使用特权

评论回复
7
biechedan| | 2013-1-24 18:57 | 只看该作者
新手报到,帮顶一下了

使用特权

评论回复
8
biechedan| | 2013-1-24 18:58 | 只看该作者
使用两个变量,不可以实现循环计数了吗

使用特权

评论回复
9
wuhaidianzi| | 2013-1-31 11:56 | 只看该作者
循环计数可以解决

使用特权

评论回复
10
weishukongji| | 2013-1-31 12:31 | 只看该作者
循环一下就好了呗

使用特权

评论回复
11
ywert000| | 2013-1-31 12:36 | 只看该作者
:handshake楼上说的不错

使用特权

评论回复
12
lzmm| | 2013-1-31 12:38 | 只看该作者
你去看看操作系统里面的取时间的函数

使用特权

评论回复
13
lzmm| | 2013-1-31 12:38 | 只看该作者
里面写的不错,超时也能算出来

使用特权

评论回复
14
strouledfox| | 2013-1-31 12:48 | 只看该作者
计数不够用解决办法有很多

使用特权

评论回复
15
zhl100| | 2013-2-4 16:39 | 只看该作者
定一年也够 :lol

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

62

主题

896

帖子

1

粉丝