打印

定时器增计数模式和连续计数模式

[复制链接]
3091|38
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wuhany|  楼主 | 2016-11-27 10:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
huangchui| | 2016-11-27 10:54 | 只看该作者
如果是这样,那在连续计数模式下就不用设置CCR0的值了

使用特权

评论回复
板凳
wyjie| | 2016-11-27 10:55 | 只看该作者
我看到例程中,仍然设置了CCR0

使用特权

评论回复
地板
dengdc| | 2016-11-27 10:57 | 只看该作者
楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
5
wuhany|  楼主 | 2016-11-27 10:58 | 只看该作者

#include  <msp430x14x.h>
void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  P3DIR |= BIT4;                            // P3.4 output
  CCTL0 = CCIE;                             // CCR0 interrupt enabled
  CCR0 = 50000;
  TACTL = TASSEL_2 + MC_2;                  // SMCLK, contmode
  _BIS_SR(LPM0_bits + GIE);                 // Enter LPM0 w/ interrupt
}
// Timer A0 interrupt service routine
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
  P3OUT ^= BIT4;                            // Toggle P3.4
  CCR0 += 50000;                            // Add Offset to CCR0
}

使用特权

评论回复
6
shimx| | 2016-11-27 11:01 | 只看该作者
在连续模式,他就象闹表一样,而ccr0就象您定时的闹钟,每次到达ccr0,就会产生一个事件。

使用特权

评论回复
7
wuhany|  楼主 | 2016-11-27 11:07 | 只看该作者

连续模式,计时器是要计满的,但是在计到CCRx时,产生中断;
而增计数模式,不需要计满,只要到CCRx,就会产生中断;
两者计数形式不一样,但最终效果是一样的,对吧?

使用特权

评论回复
8
smilingangel| | 2016-11-27 12:49 | 只看该作者
这个就进行模式选的就Ok的

使用特权

评论回复
9
smilingangel| | 2016-11-27 12:50 | 只看该作者
不管用哪种的,只要能实现自己的设计目标就Ok的

使用特权

评论回复
10
zhangbo1985| | 2016-11-27 16:29 | 只看该作者
不管是那种计数模式的选择的,都注意相关寄存器的配置的

使用特权

评论回复
11
baimiaocun2015| | 2016-11-27 21:35 | 只看该作者
楼主说的是一方面的,这个主要看设计需要的。

使用特权

评论回复
12
baimiaocun2015| | 2016-11-27 21:36 | 只看该作者
两者在应用的时候没多撒区别的,只要能达成目标的都成。

使用特权

评论回复
13
heweibig| | 2016-11-27 21:56 | 只看该作者
你可以把它看做闹钟和定时炸*的区别,闹钟响了,它还会继续走;但定时炸*到时直接炸了,时钟不会在继续走。

使用特权

评论回复
14
wuhany|  楼主 | 2016-11-27 21:57 | 只看该作者
令问:我看到有的程序里会这样设置CCR0=1000-1,这样写是什么意思?1000-1跟1000区别不大啊

使用特权

评论回复
15
shimx| | 2016-11-27 21:59 | 只看该作者
一个是循环事件,一个是单次事件。

使用特权

评论回复
16
spark周| | 2016-11-27 22:02 | 只看该作者
您说的那个1000-1,这个要看写程序的人的思路了。

使用特权

评论回复
17
wuhany|  楼主 | 2016-11-27 22:06 | 只看该作者
增计数是单次事件吗?在430一本教材上有这样一句话——计数器TAR可以增计数到CCR0的值,当计数到与CCR0的值相等时,定时器复位并从0开始重新计数。

使用特权

评论回复
18
jiajs| | 2016-11-27 22:10 | 只看该作者
从其他例程中也看到应用增计数模式的,应该不是单次事件。

使用特权

评论回复
19
Varus| | 2016-11-27 22:19 | 只看该作者
注意相关寄存器的配置

使用特权

评论回复
20
zhanghqi| | 2016-11-27 22:19 | 只看该作者
看成单次增计数模式了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

879

主题

10435

帖子

4

粉丝