Przykład 2 – wykorzystanie linii GPIO (joystick)
W ćwiczeniu należy zaświecić diodę LED po przechyleniu joysticka.W ćwiczeniu należy zaświecić diodę LED po przechyleniu joysticka. Sposób dołączenia diod LED oraz joysticka do mikrokontrolera jest następujący:
Główna funkcja programu jest pokazana na list. 1.
List. 1. Funkcja główna przykładowego programu
int main(void)
{
// GPIO Configuration
GPIO_Configuration();
while (1)
{
if(GPIO_ReadInputDataBit(GPIOE, JOY_R) == 0)
GPIO_ResetBits(GPIOE, GPIO_Pin_15);
else
GPIO_SetBits(GPIOE, GPIO_Pin_15);
if(GPIO_ReadInputDataBit(GPIOE, JOY_L) == 0)
GPIO_ResetBits(GPIOE, GPIO_Pin_14);
else
GPIO_SetBits(GPIOE, GPIO_Pin_14);
}
}
Jak widać w nieskończonej pętli jest sprawdzany stan linii 11 i 12 portu E. Po wykryciu niskiego poziomu na tych liniach jest zapalana odpowiednia dioda LED. Dioda D1 jest dołączona do linii 14 portu E (PE14), dioda D2 jest dołączona do linii 15 portu E (PE15). Diody są zapalane niskim poziomem napięcia na linii, który można uzyskać funkcją:
GPIO_ResetBits(nazwa_portu, numery_linii_do_wyzerowania)
Funkcja GPIO_Configuration() ustawia linie wejścia-wyjścia w odpowiedni tryb pracy. W opisywanym przypadku konieczne jest ustawienie linii 14 i 15 portu E w tryb wyjściowy, natomiast linie 11 i 12 tego portu należy ustawić jako linie wejściowe. Jest to dokonywane za pomocą:
// Configuration of LED pins
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14 | GPIO_Pin_15;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOE, &GPIO_InitStructure);
// Configuration of joystick pins
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 |
GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOE, &GPIO_InitStructure);
Dodatkowo konieczne jest dołączenie sygnału zegarowego do modułu portów wejścia-wyjścia (domyślnie sygnał zegarowy jest odłączony, aby mikrokontroler pobierał mniej prądu):
RCC_APB2PeriphClockCmd
(RCC_APB2Periph_GPIOE | RCC_APB2Periph_AFIO, ENABLE);


Od wzmacniacza nieodwracającego do integratora i wzmacniacza ładunkowego, czyli historia z zaskakującą pointą jak w dobrym kryminale
Green czy smart? Jak decyzje ESG zaczynają optymalizować procesy produkcyjne
Firma Semicon ma w ofercie narzędzia do obróbki przewodów 

![https://www.youtube.com/watch?v=BgxJVTwYJ-s Zapraszamy do obejrzenia filmu i wysłuchania krótkich wypowiedzi prelegentów Hardware Forum 2026 i organizatorów majowej konferencji dla inżynierów z branży elektronicznej: Konrad Bruliński z Lemontech, prof. Krzysztof Kulpa z Politechniki Warszawskiej, Zbigniew Huber z FLC, Ewa Załupska z firmy KROK, Jerzy Kozieł z MPTECH, Grzegorz Potyralski z VIGO Photonics, dr Krzysztof Czuba z Politechniki Warszawskiej, Anna Beata Kalisz Hedegaard z Quantum Security Defence, Adrian Cichosz z Elhurt Dystrybucja Anna Kamińska z Creotech Quantum, oraz Łukasz Jaeszke i Adam Jaeszke z TEK.day [materiał redakcyjny]](https://mikrokontroler.pl/wp-content/uploads/2026/05/tytulowe-film-1.png)



