Quantcast
Channel: MSP 低功耗微控制器论坛 - 最近的话题
Viewing all articles
Browse latest Browse all 3634

msp430G2553定时器连续计数问题

$
0
0
#include <msp430g2553.h>
 
void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  P1DIR |= 0x01;                            // P1.0 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=TIMER0_A0_VECTOR
__interrupt void Timer_A (void)
{
  P1OUT ^= 0x01;                            // Toggle P1.0
  CCR0 += 50000;                            // Add Offset to CCR0
}

#include <msp430g2553.h>
 
voidmain(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  P1DIR |= 0x01;                            // P1.0 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=TIMER0_A0_VECTOR
__interrupt voidTimer_A (void)
{
  P1OUT ^= 0x01;                            // Toggle P1.0
  CCR0 += 50000;                            // Add Offset to CCR0
}


使用430G2553开发板,定时器采用连续计数模式,计数50000个时钟周期,产生中断,中断服务程序中中翻转P1.0电平,
测了一下p1.0输出波形,怎么是这样的?和预期不太一样,感觉应该是一个脉冲宽度为50000个时钟周期的方波,求解答。
而且SMCLK的频率为多少呢,手册没找到


Viewing all articles
Browse latest Browse all 3634

Trending Articles