void button_task(void) { Bool button_press = FALSE; Semaphore_pend(Button_Semaphore, BIOS_WAIT_FOREVER); if (button_press == FALSE) { // change status of LED from red to green or vice versa MAP_GPIO_toggleOutputOnPin(GPIO_PORT_P2, GPIO_PIN6); // toggle Red MAP_GPIO_toggleOutputOnPin(GPIO_PORT_P2, GPIO_PIN4); // toggle Green Timer32_startTimer((uint32_t)TIMER32_0_BASE,0); UART_transmitData(EUSCI_A0_BASE, 'g'); button_press = TRUE; } else { // change status of LED from red to green or vice versa MAP_GPIO_toggleOutputOnPin(GPIO_PORT_P2, GPIO_PIN6); // toggle Red MAP_GPIO_toggleOutputOnPin(GPIO_PORT_P2, GPIO_PIN4); // toggle Green Timer32_haltTimer((uint32_t)TIMER32_0_BASE); button_press = FALSE; } }
/* GPIO ISR */ void PORT1_IRQHandler(void) { uint32_t status; status = MAP_GPIO_getEnabledInterruptStatus(GPIO_PORT_P1); MAP_GPIO_clearInterruptFlag(GPIO_PORT_P1, status); /* Toggling the output on the LED */ if(status & GPIO_PIN4) { MAP_GPIO_toggleOutputOnPin(GPIO_PORT_P2, GPIO_PIN1); MAP_GPIO_toggleOutputOnPin(GPIO_PORT_P5, GPIO_PIN0); } }
/* GPIO ISR */ void gpio_isr(void) { uint32_t status; status = MAP_GPIO_getEnabledInterruptStatus(GPIO_PORT_P6); MAP_GPIO_clearInterruptFlag(GPIO_PORT_P6, status); msprf24_get_irq_reason(); //Turn on RED LED MAP_GPIO_toggleOutputOnPin(GPIO_PORT_P2, GPIO_PIN0); }
/* RTC ISR */ void rtc_isr(void) { uint32_t status; //interupt hits every second tick = 1; status = MAP_RTC_C_getEnabledInterruptStatus(); MAP_RTC_C_clearInterruptFlag(status); if (status & RTC_C_CLOCK_READ_READY_INTERRUPT) { //Toggle the LED of launchpad, get new time from RTC MAP_GPIO_toggleOutputOnPin(GPIO_PORT_P1, GPIO_PIN0); newTime = MAP_RTC_C_getCalendarTime(); } }
int main(void) { volatile uint32_t ii; /* Halting the Watchdog */ MAP_WDT_A_holdTimer(); /* Configuring P1.0 as output */ MAP_GPIO_setAsOutputPin(GPIO_PORT_P1, GPIO_PIN0); while (1) { /* Delay Loop */ for(ii=0;ii<5000;ii++) { } MAP_GPIO_toggleOutputOnPin(GPIO_PORT_P1, GPIO_PIN0); } }
void vBlink(void* pvParameters) { while(1) { vTaskDelay(250); MAP_GPIO_toggleOutputOnPin(GPIO_PORT_P1, GPIO_PIN0); } }