打印

应如何初始化定时器

[复制链接]
803|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shimx|  楼主 | 2016-12-3 16:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
wyjie| | 2016-12-3 16:44 | 只看该作者
楼主详细说说怎么回事啊,这么说太笼统了

使用特权

评论回复
板凳
shimx|  楼主 | 2016-12-3 16:47 | 只看该作者
现在做一个开发板,TB0.6上连接一个传感器,该传感器输出方波,主要是想在固定时间(20ms)读取一下方波的个数。不需要捕获中断

使用特权

评论回复
地板
dengdc| | 2016-12-3 16:49 | 只看该作者
楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
5
shimx|  楼主 | 2016-12-3 16:51 | 只看该作者
初始化代码如下:
void init_TimerB(void)
{
  P4DIR &= ~BIT6;
  P4SEL |= BIT6;

  TB0CCTL0 |= CCIE;                        // CCR0 interrupt enabled
  TB0CCR0 = 655;                         // 50Hz
  TB0CTL = TBSSEL_1 + MC_1 + TBCLR;        // ACLK, upmode, 32768Hz
  TB0CCTL6 = CM_1 + CCIS_1 + CAP + SCS;
}
应如何读取方波个数,求指点,谢谢!

使用特权

评论回复
6
火山LF| | 2016-12-3 16:53 | 只看该作者
那可以设置成捕获中断的吗?设置下降沿外部中断,然后在中断函数+1,就可以知道20ms里面有多少个方波了

使用特权

评论回复
7
updownq| | 2016-12-3 17:12 | 只看该作者
你的计数模式是什么

使用特权

评论回复
8
updownq| | 2016-12-3 17:16 | 只看该作者
外部计数应该是定时器中断吧

使用特权

评论回复
9
1988020566| | 2016-12-4 12:42 | 只看该作者
你是说的测量脉冲长短吗?

使用特权

评论回复
10
1988020566| | 2016-12-4 12:44 | 只看该作者
TB0.6有这个IO吗?

使用特权

评论回复
11
dengdc| | 2016-12-4 21:04 | 只看该作者
不用中断的话,可以连续读取20ms该引脚的电平数据,对变化次数计数

使用特权

评论回复
12
shimx|  楼主 | 2016-12-4 21:40 | 只看该作者
该定时器的TB0CCR6寄存器就是用来计数的吧

使用特权

评论回复
13
jiaxw| | 2016-12-4 21:43 | 只看该作者
捕获模式和比较模式都会用到,具体看手册吧

使用特权

评论回复
14
shimx|  楼主 | 2016-12-4 21:45 | 只看该作者
恩,我现在读方波个数就是读TB0CCR6的值,但是出来的结果明显不对

使用特权

评论回复
15
午夜粪车| | 2016-12-4 21:47 | 只看该作者
不清楚你是怎么用的。
这个TB0CCR6在捕获模式下,是用来存储TAR数值的,不是计数

使用特权

评论回复
16
shimx|  楼主 | 2016-12-4 21:49 | 只看该作者
哦,那我就知道怎么回事了,多谢大家,结贴了哈

使用特权

评论回复
17
jimmhu| | 2016-12-5 22:48 | 只看该作者
把T1做计数器,把产生的脉冲直接连到

使用特权

评论回复
18
jimmhu| | 2016-12-5 22:49 | 只看该作者
正常就是配置成外部脉冲计数器

使用特权

评论回复
19
cehuafan| | 2016-12-6 22:17 | 只看该作者
脉冲计数配置定时器工作模式。

使用特权

评论回复
20
cehuafan| | 2016-12-6 22:20 | 只看该作者
定时器捕获模式可以采集脉冲宽度。

使用特权

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

本版积分规则

857

主题

10661

帖子

5

粉丝