/* Configure pins: Input mode, without Pull-up/down resistors */
for (n = 0; n < NUM_LEDS; n++) {
GPIO_PinConfigure(Pin_LED[n].port, Pin_LED[n].num,
GPIO_MODE_INPUT,
GPIO_OUTPUT_PUSH_PULL,
GPIO_OUTPUT_SPEED_2MHz,
GPIO_NO_PULL_UP_DOWN);
}
}
/*-----------------------------------------------------------------------------
* LED_On: Turns on requested LED
*
* Parameters: num - LED number
* Return: (none)
*----------------------------------------------------------------------------*/
void LED_On (uint32_t num) {
GPIO_PinWrite(Pin_LED[num].port, Pin_LED[num].num, 1);
}
/*-----------------------------------------------------------------------------
* LED_Off: Turns off requested LED
*
* Parameters: num - LED number
* Return: (none)
*----------------------------------------------------------------------------*/
void LED_Off (uint32_t num) {
GPIO_PinWrite(Pin_LED[num].port, Pin_LED[num].num, 0);
}
/*-----------------------------------------------------------------------------
* LED_Out: Write value to LEDs
*
* Parameters: val - value to be displayed on LEDs
* Return: (none)
*----------------------------------------------------------------------------*/
void LED_Out (uint32_t val) {
uint32_t n;
for (n = 0; n < NUM_LEDS; n++) {
if (val & (1<<n)) {
LED_On (n);
} else {
LED_Off(n);
}
}
}
/*-----------------------------------------------------------------------------
* LED_Num: Get number of available LEDs
*
* Parameters: (none)
* Return: number of available LEDs
*----------------------------------------------------------------------------*/
uint32_t LED_Num (void) {
return (NUM_LEDS);
}