Skip to content

Dainiaus webaz – elektronika ir ne tik !

Analog time piece sky wide, synced to the ticker inside, move to the rhythm of the moon and tide…

Menu
  • Pradžia
  • DC Labs
  • Asmeninis žodynas
  • Apie
  • Admin
  • Web-Stat
Menu

STM32F466RE Hello World su LED!

Posted on 2022.01.282022.01.28 by Dainius

Toks pirmas programavimo greitukas, tik tam, kad pabandyti su kuo tas STMas valgomas, tiksliau kaip jį valgyti. Viskas daug maž intuityviai pasidaro, vos ne vedlio (wizard) principu, todėl per daug į smulkmenas nesileisiu. O be to pilna tiek video (YouTube), tiek aprašymų (šiaip Internete), kaip pradėti ir parašyti kokią nors paprastą programėlę. Nors ir trumpai, bet pažingsniui.

  1. Instaliuojam STM32CubeIDE, teksto rašymo metu versija 1.8.0.
  2. Prijungiam kūrybinį modulį, paleidžiam IDE.
  3. Susirandam modulį IDE aplinkoje (beje, ten galima iš karto parsitempti PDF aprašymus), nieko labai nekonfigūruojam, nes viską sumes pagal nutylėjimą pagal modulį. Važiuojam per vedlį kol pamatom procesoriaus paveiksliuką.
  4. Kad nebūčiau toks visai nulinukas, pridėjau papildomą LEDą ant PA6 prievado.

Pavadinau jį LED1 [Yellow LED], nes geltonas, ir šalia „gamyklinis” LED, toks kaip Arduine ant 13 prievado kaba, taigi jį pavadinau LED2 [Green Led] nes žalias. Abo prievadai nustatyti kaip GPIO_Output (spragtelk ant pino). Ir kol kas užteks, spaudžiam F11 arba Run > Debug arba plaktuką meniu juostoje, ir iš to kas sureguliuota pagamins main.c failiuką (bus tarpinis vedliukas, bet ten lyg nieko nekeičiau).

  1. Turim jau sugeneruot visą naudžiąją kodo dalį su konfigūravimu. Toliau Main programoje tik pasidarom kintamąjį, kuris laikys prievado būklės reikšmę (1 arba 0):
    /* USER CODE BEGIN 2 */
    static unsigned short pin_state = 0; // Inicializuojamas kintamasis
    /* USER CODE END 2 */
    Pastaba – būtina savo kodą rašyti tarp USER CODE BEGIN ir atitinkamai END. Šitas atitinka Arduino void setup() { }
  2. Važiuojam į while (1) ciklą, kuris suks mūsų kodą be sustojimo. Atitinka Arduino void loop() { } ir sakom ko mes norim iš procesoriaus.
    /* USER CODE BEGIN WHILE */
    while (1)
    {
    HAL_GPIO_WritePin(GPIOA, LED1_Pin, pin_state); // Geltonas LED
    HAL_GPIO_WritePin(GPIOA, LED2_Pin, !pin_state); // Zalias LED
    pin_state = !pin_state;
    HAL_Delay(1000);
    /* USER CODE END WHILE */
    Vėl viskas rašoma tarp tų BEGIN ir END. HAL – Hardware Abstraction Layer. Panašiai kaip bibliotekos Arduine, viena komanda padaro visą darbą. Prie modulio aprašymo įdėjau HAL aprašymą, ten ~2000 puslapių :D.
  3. Spaudžiam žalia mygtuką su trikampiuku ir laukiam kol sukompiliuos ir užprogramuos procesorių. Viskas :).

Parašykite komentarą Atšaukti atsakymą

El. pašto adresas nebus skelbiamas. Būtini laukeliai pažymėti *

The maximum upload file size: 3 MB. You can upload: image. Links to YouTube, Facebook, Twitter and other services inserted in the comment text will be automatically embedded. Drop files here

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Kategorijos

  • Arduino (12)
  • Auto… (25)
  • Bambesiai (19)
  • Belekas… (15)
  • CadSoft Eagle LBR'ai (7)
  • Elektronika (177)
  • Kompiuterija (21)
  • KosTmosas (10)
  • Laisvalaikis (14)
  • Lithuania inside (5)
  • Lobių paieškos (1)
  • Naudinga informacija (19)
  • Piro… (4)
  • Programatoriai (12)
  • Programavimas (4)
  • Retro PC HW (13)
  • Skaičiuotuvai (3)
  • STM32 (4)

Archyvas

  • 2026 m. spalio mėn. (4)
  • 2026 m. rugsėjo mėn. (5)
  • 2026 m. rugpjūčio mėn. (1)
  • 2026 m. gegužės mėn. (3)
  • 2026 m. balandžio mėn. (1)
  • 2026 m. kovo mėn. (2)
  • 2026 m. sausio mėn. (2)
  • 2025 m. gruodžio mėn. (5)
  • 2025 m. lapkričio mėn. (2)
  • 2025 m. spalio mėn. (1)
  • 2025 m. rugpjūčio mėn. (2)
  • 2025 m. birželio mėn. (1)
  • 2025 m. gegužės mėn. (1)
  • 2025 m. balandžio mėn. (2)
  • 2025 m. kovo mėn. (1)
  • 2025 m. vasario mėn. (2)
  • 2025 m. sausio mėn. (1)
  • 2024 m. lapkričio mėn. (1)
  • 2024 m. spalio mėn. (1)
  • 2024 m. rugsėjo mėn. (1)
  • 2024 m. liepos mėn. (2)
  • 2024 m. gegužės mėn. (1)
  • 2024 m. kovo mėn. (1)
  • 2024 m. vasario mėn. (1)
  • 2024 m. sausio mėn. (1)
  • 2023 m. gruodžio mėn. (2)
  • 2023 m. lapkričio mėn. (1)
  • 2023 m. rugsėjo mėn. (2)
  • 2023 m. birželio mėn. (1)
  • 2023 m. gegužės mėn. (2)
  • 2023 m. balandžio mėn. (1)
  • 2023 m. kovo mėn. (2)
  • 2023 m. vasario mėn. (2)
  • 2023 m. sausio mėn. (5)
  • 2022 m. gruodžio mėn. (1)
  • 2022 m. lapkričio mėn. (1)
  • 2022 m. spalio mėn. (1)
  • 2022 m. rugsėjo mėn. (3)
  • 2022 m. rugpjūčio mėn. (1)
  • 2022 m. liepos mėn. (1)
  • 2022 m. gegužės mėn. (3)
  • 2022 m. balandžio mėn. (4)
  • 2022 m. kovo mėn. (3)
  • 2022 m. vasario mėn. (4)
  • 2022 m. sausio mėn. (4)
  • 2021 m. gruodžio mėn. (3)
  • 2021 m. lapkričio mėn. (7)
  • 2021 m. spalio mėn. (4)
  • 2021 m. rugsėjo mėn. (1)
  • 2021 m. rugpjūčio mėn. (3)
  • 2021 m. liepos mėn. (1)
  • 2021 m. birželio mėn. (2)
  • 2021 m. gegužės mėn. (1)
  • 2021 m. balandžio mėn. (2)
  • 2021 m. kovo mėn. (1)
  • 2021 m. vasario mėn. (2)
  • 2021 m. sausio mėn. (1)
  • 2020 m. gruodžio mėn. (1)
  • 2020 m. lapkričio mėn. (4)
  • 2020 m. spalio mėn. (2)
  • 2020 m. rugpjūčio mėn. (2)
  • 2020 m. liepos mėn. (4)
  • 2020 m. birželio mėn. (2)
  • 2020 m. gegužės mėn. (1)
  • 2020 m. sausio mėn. (2)
  • 2019 m. spalio mėn. (4)
  • 2019 m. liepos mėn. (2)
  • 2019 m. vasario mėn. (1)
  • 2019 m. sausio mėn. (1)
  • 2018 m. spalio mėn. (1)
  • 2018 m. rugsėjo mėn. (1)
  • 2018 m. rugpjūčio mėn. (2)
  • 2018 m. balandžio mėn. (1)
  • 2018 m. kovo mėn. (3)
  • 2018 m. vasario mėn. (3)
  • 2018 m. sausio mėn. (1)
  • 2017 m. gruodžio mėn. (2)
  • 2017 m. lapkričio mėn. (3)
  • 2017 m. spalio mėn. (4)
  • 2017 m. rugsėjo mėn. (2)
  • 2017 m. liepos mėn. (1)
  • 2017 m. birželio mėn. (2)
  • 2017 m. gegužės mėn. (1)
  • 2017 m. balandžio mėn. (2)
  • 2017 m. kovo mėn. (2)
  • 2017 m. vasario mėn. (1)
  • 2017 m. sausio mėn. (6)
  • 2016 m. gruodžio mėn. (3)
  • 2016 m. lapkričio mėn. (1)
  • 2016 m. spalio mėn. (4)
  • 2016 m. rugsėjo mėn. (4)
  • 2016 m. rugpjūčio mėn. (2)
  • 2016 m. birželio mėn. (1)
  • 2016 m. kovo mėn. (1)
  • 2016 m. vasario mėn. (1)
  • 2016 m. sausio mėn. (5)
  • 2015 m. lapkričio mėn. (6)
  • 2015 m. spalio mėn. (3)
  • 2015 m. liepos mėn. (2)
  • 2015 m. birželio mėn. (2)
  • 2015 m. gegužės mėn. (1)
  • 2015 m. kovo mėn. (3)
  • 2015 m. vasario mėn. (3)
  • 2015 m. sausio mėn. (4)
  • 2014 m. gruodžio mėn. (1)
  • 2014 m. lapkričio mėn. (1)
  • 2014 m. spalio mėn. (2)
  • 2014 m. rugsėjo mėn. (5)
  • 2014 m. rugpjūčio mėn. (3)
  • 2014 m. gegužės mėn. (1)
  • 2014 m. balandžio mėn. (1)
  • 2014 m. vasario mėn. (1)
  • 2014 m. sausio mėn. (4)
  • 2013 m. gruodžio mėn. (1)
  • 2013 m. spalio mėn. (3)
  • 2013 m. liepos mėn. (1)
  • 2013 m. birželio mėn. (1)
  • 2013 m. gegužės mėn. (2)
  • 2013 m. balandžio mėn. (2)
  • 2013 m. kovo mėn. (3)
  • 2013 m. vasario mėn. (1)
  • 2013 m. sausio mėn. (1)
  • 2012 m. gruodžio mėn. (2)
  • 2012 m. lapkričio mėn. (2)
  • 2012 m. spalio mėn. (1)
  • 2012 m. rugsėjo mėn. (1)
  • 2012 m. rugpjūčio mėn. (1)
  • 2012 m. liepos mėn. (3)
  • 2012 m. birželio mėn. (2)
  • 2012 m. gegužės mėn. (2)
  • 2012 m. balandžio mėn. (1)
  • 2012 m. kovo mėn. (2)
  • 2012 m. vasario mėn. (6)
  • 2012 m. sausio mėn. (1)
  • 2011 m. gruodžio mėn. (1)
  • 2011 m. lapkričio mėn. (1)
  • 2011 m. spalio mėn. (1)
  • 2011 m. rugsėjo mėn. (2)
  • 2011 m. rugpjūčio mėn. (2)
  • 2011 m. liepos mėn. (2)
  • 2011 m. birželio mėn. (3)
  • 2011 m. gegužės mėn. (4)
  • 2011 m. balandžio mėn. (6)
  • 2011 m. kovo mėn. (11)
  • 2011 m. vasario mėn. (2)

Valdymas

  • Prisijungti
  • Įrašų RSS srautas
  • Komentarų RSS srautas
  • WordPress.org

Nuorodos

Nuorodos
  • Asmeninis žodynas
  • OAB Team member
© 2026 Dainiaus webaz – elektronika ir ne tik ! | Powered by Minimalist Blog WordPress Theme