应如何初始化定时器

[复制链接]
 楼主| shimx 发表于 2016-12-3 16:42 | 显示全部楼层 |阅读模式
F5438 TB0.6外部脉冲计数,应如何初始化定时器
wyjie 发表于 2016-12-3 16:44 | 显示全部楼层
楼主详细说说怎么回事啊,这么说太笼统了
 楼主| shimx 发表于 2016-12-3 16:47 | 显示全部楼层
现在做一个开发板,TB0.6上连接一个传感器,该传感器输出方波,主要是想在固定时间(20ms)读取一下方波的个数。不需要捕获中断
dengdc 发表于 2016-12-3 16:49 | 显示全部楼层
楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因
 楼主| 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;
}
应如何读取方波个数,求指点,谢谢!
火山LF 发表于 2016-12-3 16:53 | 显示全部楼层
那可以设置成捕获中断的吗?设置下降沿外部中断,然后在中断函数+1,就可以知道20ms里面有多少个方波了
updownq 发表于 2016-12-3 17:12 | 显示全部楼层
你的计数模式是什么
updownq 发表于 2016-12-3 17:16 | 显示全部楼层
外部计数应该是定时器中断吧
1988020566 发表于 2016-12-4 12:42 | 显示全部楼层
你是说的测量脉冲长短吗?
1988020566 发表于 2016-12-4 12:44 | 显示全部楼层
TB0.6有这个IO吗?
dengdc 发表于 2016-12-4 21:04 | 显示全部楼层
不用中断的话,可以连续读取20ms该引脚的电平数据,对变化次数计数
 楼主| shimx 发表于 2016-12-4 21:40 | 显示全部楼层
该定时器的TB0CCR6寄存器就是用来计数的吧
jiaxw 发表于 2016-12-4 21:43 | 显示全部楼层
捕获模式和比较模式都会用到,具体看手册吧
 楼主| shimx 发表于 2016-12-4 21:45 | 显示全部楼层
恩,我现在读方波个数就是读TB0CCR6的值,但是出来的结果明显不对
午夜粪车 发表于 2016-12-4 21:47 | 显示全部楼层
不清楚你是怎么用的。
这个TB0CCR6在捕获模式下,是用来存储TAR数值的,不是计数
 楼主| shimx 发表于 2016-12-4 21:49 | 显示全部楼层
哦,那我就知道怎么回事了,多谢大家,结贴了哈
jimmhu 发表于 2016-12-5 22:48 | 显示全部楼层
把T1做计数器,把产生的脉冲直接连到
jimmhu 发表于 2016-12-5 22:49 | 显示全部楼层
正常就是配置成外部脉冲计数器
cehuafan 发表于 2016-12-6 22:17 | 显示全部楼层
脉冲计数配置定时器工作模式。
cehuafan 发表于 2016-12-6 22:20 | 显示全部楼层
定时器捕获模式可以采集脉冲宽度。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

857

主题

10661

帖子

5

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

857

主题

10661

帖子

5

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