Koda: |
void
main(void) { int n=0; WDTCTL = WDTPW + WDTHOLD; Initialization(); delay (60000); delay (60000); delay (60000); delay (60000); WDTCTL = WDTPW + WDTHOLD; SendStringUart1("Build number: "); SendIntegerUart1(BUILDNUMBER); SendUart1NewLine (); //IE1 |= URXIE0; IE2 |= URXIE1; // WDTCTL = WDTPW + WDTHOLD; _EINT(); //-- Enable interrupts. SendStringUart1("1 "); //WDTCTL = 0x5A08; //SendStringUart1("2 "); //SendStringUart1("3 "); WDTCTL = 0x5A08; //SendStringUart1("4 "); while (1) { //SendStringUart1("Build number: "); //SendIntegerUart1(n); //n++; WDTCTL = 0x5A08; //-- RESET watchdog timer if ( BIT_VALUE_UART1 & DEF_RECEIVE_PACKET )DecodeUart1(); // if((P1IN&0x04)==0)ResetRele(); } } |
Koda: |
void Initialization (void) { unsigned int i; WDTCTL = WDTPW + WDTHOLD; //-- Stop WDT for ( i=0; i<50000; i++ ); //-------------------------------------------------------------------------- //-- EXTERNAL QUARTZ start BCSCTL1 &= ~XT2OFF; //-- XT2on 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? BCSCTL2 |= SELM1+SELS; //-- MCLK = SMCLK = XT2 //-------------------------------------------------------------------------- for ( i=0; i<5000; i++ ); for ( i=0; i<5000; i++ ); //-------------------------------------------------------------------------- InitUart0();//-- serial port initialization InitUart1 (); TimerInit(); AnalogInputInit(); //------------------------------------------------------------------------- //------------------------------------------------------------------------- //-- PORT P1 P1DIR = 0xCD; //-- 11001101 LED 2,P1.1, A0,A1,A2,A14,A15,WR inputs P1.1, A2, A14 // P1OUT = 0x00; //-- default output value P1OUT |= 0x40; //-- SCL data line set to logical high //------------------------------------------------------------------------- //-- PORT P2 P2DIR |= 0x03; //-- output, MUX_1_6, MUX_1_7 P2OUT |= 0x03; //-- X3 input for Pfwd measure ( when CurrentMeasureValueQuick=0;) P2DIR |= 0x08; //-- output, LE_DIODE P2OUT &= ~0x08; //-- output, LE_DIODE=0 P2DIR |= 0x30; //-- output, SDA, SCL P2DIR |= 0xC0; //-- output, ETH_IOR, ETH_IOW P2OUT |= 0xC0; //-- HIGH, ETH_IOR, ETH_IOW //------------------------------------------------------------------------- //-- PORT P3 P3DIR |= 0x0F; //-- output, ETHERNET ADDRESS 0 to 3 P3SEL |= 0x30; //-- P3.4,5 = USART0 option select P3DIR |= 0x10; //-- P3.4 = output direction P3SEL |= 0xC0; //-- P3.6,7 = USART1 option select P3DIR |= 0x40; //-- P3.6 = output direction //------------------------------------------------------------------------- //-- PORT P4 P4DIR=0xFF; //vsi izhodi P4OUT=0x00; //------------------------------------------------------------------------- //-- PORT P5 P5DIR |= 0xF0; //-- DATA PORT 0-3 input, 4-7 output P5OUT &= ~0x10; P5OUT &= ~0x20; P5OUT &= ~0x40; P5OUT &= ~0x80; //------------------------------------------------------------------------- //-- PORT P6 P6SEL |= 0xFF; //-- Enable A/D channel A0 //------------------------------------------------------------------------- enable_analog_interrupt(); } |