[讨论] MSP430F149中断TA1的问题

木木木JS   2015-4-19 13:40 楼主
QQ图片20150419133706.png

这是TI关于TA1的一段例程,采用连续模式(第8行),可以实现小灯亮灭功能。

现在我有3个问题如下:

1.既然是连续模式,为什么还要初始化CCR1?反正是加到0xFF产生一个中断,CCR1在这里没有什么作用吧?

2.我把连续模式改为增模式(第8行),即MC_2改成MC_1,为什么中断的功能实现不了呢?TA1和TA0用起来不一样嘛?

3.16行的TAIV是什么?是选择CCR1和CCR2的吗?

回复评论 (3)

1、CCR1的值是用来和计数器值作比较的,如果到了,就会产生捕获比较中断。你定的是500ms(猜的),不可能给你跑到定时器溢出,所以要先设置CCR.
TM截图20150419135952.jpg
2.MC_1和MC_2只是定时器的工作模式不同,和TA1/0没关系。
TM截图20150419140049.jpg
TM截图20150419140209.jpg
3.TAIV是定时器的中断标志,由于你是用CCR1做的比较中断,所以是case 2. 看图
TM截图20150419140226.jpg
4.你还没理解定时器的工作方法,先看手册吧。

点赞  2015-4-19 14:10
引用: shower.xu 发表于 2015-4-19 14:10
1、CCR1的值是用来和计数器值作比较的,如果到了,就会产生捕获比较中断。你定的是500ms(猜的),不可能给你跑到定时器溢出,所以要先设置CCR.

2.MC_1和MC_2只是定时器的工作模式不同,和TA1/0没关系。


3.TAIV是定时器的中断标志,由于你是用CCR1做的比较中断,所以是case 2. 看图

4.你还没理解定时器的工作方法,先看手册吧。

我再来研究一下
点赞  2015-4-19 14:29
开的是CCR1的中断,数到50000就开始中断服务程序。不是CCR0
点赞  2015-4-23 10:44
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复