{"id":4023,"date":"2022-01-28T15:22:36","date_gmt":"2022-01-28T13:22:36","guid":{"rendered":"https:\/\/www.dclabs.lt\/dainiaus\/?p=4023"},"modified":"2022-01-28T15:27:25","modified_gmt":"2022-01-28T13:27:25","slug":"stm32f466re-hello-world-su-led","status":"publish","type":"post","link":"https:\/\/www.dclabs.lt\/dainiaus\/stm32f466re-hello-world-su-led\/","title":{"rendered":"STM32F466RE Hello World su LED!"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Toks pirmas programavimo greitukas, tik tam, kad pabandyti su kuo tas STMas valgomas, tiksliau kaip j\u012f valgyti. Viskas daug ma\u017e intuityviai pasidaro, vos ne vedlio (wizard) principu, tod\u0117l per daug \u012f smulkmenas nesileisiu. O be to pilna tiek video (YouTube), tiek apra\u0161ym\u0173 (\u0161iaip Internete), kaip prad\u0117ti ir para\u0161yti koki\u0105 nors paprast\u0105 program\u0117l\u0119. Nors ir trumpai, bet pa\u017eingsniui.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Instaliuojam STM32CubeIDE, teksto ra\u0161ymo metu versija 1.8.0.<\/li><li>Prijungiam k\u016brybin\u012f modul\u012f, paleid\u017eiam IDE.<\/li><li>Susirandam modul\u012f IDE aplinkoje (beje, ten galima i\u0161 karto parsitempti PDF apra\u0161ymus), nieko labai nekonfig\u016bruojam, nes visk\u0105 sumes pagal nutyl\u0117jim\u0105 pagal modul\u012f. Va\u017eiuojam per vedl\u012f kol pamatom procesoriaus paveiksliuk\u0105.<\/li><li>Kad neb\u016b\u010diau toks visai nulinukas, prid\u0117jau papildom\u0105 LED\u0105 ant PA6 prievado.<\/li><\/ol>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/www.dclabs.lt\/dainiaus\/wp-content\/uploads\/2022\/01\/image-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dclabs.lt\/dainiaus\/wp-content\/uploads\/2022\/01\/image-1-1024x1004.png\" alt=\"\" class=\"wp-image-4024\" width=\"452\" height=\"442\" srcset=\"https:\/\/www.dclabs.lt\/dainiaus\/wp-content\/uploads\/2022\/01\/image-1-1024x1004.png 1024w, https:\/\/www.dclabs.lt\/dainiaus\/wp-content\/uploads\/2022\/01\/image-1-300x294.png 300w, https:\/\/www.dclabs.lt\/dainiaus\/wp-content\/uploads\/2022\/01\/image-1-768x753.png 768w, https:\/\/www.dclabs.lt\/dainiaus\/wp-content\/uploads\/2022\/01\/image-1.png 1423w\" sizes=\"auto, (max-width: 452px) 100vw, 452px\" \/><\/a><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Pavadinau j\u012f LED1 [Yellow LED], nes geltonas, ir \u0161alia &#8222;gamyklinis&#8221; LED, toks kaip Arduine ant 13 prievado kaba, taigi j\u012f pavadinau LED2 [Green Led] nes \u017ealias. Abo prievadai nustatyti kaip GPIO_Output (spragtelk ant pino). Ir kol kas u\u017eteks, spaud\u017eiam F11 arba Run &gt; Debug arba plaktuk\u0105 meniu juostoje, ir i\u0161 to kas sureguliuota pagamins main.c failiuk\u0105 (bus tarpinis vedliukas, bet ten lyg nieko nekei\u010diau). <\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"5\"><li>Turim jau sugeneruot vis\u0105 naud\u017ei\u0105j\u0105 kodo dal\u012f su konfig\u016bravimu. Toliau Main programoje tik pasidarom kintam\u0105j\u012f, kuris laikys prievado b\u016bkl\u0117s reik\u0161m\u0119 (1 arba 0):<br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">\/* USER CODE BEGIN 2 *<em>\/ <\/em><\/mark><br><em>static unsigned short pin_state = 0; \/\/ Inicializuojamas kintamasis<\/em><br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">\/* USER CODE END 2 *\/<\/mark><br>Pastaba &#8211; b\u016btina savo kod\u0105 ra\u0161yti tarp USER CODE BEGIN ir atitinkamai END. \u0160itas atitinka Arduino void setup() { }<\/li><li>Va\u017eiuojam \u012f while (1) cikl\u0105, kuris suks m\u016bs\u0173 kod\u0105 be sustojimo. Atitinka Arduino void loop() { } ir sakom ko mes norim i\u0161 procesoriaus. <br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">\/* USER CODE BEGIN WHILE *\/<\/mark><br>while (1)<br>      {<br>         HAL_GPIO_WritePin(GPIOA, LED1_Pin, pin_state); \/\/ Geltonas LED<br>         HAL_GPIO_WritePin(GPIOA, LED2_Pin, !pin_state); \/\/ Zalias LED<br>         pin_state = !pin_state;<br>         HAL_Delay(1000);<br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">\/* USER CODE END WHILE *\/<\/mark><br>V\u0117l viskas ra\u0161oma tarp t\u0173 BEGIN ir END. HAL &#8211; Hardware Abstraction Layer. Pana\u0161iai kaip bibliotekos Arduine, viena komanda padaro vis\u0105 darb\u0105. <a href=\"https:\/\/www.dclabs.lt\/dainiaus\/?p=4003\" data-type=\"URL\" data-id=\"https:\/\/www.dclabs.lt\/dainiaus\/?p=4003\" target=\"_blank\" rel=\"noreferrer noopener\">Prie modulio apra\u0161ymo<\/a> \u012fd\u0117jau HAL apra\u0161ym\u0105, ten ~2000 puslapi\u0173 :D.<\/li><li>Spaud\u017eiam \u017ealia mygtuk\u0105 su trikampiuku <img decoding=\"async\" src=\"https:\/\/www.dclabs.lt\/dainiaus\/wp-content\/uploads\/2022\/01\/image-2.png\"> ir laukiam kol sukompiliuos ir u\u017eprogramuos procesori\u0173. Viskas :).<\/li><\/ol>\n\n\n\n<figure class=\"wp-block-video aligncenter\"><video height=\"886\" style=\"aspect-ratio: 1170 \/ 886;\" width=\"1170\" controls src=\"https:\/\/www.dclabs.lt\/dainiaus\/wp-content\/uploads\/2022\/01\/vid.mp4\"><\/video><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Toks pirmas programavimo greitukas, tik tam, kad pabandyti su kuo tas STMas valgomas, tiksliau kaip j\u012f valgyti. Viskas daug ma\u017e intuityviai pasidaro, vos ne vedlio (wizard) principu, tod\u0117l per daug \u012f smulkmenas nesileisiu. O be to pilna tiek video (YouTube), tiek apra\u0161ym\u0173 (\u0161iaip Internete), kaip prad\u0117ti ir para\u0161yti koki\u0105 nors paprast\u0105 program\u0117l\u0119. Nors ir trumpai,&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":[],"class_list":["post-4023","post","type-post","status-publish","format-standard","hentry","category-stm32"],"_links":{"self":[{"href":"https:\/\/www.dclabs.lt\/dainiaus\/wp-json\/wp\/v2\/posts\/4023","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dclabs.lt\/dainiaus\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dclabs.lt\/dainiaus\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dclabs.lt\/dainiaus\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dclabs.lt\/dainiaus\/wp-json\/wp\/v2\/comments?post=4023"}],"version-history":[{"count":5,"href":"https:\/\/www.dclabs.lt\/dainiaus\/wp-json\/wp\/v2\/posts\/4023\/revisions"}],"predecessor-version":[{"id":4032,"href":"https:\/\/www.dclabs.lt\/dainiaus\/wp-json\/wp\/v2\/posts\/4023\/revisions\/4032"}],"wp:attachment":[{"href":"https:\/\/www.dclabs.lt\/dainiaus\/wp-json\/wp\/v2\/media?parent=4023"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dclabs.lt\/dainiaus\/wp-json\/wp\/v2\/categories?post=4023"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dclabs.lt\/dainiaus\/wp-json\/wp\/v2\/tags?post=4023"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}