3876|4

70

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

2418奇怪问题有些进展,但是还未解决,大家帮忙啊 [复制链接]

上次用2418电流大,而且不断复位。
现在用适配器(与仿真器配套买的,64pin)+2418,
2418的外部IO,除了P1.0用于输出LED指示灯,其他都悬空未用。
硬件部分为32K,5M 两个晶振

现在做如下测试:
测试电流时,暂时断开LED部分电路的。保证只有CPU耗电

如果采用DCO,一切正常,LPM3时,电流只要7ua。

如果用5M(XT2)作为MCLK 和SMCLK,
那么分两种情况:
1、AM状态下,运行正常,但是电流不正常,有3.6ma
2、LPM3状态下,运行 不 正常,表现为不断的复位,测试RST脚,一直高电平的。
如果把5M的MCLK进行4分频,那么在LPM3时,运行正常。电流有1ma以上,不正常。

烦死了。。。。。。。。。。。。。。。。。。
????????????

最新回复

以前用149的时候,用晶振XT2,我在LPM3下,电流也是ua级的啊。为什么2418这么大? 总中断使能的, 我在程序最顶端设置断点,每次重启后,发现WDTIFG置位了,但是,我已经把看门狗关了的,WDTHOLD已经是1 了。  详情 回复 发表于 2009-4-24 09:09
 
点赞 关注

回复
举报

50

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
程序是很简单的。
如果你有2418芯片,你倒是可以帮忙测试一下的哦
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
这是一个测试程序。
在适配器上运行,硬件就接32K和5M晶振

#include "msp430.h"
#define BUZCON BIT1


unsigned int timerB_intnum;
unsigned int second;
/*-----------------------------------
*函数名称:timerB_Init()
*函数说明:定时器B的初始化
*设置为1/16s中断一次
*----------------------------------*/
void TimerB_Init(void)
{
TBCTL=TBSSEL0+TBCLR; //timer_B:ACLK as the clock,stop,clear
TBCCTL0|=CCIE; //TBCCTL0 中断允许
TBCCR0=0X07FF; //中断周期1/16s
TBCTL|=MC1; // 开始定时 连续计数模式
}

/*---------------------
*延时
*
*--------------------*/
void delay(unsigned int num)
{
for(;num!=0;num--);
}


/*------------------------------------------
*函数名称:void Timer_B (void)
*函数说明:定时器B的中断服务程序
* 定时器每1/16s中断一次
*-----------------------------------------*/
#pragma vector=TIMERB0_VECTOR
__interrupt void Timer_B (void)
{
TBCCR0+=0x800;
timerB_intnum++; //定时器B中断次数加1
if(timerB_intnum>=255){timerB_intnum=0;}
if((timerB_intnum%8)==0) //0.5s时间到
{
second++;
P1OUT^=0x01;
}

}//中断end

void main(void)
{

unsigned int i;
second=0;

DCOCTL=0X60;
BCSCTL1=0X07; //开启XT2
BCSCTL2=0X88;
BCSCTL3=0X80;



WDTCTL=WDTPW+WDTHOLD;
do
{
IFG1 &= ~OFIFG; // Clear OSCFault flag
for (i = 0xFF; i > 0; i--); // Time for flag to set
}
while ((IFG1 & OFIFG) != 0); // OSCFault flag still set?

IFG1&=~(WDTIFG+OFIFG+NMIIFG); //reset the oscillator fault flag
//IE1|=OFIE+NMIIE+ACCVIE; //中断初始化设置

P1DIR |= 0x01;

TimerB_Init();//定时器B初始化

_EINT();//开总中断
LPM3;

while (1)
{
asm("NOP");
}


}
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

4
 
1、AM状态下,运行正常,但是电流不正常,有3.6ma
2、LPM3状态下,运行 不 正常,表现为不断的复位,测试RST脚,一直高电平的。

用晶振提供脉冲LPM3下 功耗确实比较大 因为LPM3下 晶振还是工作的 不过有没有达到3.6ma没做过测试

第2个问题 窝想问出现这种情况的时候 你不可屏蔽中断使能是不是打开的?
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

5
 
以前用149的时候,用晶振XT2,我在LPM3下,电流也是ua级的啊。为什么2418这么大?
总中断使能的,
我在程序最顶端设置断点,每次重启后,发现WDTIFG置位了,但是,我已经把看门狗关了的,WDTHOLD已经是1 了。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表