コード例 #1
0
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);
    }

}
コード例 #3
0
ファイル: main.c プロジェクト: howlanjo/Lab7_PRX
/* 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);

}
コード例 #4
0
/* 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);
    }
}
コード例 #6
0
void vBlink(void* pvParameters) {
	while(1) {
		vTaskDelay(250);
		MAP_GPIO_toggleOutputOnPin(GPIO_PORT_P1, GPIO_PIN0);
	}
}