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);


Fotowoltaika perowskitowa: od wydajności laboratoryjnej do masowej komercjalizacji
Czy kamery termowizyjne pokazują nam całą prawdę?
Generowanie ujemnego napięcia odniesienia – eksperymenty z zestawem ADALM2000 

![https://www.youtube.com/watch?v=XkeyLmtLfxo O konkursie organizowanym przez firmę TRUMPF Huettinger i polskie uczelnie techniczne opowiada Alicja Peresada i prof. Jacek Rąbkowski oraz kilkoro nagrodzonych dyplomantów: mgr inż. Jakub Dobosz, inż. Maja Zielińska, dr inż. Jakub Kołodziej, dr inż Weronika Hryniewska-Guzik i dr inż. Grzegorz Bartyzel. Zapraszamy do obejrzenia filmu! [materiał redakcyjny]](https://mikrokontroler.pl/wp-content/uploads/2026/07/TRUMPF-czolowka.png)



