void init_cs ( void ) { P2SEL |= 0xC0; // Select XT1 (P2.6 & P2.7) do { // Loop until XT1,XT2 & DCO stabilizes BCSCTL3 &= ~(LFXT1OF); // Clear fault flags IFG1 &= ~OFIFG; // Clear fault flags delay_250ms(1); // wait 250ms } while (IFG1&OFIFG); // Test oscillator fault flag if (CALBC1_1MHZ==0xFF) // If calibration constant erased { while(1); // do not load, trap CPU!! } DCOCTL = 0; // Select lowest DCOx and MODx settings BCSCTL1 = CALBC1_1MHZ; // Set DCO to 1MHz DCOCTL = CALDCO_1MHZ; }
void main( void ) { // initialize all system relevant modules like // Clock System, Power Managment Module, I/O-Ports init_wdta (); init_port (); init_cs (); init_port_sw2 (); init_comp (); // __bis_SR_register(LPM4_bits+GIE); // Enter LPM3, enable interrupts while (1) { delay_250ms(1); if (comp()==0) { P1OUT |= 0x01; delay_1ms(200); P1OUT &= ~0x01; } } }
//control gun shoot or not void Cannon_shoot(void) { cannon_servo_duty = CANNON_SHOOT; delay_250ms(4); delay_ms(100); }