|
TTimer::ClockInit();
// WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
P1DIR = 0xff;
P1OUT = 0;
P2DIR = 0xff;
P2OUT = 0;
P3DIR = 0xff;
P3OUT = 0;
P4DIR = 0xff;
P4OUT = 0;
P5DIR = 0xff;
P5OUT = 0x0;
P6DIR = 0;
P6OUT = 0;
P6SEL = 0;
BCSCTL2 = 0;
BCSCTL1 = 0xB0;
BCSCTL2 = 0x36;
_BIS_SR(LPM4);
while(1){};
void TTimer::ClockInit(void)
{
unsigned int delay_count;
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
IFG2=0;
IFG1=0;
BCSCTL1&=~XT2OFF;
BCSCTL1|=XTS;
BCSCTL1 = 0xc0;
do
{
IFG1&=~OFIFG;
}while(OFIFG&IFG1);
for(delay_count=0x1ff;delay_count!=0;delay_count--){};
//Reset osc. fault flag again
IFG1&=~OFIFG;
BCSCTL2=SELM0+SELM1+SELS;
}
Если закоментировать первую строчку (TTimer::ClockInit();) и разкоментировать вторую (WDTCTL = WDTPW + WDTHOLD;), то всё работает...
Как щас - 300 мкА...
E-mail: info@telesys.ru