【求助】请问MSP430F149的定时器是不是只有TIME_A,TIME_B两个啊?

llc2007   2006-8-4 16:37 楼主
我的程序要用到3个定时器,但是怎么试验TIME_A,TIME_B都不能实现3个独立的定时器功能,别人建议我用看门狗,但是看门狗的定时常数是固定值,不是我可以选择的值。好郁闷啊?有谁可以告诉我为什么TI不多做几个定时器呢?

回复评论 (10)

是分时使用还是同时使用,分时的话,可以在需要的地方改变一下定时常数行的
点赞  2006-8-4 16:50
如果是同时使用3个定时器呢?
点赞  2006-8-4 17:07
每个定时器中都有若干个比较/捕获寄存器,每一个比较/捕获寄存器都可以独立实现一个定时功能,这样足够实现你3的定时的要求了。
点赞  2006-8-4 17:22
同意楼上
点赞  2006-8-5 09:42
引用:

我的程序要用到3个定时器,但是怎么试验TIME_A,TIME_B都不能实现3个独立的定时器功能,别人建议我用看门狗,但是看门狗的定时常数是固定值,不是我可以选择的值。好郁闷啊?有谁可以告诉我为什么TI不多做几个定时器呢?
3个定时,是否存在整数的关系?如能成整数关系,则可用一个定时器来完成。
点赞  2006-8-6 16:05
每个定时器中都有若干个比较/捕获寄存器,每一个比较/捕获寄存器都可以独立实现一个定时功能,这样足够实现你3的定时的要求了

请问该如何设置比较功能寄存器才能实现定时功能呢?我试验了很多遍好像都不能实现这个功能!就比如TIME_B中的某个比较功能吧!
点赞  2006-8-7 09:57
time_a和b在功能上基本是一样的,只是工作原理上有点差异。TAR是真正的计数单元,一直在计数。比较/捕获寄存器,例如:CCR0、CCR1,你给他们赋不同是值,当TAR到了计数值就会输出一个中断,用连续方式,还可以利用溢出中断定时。如你所需要的定时时间存在某种数学关系,那完全可以利用一个比较/捕获寄存器的中断,然后在中断服务程序中加以判断和用一定的规则来完成你想要的多个定时功能。
点赞  2006-8-7 10:04
建议楼上的看清楚数据手册,了解了430定时器的工作方式和如何定时再说。149的定时器A至少可以输出3个独立的定时输出,定时器B至少可以输出7个独立的定时输出。
点赞  2006-8-7 10:19
对于lsdfae18说的MSP430F149有10个定时器的说法我有疑问,我曾经做过试验,我对TIME_B1进行设置时,对CCR1不论赋什么数值进去,然后开启TBCCTL1中断,最后进入中断的时间都是一样的,就是说我选用比较模式的定时功能不能设定我想选择的定时时间,有人说MSP430F149就只有两个定时器,TIME_A1-3,TIME_B1-7只是为了实现PWM功能的,不是实现定时功能的,资料上对于这点也没有说明的很详细!这个究竟是怎么回事呢?
点赞  2006-8-7 14:46
首先你应该让你的CCRX工作在比较模式,可通过TACCTLx的CAP位设置。PWM功能是通过其定时功能实现的。不是说所有430都具有10个定时输出,能实现几个是由定时器所具有的捕获/比较寄存器的个数决定的。根据你现在的提问,建议你仔细看看用户指南中寄存器部分。
点赞  2006-8-7 15:25
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复