100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > MSP430定时器A的计数模式的简单介绍(会中文就能看懂)

MSP430定时器A的计数模式的简单介绍(会中文就能看懂)

时间:2023-04-15 05:04:10

相关推荐

MSP430定时器A的计数模式的简单介绍(会中文就能看懂)

首先明白一个概念:定时器A == Timer_A == TA

之后的大部分定时器内容如TACCR0,TACTL等,都指的是定时器A的寄存器

然后,TIMER_A有四种计数模式,下面将一一解释

(为了方便理解,模式顺序与中文手册有些许不同,请谅解)

目录

一、停止模式

二、连续计数模式

三、增计数模式

四、 增减计数模式

一、停止模式

直白点就是个暂停,定时器A之前工作于什么模式,进入停止模式后只是计数暂停了,退出这个模式后会继续按照之前的工作模式工作,举个例子,你要从1数到100,数到50时暂停(进入停止模式),计数在50保持不变,然后继续(退出停止模式),你就继续按照之前的计划数数,从50再开始数。没什么特别的,用到的场景也不多。

二、连续计数模式

此模式是增计数模式的一种,即从0数到0XFFFF(65535),然后数到0XFFFF后,重新归零,再进行计数

在这个模式里面,我们需要认识一个置位标志:TAIFG

这个标志在计数到0XFFFF后重置到0的过程中会产生。

如图,可以看见,0XFFFF->0时,TAIFG置位(变1),所以这个标志位可以用来告诉你已经计数65535了,比如说,循环检测TAIFG的值,如果检测到了TAIFG的值变1,就进行巴拉巴拉之类的操作。

三、增计数模式

增计数可以说是定时器A四种计数模式中最重要的一种了,它与上文所说的连续计数很相像,唯一的区别是连续计数会计数到65535,而增计数模式会计数到CCR0,而CCR0的值是可以自己设定的,要注意的是CCR0必须要小于65535。当计数值等于TACCR0(或者大于的时候),定时器计数复位并重新从零开始计数。

与连续计数模式不同,增计数有两个标志位,分别是TAIFG与CCIFG。他们的置位操作并不相同。图中很明确说明了TAIFG与CCIFG的置位条件,这里就不多费笔墨了。

需要注意的一点是,TAIFG置位指的是从0数到CCR0(CCR0是你自己设置的数),这时候的实际计数次数是CCR0+1次,如CCR0=3999,那么计数4000次是TAIFG才会置位。同样的,CCIFG是数3999次置位(0--CCR0-1)。

下面是一些关于重置计数周期的相关说明:(所以为什么不直接设置其他定时器的增计数呢?)

四、 增减计数模式

此模式与三中讲的增计数很相似,唯一的区别就是数到CCRO会往下数而不是置0

置位如下:

以上就是全部的内容了,可能看起来很简单(实际上就是很简单),看明白了就会了,当然,对初学者可能有些难以理解,建议多看些相关的文章,想明白了你就会发现这其实很简单。

最后,本文如有错误欢迎指正。

参考文献:《MSP430中文手册(参考版)》

---真的是参考版,内容不能说乱吧,只能说是一塌糊涂

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。