P2.0就一直是高电平

2019-07-15 00:19发布

折腾了几天定时器,死活也搞不出来,没用外部晶振,用的是内部DCO,现将代码复制如下:


#include "io430.h"
void main( void )
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
DCOCTL|=0x60;
  BCSCTL1|=0x83;    //DC0 4.25M   RSELx=11,DCOx=3 MODx=0 3V 4.25 MHz
  BCSCTL2|=0x00;
CCTL1|=CCIE;
   CCR1=42500-1;   //准备10ms定时
  TACTL = TASSEL_2+MC_1+TAIE+TACLR;      //TIMA=SMCLK  UP MODE开中断 清计数器
  P2DIR=0X01;    //P2.0输出  对应TIMER1 A

  
  
__bis_SR_register(LPM0_bits+GIE) ;     //开启中断一定要进入低功耗模式嘛?

}

#pragma vector=TIMER1_A1_VECTOR
__interrupt void Timer_A (void)
{
  switch( TAIV )
  {
  case 2:break;
  case 4:    P2OUT^=0X01;    // Capture/compare blocks TACCR1, TACCR2
  case 10:break;
  
}
}

不知道哪里出了问题,测P2.0就一直是高电平,还望高手指点下,谢谢了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
zhanghqi
1楼-- · 2019-07-15 10:07
 精彩回答 2  元偷偷看……
zhanghqi
2楼-- · 2019-07-15 10:41
看看寄存器设置问题   感觉是程序进了中断后  没有出来
jiajs
3楼-- · 2019-07-15 14:30
你的问题是什么?
zhenykun
4楼-- · 2019-07-15 19:10
配置完系统时钟做个延时吧。
wyjie
5楼-- · 2019-07-15 22:01
不知道使用DCO需不需要等待其稳定。这样做保险一点吧!
午夜粪车
6楼-- · 2019-07-16 02:34
 精彩回答 2  元偷偷看……

一周热门 更多>