打印

应如何初始化定时器

[复制链接]
819|21
手机看帖
扫描二维码
随时随地手机跟帖
沙发
wyjie| | 2019-3-13 20:14 | 只看该作者
楼主详细说说怎么回事啊,这么说太笼统了

使用特权

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

使用特权

评论回复
地板
dengdc| | 2019-3-13 20:21 | 只看该作者

楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
5
shimx|  楼主 | 2019-3-13 20:24 | 只看该作者
初始化代码如下:
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
午夜粪车| | 2019-3-13 20:27 | 只看该作者

那可以设置成捕获中断的吗?设置下降沿外部中断,然后在中断函数+1,就可以知道20ms里面有多少个方波了

使用特权

评论回复
7
jiajs| | 2019-3-13 20:30 | 只看该作者

你的计数模式是什么

使用特权

评论回复
8
wuhany| | 2019-3-14 14:36 | 只看该作者
外部计数应该是定时器中断吧

使用特权

评论回复
9
lizye| | 2019-3-14 14:38 | 只看该作者
你是说的测量脉冲长短吗?

使用特权

评论回复
10
jiajs| | 2019-3-14 14:41 | 只看该作者

TB0.6有这个IO吗?

使用特权

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

使用特权

评论回复
12
shimx|  楼主 | 2019-3-14 14:46 | 只看该作者
该定时器的TB0CCR6寄存器就是用来计数的吧

使用特权

评论回复
13
jiaxw| | 2019-3-14 14:52 | 只看该作者

捕获模式和比较模式都会用到,具体看手册吧

使用特权

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

使用特权

评论回复
15
午夜粪车| | 2019-3-14 14:58 | 只看该作者

不清楚你是怎么用的。
这个TB0CCR6在捕获模式下,是用来存储TAR数值的,不是计数

使用特权

评论回复
16
huangchui| | 2019-3-14 15:02 | 只看该作者
把T1做计数器,把产生的脉冲直接连到

使用特权

评论回复
17
jlyuan| | 2019-3-14 15:05 | 只看该作者
正常就是配置成外部脉冲计数器
脉冲计数配置定时器工作模式。

使用特权

评论回复
18
jiajs| | 2019-3-14 15:07 | 只看该作者
定时器捕获模式可以采集脉冲宽度。

使用特权

评论回复
19
jiahy| | 2019-3-14 15:11 | 只看该作者

做脉冲计数器的?主要是用到定时器的捕获功能的

使用特权

评论回复
20
liliang9554| | 2019-3-14 15:14 | 只看该作者
是不是得用捕获模式呢

使用特权

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

本版积分规则

857

主题

10661

帖子

5

粉丝