[讨论] MPS430G2553几个定时器啊

jishuaihu   2014-6-24 21:33 楼主
看资料里2553有两个定时器,可是430ware的例程的头文件里面怎么只有TIMER_A的寄存器定义啊。还有官方资料里说有两个 16 位 Timer_A怎么理解啊?自己没有找到合适的解释,有了解的给说一下呗

回复评论 (8)

好像是,timer0_A3和timer1_A3.TIMER_A在头文件里应该是宏定义吧,应该没有timerB
点赞  2014-6-24 22:15
引用: hahadiy 发表于 2014-6-24 22:15
好像是,timer0_A3和timer1_A3.TIMER_A在头文件里应该是宏定义吧,应该没有timerB

timer0_A3和timer1_A3怎么区分啊?430Ware里面的例子对定时器操作的时候都是直接写的CCR0,CCTL0还有TACTL这样的寄存器。如何区分是Timer0的还是Timer1的啊?我试了写成TA0CCR0和TA1CCR0,从watch窗口看到的也是这个名字,编译倒是能通过,但是运行结果不正确啊。
另外多问一句。430可以不使用低功耗模式吗?我把_BIS_SR(LPM1_bits + GIE); 改成while(1)怎么进不来定时器中断啦。
点赞  2014-6-24 22:27
CCR0应该就是TA0CCR0,CCCTL0就是TA0CCTL0的宏定义,打开头文件,搜索CCTL0应该可以发现,这个具体是TIMER0_A3还是TIMER1_A3应该具体的引脚定义吧,430可以不使用低功耗模式吧,只是我没怎么用低功耗模式,可能帮不到你了
点赞  2014-6-24 22:36
你是版主为论坛发过很多帖子,大家熟悉你,有问题代码贴出来,肯定不少人愿你帮你看
没工作,没女人老婆,没宽带 ,  没钱
点赞  2014-6-25 00:03
两个TIMER_A,一个Timer0_A3 一个Timer1_A3
点赞  2014-6-26 11:04
引用: jishuaihu 发表于 2014-6-24 22:27
timer0_A3和timer1_A3怎么区分啊?430Ware里面的例子对定时器操作的时候都是直接写的CCR0,CCTL0还有TACT ...


TA0和TA1两个是独立的,没来中断可能是你没有配置TA1
点赞  2014-6-26 13:19
引用: huo_hu 发表于 2014-6-26 13:19
TA0和TA1两个是独立的,没来中断可能是你没有配置TA1

谢谢大家的热心!
关于几个定时器的问题我自己再看看头文件,查一下,说一下不进中断的问题。代码在家,晚上贴出来,大概意思就是初始化好之后,最后一句写一个_BIS_SR(LPM1_bits + GIE); 可以进入中断,现象也正常,跟我想象的一样,但是如果把_BIS_SR(LPM1_bits + GIE); 改成while(1){}就不进中断了。按说前面的配置是没有问题的,不使用低功耗模式还需要其他的配置吗?
点赞  2014-6-26 16:36
奇怪了
看看反汇编
是不是while那条语句优化掉了?直接回到复位了。把开发环境的优化设置为最低,不优化。

中挂号里加个__no_operation();试试?
while(1)
{
__no_operation();
}
没工作,没女人老婆,没宽带 ,  没钱
点赞  2014-6-26 16:53
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复