Загрузка данных



while (1)
{
    int przycisk = HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0);

    // Wykrywanie nowego nacisniecia
    if (przycisk == GPIO_PIN_SET && poprzedni == 0)
    {
        // Eliminacja drgan stykow
        HAL_Delay(30);

        // Sprawdzamy przycisk ponownie
        if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0) == GPIO_PIN_SET)
        {
            numer = (numer + 1) % 4;
        }
    }

    poprzedni = przycisk;

    // Gasimy wszystkie diody
    HAL_GPIO_WritePin(GPIOD,
        GPIO_PIN_12 | GPIO_PIN_13 |
        GPIO_PIN_14 | GPIO_PIN_15,
        GPIO_PIN_RESET);

    // Zapalamy jedna wybrana diode
    HAL_GPIO_WritePin(GPIOD, leds[numer], GPIO_PIN_SET);
}