/* * main.c */ void main(void) { WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer initializeSensors(); P1DIR |= 0x41; // Set P1.0 to output direction for (;;) { checkRightSensor(); if (ADC10MEM < 0x222) { P1OUT &= ~BIT6; // Clear P1.6 LED off } else { P1OUT |= BIT6; // Set P1.6 LED on } _delay_cycles(100000); checkLeftSensor(); if (ADC10MEM < 0x222) { P1OUT &= ~BIT0; // Clear P1.0 LED off } else { P1OUT |= BIT0; // Set P1.0 LED on } _delay_cycles(100000); } }
/* * main.c */ void main(void) { WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer initializeSensors(); P1DIR |= 0x41; // Set P1.0 to output direction for (;;) { //__bis_SR_register(CPUOFF + GIE); // LPM0, ADC10_ISR will force exit checkRightSensor(); if (ADC10MEM < 0x222) { P1OUT &= ~BIT6; // Clear P1.6 LED off } else { P1OUT |= BIT6; // Set P1.6 LED on } _delay_cycles(100000); checkLeftSensor(); if (ADC10MEM < 0x222) { P1OUT &= ~BIT0; // Clear P1.0 LED off } else { P1OUT |= BIT0; // Set P1.0 LED on } _delay_cycles(100000); } }
/* * main.c */ void main(void) { WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer initializeSensors(); setUpTimerA(); turnLeftSlight(); for (;;) { int left = checkLeftSensor(), center = checkCenterSensor(), right = checkRightSensor(); if (left > 0x240) { fullStop(); turnRightSlight(); fullStop(); } else if (center > 0x2FF) { fullStop(); __delay_cycles(10000); reverse(); __delay_cycles(10000); fullStop(); __delay_cycles(10000); turnRightSlight(); __delay_cycles(10000); turnRightSlight(); __delay_cycles(10000); fullStop(); } else { turnLeftSlight(); } } }
/* * main.c */ int main(void) { WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer initializeADC10(); initializeLedPins(); for(;;){ checkLeftSensor(); if (ADC10MEM < 0x2FF) P1OUT &= ~BIT0; else P1OUT |= BIT0; _delay_cycles(100); checkRightSensor(); if (ADC10MEM < 0x23F) P1OUT &= ~BIT6; else P1OUT |= BIT6; } }