CooCox CoIDE i STM32F4Discovery – jak zacząć?
Do obsługi diody LED wystarczy wybrać tylko jeden komponent standardowej biblioteki obsługi peryferii – komponent GPIO, a zaraz potem pojawi się okienko dialogowe z pytaniem czy utworzyć nowy projekt, gdyż w zakładce Project okna głównego brak jest jakiegokolwiek projektu i należy tutaj wybrać „Tak” (rysunek 7). W kolejnym okienku (rysunek 8) wystarczy podać nazwę projektu oraz ewentualną inną lokalizację (wtedy należy odznaczyć pole Use default location i podać katalog roboczy projektu) i kliknąć Finish. Można teraz zauważyć, że program automatycznie wybrał wszystkie te komponenty z których korzysta element GPIO (występują tutaj powiązania) oraz przygotował gotową strukturę projektu w zakładce Project okna głównego (rysunek 9).
Rys. 6. Lista dostępnych komponentów
Rys. 7. Pytanie o utworzenie nowego projektu
Rys. 8. Podanie nazwy i lokalizacji tworzonego projektu
Rys. 9. Przykładowa struktura projektu
Rys. 10. Komponenty obsługi zewnętrznych urządzeń
W tym samym kroku oprócz komponentów związanych z obsługą wewnętrznych modułów peryferyjnych mikrokontrolera można również wybierać komponenty obsługi zewnętrznych urządzeń, takie jak pliki obsługi wyświetlacza LCD i czujnika temperatury – patrz zakładki Drivers i Others w dolnej części okna Repository (rysunek 10). Warto dodać, że takie komponenty mogą być dodawane przez zwykłych użytkowników do głównej bazy projektu nawet z poziomu samego oprogramowania. Ponieważ zestaw STM32F4Discovery posiada zewnętrzny oscylator 8MHz za pomocą którego jest taktowany układ to wymagana jest drobna modyfikacja pliku system_stm32f4xx.c, w którym częstotliwość sygnału systemowego jest ustawiona na 168 MHz. Należy znaleźć linijkę:
#define PLL_M 25
i zamienić wartość 25 na 8:
#define PLL_M 8
Plik main.c z pętlą while() został również dodany automatycznie, więc aby przetestować kompilację prostego projektu dodajemy poniższy kod realizujący migotanie dwóch diod LED podłączonych do wyprowadzeń PD12 oraz PD14 i z menu głównego wybieramy: Project -> Build (albo klawisz F7). Jeżeli wszystko zostało wykonane bez błędów to efekt powinien być podobny do przedstawionego na rysunku 11.
#include
#include
void Delay(void)
{
volatile uint32_t i;
for (i = 0; i != 0xFFFFF; i++);
}
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
// Wlaczenie sygnalu taktujacego port D
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD , ENABLE);
GPIO_InitStructure.GPIO_Pin = (GPIO_Pin_12 | GPIO_Pin_14);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOD, &GPIO_InitStructure);
// Wyzerowanie wyjscia PD14
GPIO_ResetBits(GPIOD, GPIO_Pin_14);
// Ustawienie wyjscia PD12
GPIO_SetBits(GPIOD, GPIO_Pin_12);
while(1){
// Zmiana stanu wyjsc na przeciwny
GPIO_ToggleBits(GPIOD, GPIO_Pin_12 | GPIO_Pin_14);
// Czekaj
Delay();
}
}








Zestawy do badania odporności EMC
Węglik krzemu i azotek galu zmieniają branżę elektroniki
MiniPC z procesorem AMD jako laboratorium robotyki AI 

![https://www.youtube.com/watch?v=xeqdqGuy-Aw Michał Mitas, kierownik laboratorium Badań Urządzeń Radiowych w katowickim instytucie Łukasiewicz - AI, opowiada o badaniach urządzeń z interfejsem komunikacji bezprzewodowej, jak Wi-Fi, Bluetooth, LTE czy 5G, przeprowadzanych w komorze bezodbiciowej. Zapraszamy do obejrzenia filmu! [materiał redakcyjny]](https://mikrokontroler.pl/wp-content/uploads/2026/10/00.png)

![https://www.youtube.com/watch?v=QSnLO-KmBMY O wybranych projektach realizowanych w Laboratorium Zakładu Układów Mikrofalowych – ISE PW opowiadają: mgr inż. Michał Kalisiak, dr hab. inż. Arkadiusz Lewandowski, mgr inż. Andžej Šerlat oraz dr hab. inż. Krzysztof Czuba. Zapraszamy na firm [materiał redakcyjny]](https://mikrokontroler.pl/wp-content/uploads/2026/09/WEiTI-PW-czolowka.png)

