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; } }
void init_timer32_0(void) { MAP_Timer32_initModule(TIMER32_0_MODULE, TIMER32_PRESCALER_256, TIMER32_32BIT, TIMER32_PERIODIC_MODE); Timer32_setCount(TIMER32_0_MODULE,6000000); Timer32_enableInterrupt(TIMER32_0_MODULE); MAP_Interrupt_enableInterrupt(INT_T32_INT1); //MAP_Interrupt_enableMaster(); Timer32_startTimer(TIMER32_0_MODULE, true); }