![]() |
STM32 generic board - Printable Version +- DIY Electronic projects (https://forum.yu3ma.net) +-- Forum: Mikrokontroleri (https://forum.yu3ma.net/forumdisplay.php?fid=52) +--- Forum: Razvojni sistemi i moduli (https://forum.yu3ma.net/forumdisplay.php?fid=56) +--- Thread: STM32 generic board (/showthread.php?tid=1529) |
RE: STM32 generic board - yugaja - 03-07-2017 (03-06-2017, 08:15 PM)Macola Wrote: Neki banalizovan primer jednostavnog i ekstremno brzog multitaskinga: Taj rad gosn Macola!! Samo da dodam iz mog ugla, i na osnovu najskupljeg iskustva, cesto mi je problem bio da se prisetim sta sam pametno programirao pre x meseci kada je potrebno nesto cacnuti u kodu popraviti - promeniti. Zato se sada trudim da pisem sto deskirptivnije pa makar i na ustrb brzine iako je to protivno nekim iskonskim principima koji su me vodili. Msm majao sam se po asembleru ranije, ne znam ni sam sto, i koliko dugo... Tako da npr drzim svaku FSM u strukturi gde su neka od polja: trenutno stanje, sledece stanje, brojac vremena trenutnog stanja, onda niz komandi (obicno svaka FSM tj da kazemo task u ovoj konotaciji. mi reaguje na evente: time update, start, stop, onda akoje u pitanju GUI to su razni buttoni, i sta god treba u opstem slucaju a zbog sinhronizacije masina neretko zafali da svaka ima svoj queue sa komandama upucenim ka njoj - zna da pomogne onoliko...) Sve to stoji u strukturi. Onda samu funkciju podelim, pa po prioritetima na pocetku npr obradjujem vreme (switch- case struktura) pa iza toga nova switch -case struktura sa istim ponovljenim stanjima (neoptimalno, ali lepo za citanje i snalazenje posle mnogo vremena zaboravljanja) sa procesiranjem events-a, pa onda npr obrada gresaka.. I na kraju tranzicija i akcije na tranzicije: if (Fsm.currentState !=Fsm.nextState) { switch (Fsm.nextState)...} Nek se kompajler snalazi ako hoce i zna da optimizuje; bitnije mi je da mogu ja da se snadjem, kazem, posle puno vremena provedenih u nekim drugim projektima i drugim kodovima. Sad dal je ova realizacija milova ili murova to se zaboravilo i kad je trebalo da se zna nije se znalo verovatno; ja sam zapoceo kao (analogni) elektronicar : ![]() Ali iskustveno ovo zavrsava 99% poslova. Inace offtopic je ne? mozda bi vredelo da otvorimo neku novu temu radi razmene best practice... RE: STM32 generic board - Macola - 03-07-2017 (03-07-2017, 03:09 PM)Milan94 Wrote: Posto ste akcenat stavili na LCD displeje da zauzimaju dosta resursa kakvo je stanje ukoliko koristimo PFC8574 modul za komunikacuju sa lcd. Tu bi možda došlo u obzir nešto ovakvo sa gotovom SPI, koja je poprilično brza. http://www.digikey.ch/products/en/optoelectronics/display-modules-lcd-oled-character-and-numeric/99?k=&pkeyword=&pv1989=0&pv154=45&FV=ffe00063&mnonly=0&newproducts=0&ColumnSort=0&page=1&stock=1&quantity=0&ptm=0&fid=0&pageSize=25 Tu cene znaju biti solidno "vruće" (od 25-39$ na priloženom linku) ali je super kada se nema vremena za pravljenje sopstvenog SPI adapterčeta sa nekim jevtinijim MCU i upotrebom običnog alfanumeričkog displeja od reda cene nekoliko do desetak eura... Tu bi mogao da se napiše SPI adapterčić u na primer jevtinom: http://store.comet.rs/rs/Search/?keywords=pic16f1518#eyJpcHAiOiIyMCIsImsiOiJwaWMxNmYxNTE4In0%3D Taj je poprilicno jevtin i sa sve pcb bi dodao nekih 2-3eura na cenu običnog alfanumeričkog LCD Može tu i neki sličan Atmel (sa kojima nikad nisam radio).Samo je bitno da ima hardverski SPI modul unutra. Zašto baš SPI? Zato što tipična transakcija od na primer 2 bajta (adresa, data) traje oko 7,5uS pri 10MHz SPI. To nije ni malo loše i ne davi mnogo procesorsko vreme. I2C je neuporedivo sporija komunikacija i prednost joj je jedino što koristi samo dve aktivne žice... Pozz P.S. Naravno, kod zahtevnih aplikacija se gleda da se LCD ne osvežava bespotrebno već samo kad je nužno potrebno. Onda bude vremena za puno ostalog. RE: STM32 generic board - Macola - 03-07-2017 @yugaja, Svakako drugar. Iz pisanja u asm se stiče izvesno iskustvo sa preciznim baratanjem vremenskim instancama. Bukvalno se čitanjem koda može izračunati vreme događaja do jednog takta. Sada većina ljudi "beži" ka visokim nivoima pisanja, a tu se za kratka vremena događaja mora staviti neka "mečka" od MCU koja je baš brza i jaka i ima dobre hardverske resurse oko isr. Doduše retko kad i treba neka visoka brzina. Tek za neke aplikacije poput merne tehnike ili kontrola servo motora i slično tome, a tu već mnogo novih MCU ima napravljenu jaku hardversku podršku (enkoderi, PWMs, autonomni ADC sa hw osrednjavanjem i tako dalje). Mnogi ljudi nemaju živaca da rade stvari od početka i onda upotrebe masivnu mašinu od MCU gde ima mnogo gotovih primera i samo se lepi kod kao "lego" kockice. Ti mi nešto ličiš na tipove slične meni, koji vole stvari od početka da rade. Tu je Forth tata, samo nisam imao dovoljno strpljenja pored najboljih učitelja :-( Tu su stvari pod potpunom kontrolom do poslednjeg bita u memorijskoj mapi, na bilo kojoj lokaciji. Napravi se lepo sopstvena biblioteka potrebnih stvari.Troši jedan put mnogo vremena ali posle se lako radi. Da sam ponovo mlad i da imam više vremena, bacio bih se svom snagom na Forth. Ali nažalost... Pozz RE: STM32 generic board - vojinilic - 03-07-2017 Nekada davno kada sam krenuo da ulazim u svet mikrokontrolera (stari PIC16C54-JW - hard core za izmenu jednog bita) krenuo sam od asemblera i sazvakao ga skroz. Posle sam presao na PIC16C84 gde sam naucio sta je interapt i kako radi. Posle toga sam prosao dosta razlicitih MCU-ova i uvek sam malo radio i u ASM. Misljenja sam da ko tek krece da se upoznaje sa MCU-ovima, MORA, ali MORA da prodje kroz ASM, jer samo tako moze da nauci kako procesor radi. U bilo kom visem programskom jeziku ne moze da nauci kako u dusu radi MCU. Primera radi: sabiranje i oduzimanje. U ASM se uvek vrsi ispitivanj zero ili carry flag-a. Jos je zesca manipulacija sa registrima koji se koriste i u main loop i u int, gde odredjene stvari moraju da se cuvaju na steku. Npr. MCS51 arhitektura ima hardverski implementirane PUSH i POP instrukcije, dok se kod PIC-a to moralo raditi softverski, pazljivim izborom instrukcija koje nemaju uticaj na statusni registar. Drugi primer su sofverska kasnjenja. U ASM se tacno zna koliko traje koja instrukcija i koliko traje petlja, pa cak i petlja u petlji. Ja glavu odsecem ako neko zna koliko traje u C-u na PIC18Fxx koji radi na 24MHz jedan krug for petlje. Koliko god ASM bio tezak, izuzetno se isplati jer znacajno povecava programersku moc. Cim se bolje poznaje rad jezgra same masine, uvek ce se pisati i optimalni programi. RE: STM32 generic board - vojinilic - 03-07-2017 @Macola Pre jedno 20 godina sam koristio Forth, ali nikada nisam bio ljubitelj. Vise sam isao ka ASM i C. To je jednostavno tako bilo. Imam jedno pitanje, posto stalno hvalis Forth, narocito brzinu, brzi od C (ili je neko drugi na forumu to napisao), pa me interesuje kako? Npr. ako hocu u Forth-u da saberem dva broja, npr. 3 i 5, ja prvo moram 3 da stavim na stack, pa 5 na stack, pa onda da izvrsim sabiranje nad stekom, pa onda rezultat da preuzmem sa steka i smestim gde zelim. Ako se ovo pogleda u ASM, to je prilican broj instrukcija, pogotovo zbog manipulacije sa stekom. U ASM su to dve instrukcije ili tri, zavisi od MCU-a. Forth bi bio brz na nekom stek orjentisanom procesoru. Znam da je Mladja napravio na FPGA FROG - FoRth OrGanized procesor, koji je bio hardverski organizovan za to. Koliko znam CISC, RISC i ARM arhitekture nisu stek organizovane i zbog toga ne moze nikada Forth da radi bolje od C-a. Ovo je samo moje zapazanje, pa me interesuje tvoj komentar. Hvala i pozdrav RE: STM32 generic board - mikikg - 03-07-2017 Sve vas razumem, i Macolu sto mu je drag Forth, i yugaja koji voli bare metal, i Nebojsu sa PIC-evima, Vojina sa ASM, manje vise sam prosao kroz sve to, ja samo kazem da je mnogo velika pomoc ako imaju dobre i proverene biblioteke, nebitno u kom obliku, dali kao sherovani objekti koji praktikuju MCP i ST, bilo kao Arduino sa svojom abstrakcijom, u sustini to sve dodje na isto, pa isto bi trebalo i da ispadne pisao ga ja najbolje sto znam u ASM ili to pisali MCP i ST, stim sto je kod MCP periferialni lib zatvorenog code-a, nema sourse, kod ostalih ima sourse ... Mnooogooo je neko ulozio truda da te biblioteke skocka i debagira, ovo sa Arduinom je jedino dobra prica sto te biblioteke koristi mnooogo ljudi pa vrlo lako isplivaju bugovi i u neka doba se to popravi pa na kraju ispadne to sve solidno, ne perfektno ali to radi u sustini dobro. Programerski sat za MCU platformu nije jeftin, posebno za pisanje u ASM (to je najskuplje), klienti traze jeftina i brza resenja koja njima zavrsavaju posao, njega bas briga u cemu je to pisano ako zadovoljava trazenu specifikaciju i ako to ne pravi probleme i ako je odrzivo na definisan vremenski period (recimo 5-10 godina, extremno je dinamicno trzisto pa sve to dodatno komplikuje pricu). Ozbiljne SW firme imaju gomile programera, imaju razvijenu metodologiju pisanja programa, imaju posebne timove koji pisu programe i posebne koji ih testiraju, imaju internu organizaciju celog razvojnog ciklusa od ideje do finalnog proizvoda sa strogom kontrolom kvaliteta u svim fazama, ali to koooooostaaaa debelo, idite kod njih pitajte da vam urade neki program za MCU koliko ce to da kosta? ![]() Za low-budzete ili start-up projekte je preskupo razvijati software u ASM, cak i bare-metal C/C++ je pitanje isplatljivosti, zato su isplivale sve ove razne platforme za programiranje koje drasticno ubrzavaju razvoj sto naravno ima i svoje lose strane ali koliko para toliko muzike ![]() Evo nekoliko pitanja za sve vas, ko od vas koristi test paterne i test frejmworkove (UnitTesting i slicno) za testiranje SW-a u fazi razvoja? Ko od vas koristi JTAG i Boundary scan za testiranje na nivou "ozicenja" na PCB? Ko je od vas zadnji put angazovao security experte da analiziraju vasu aplikaciju? Kada ste zadnji put pisali kernel module za neku od vasih periferija? Skupa je to igranka ... ![]() Kolege iz firme trebaju da rade neki glomazan ERP sistem, ljudi znate koliko je slozen jedan takav sistem i sta sve tu mora da se odradi da bi to profunkcionisalo kako treba, tu se ASM i C/C++ ne spominje ni u snovima, vise se isplati uzeti rack nakrcan sa najboljim serverima i pisati to sve u uzasno sporoj Javi (u embeded svetu ekvivaletno snaznom kontroleru sa relativno sporim ali stabilnim framework-om) ... Ili raditi sa Big Data sistemima ... Ja vam samo prenosim moje iskustvo od ASM za MCU do recimo SAP-a i Oracla i gde je neka "mera" za dobar code po pristupacnoj ceni ... RE: STM32 generic board - Macola - 03-07-2017 Vojče, To mu dođe kao rasprava o tome da li je bolja "Zvezda" ili "Partizan". Oba načina pisanja imaju svoje mane i prednosti, tj. prednosti nekog od njih su vezane za problematiku koja se rešava. Za razliku od C, kvalitet napisanog u Forth daleko više zavisi od veštine programera i njegove dovitljivosti. Kod C je tu manja razlika. Kod sabiranja dva broja u C, od arhitekture MCU i kompajlera zavisi da li će biti optimizovan bliže ili dalje brzini ASM. Kod Forth je to tik iznad ASM sa vrlo poznatom brzinom događaja. Ne tvrdim da se sabiranje dva broja ne može brže izvršiti u C nego u forth, posebno na nepredisponiranoj arhitekturi (jer se najčešće kod običnih MCU za Forth stack koristi i pravi stack, ali takođe i RAM), ali na žalost, programiranje se (kao što odlično znaš i sam) ne sastoji samo od sabiranja dva broja. Uostalom, u oba načina pisanja (u C jeziku i u Forth metajeziku) mogu se kritične stvari napisati direktno u ASM, te se tu ne može dati prednost ni jednom od njih. Jednostavno na taj način će se dobiti isto. Čim se odmakne malo dalje od led-blink, gde stvari postaju složenije, uz veću veštinu programera, stvari u Forth mogu postati dosta brže i moćnije u određenim segmentima programiranja. Pre nego što je Mlađa napravio pravi stack procesor Frog1 (mislim da ima sada već Frog4 ili možda Frog5, pitaću ga), radili smo sa Philips LPC2136 ARM7 u koji je bio implementiran Forth. Čim problem bude samo malo složeniji od najprostijih operacija, Forth je (sa vrlo veštim Mlađom u pozadini) pokazivao popriličnu moć u odnosu na C. Nisam toliko duboko u tome da bih eksplicitno tvrdio nešto oko mikro detalja koji čine te prednosti, ali mislim da velika snaga Forth, osim interaktivnog rada koji omogućava neuporedivo brži i direktniji - trenutni test koda, počiva na maltene neograničenom broju i magnitudi povratnih vrednosti iz jedne REČI (nalik funkciji u C, za one koji nisu radili sa Forth, ne za tebe jer si radio u njemu). C može imati samo jednu povratnu vrednost, što ga malo linearizuje i oslabljuje mogućnost veštih prečica u pisanju. Postaviću ovde jedno parčence Mlađinog koda, pisanog u Forth, koji je bio implementiran na ARM7 (emulirana stack mašina), gde se na primer neki korisnički meni rešava sa tako elegantnim budućim korišćenjem, na nekoj mašini slične namene, da ti pamet stane! U C-u bi bila potrebna opaka "kobasica" koda za tako efikasan konačni način korišćenja, ili pozadinske biblioteke sa gomilčinom funkcija koje "pojedu" vrlo masivan memorijski prostor. A znam da je ta vrlo složena mašina napisana cela u 10,5 kilobajta svega, sa sve tih jako udobnih menija. Pokrenuli smo je 2007. i naravno da znam koliko je resursa potrošeno. Evo jednog komada Mlađinog koda u Forth, pa ću naknadno objasniti šta to radi. Code: parmenu[ Ovo je neki korisnički meni zadavanja parametara, gde se kao tastatura koristi pet tastera. Kao skrol tasteri se koriste "gore" i "dole", dok kao + i - tasteri "desno" i "levo" i jedan multifunkcionalni u sredini, nazovimo ga "srednji". Tim srednjim se ulazi u parmetre, potom istim napušta i automatski memoriše. Struktura drži: parametre i njihove lokacije na osnovu teksta, up-down limite, smerove tastera, stil ispisivanja cifara (pozicija zapete i float - no float) . Ono što je iza nekih linija koda, kao < /neki_tekst > su komentari gde je zapisano neko poslednje stanje auto tjuninga višestrukog PID za termoregulaciju na 5 grejnih zona. Ono što briljira je da kada je potrebno napisati za neku drugu mašinu set parametara, dovoljno je napisati potrebnim redom i potrebnu količinu ovih < item text" tekst, broj, broj, tekst"> i automatski će biti definisano: -potreban broj memorijskih lokacija, -potrebnih veličina, -njihov redosled, -float.point ili ne, -stil ispisivanja, -down_limit i up_limit tih vrednosti, -tekst koji ispisuje jedinice u kojima se izražava broj, - sva potrebna povezanost sa automatskim memorisanjem i usisavanjem parametara iz EEPROM, -sva povezanost sa tasterima koji inkrementuju ili dekrementuju konkretnu vrednost, -sva povezanost sa displejem, - i tako dalje i tako dalje... Pokušaj tako elegantno u C. Naravno, Mlađa je jedan, ali moraš priznati da će se to veoma teško napraviti u 10,5 KB koda u C. Pri čemu treba da znaš da je u toj količini memorije cela mašina sa 4 merne letve, 5 PID regulatora, 10 ADC kanala, 8 servoventila, oko 30-tak diskretnih ventila i oko 15-tak diskretnih ulaza. Kompletan kontrolni algoritam čitave mašine (koja vrlo složeno radi) izgleda ovako (u celih 356 linija koda): Code: \ ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» Kompaktnost je savršena i za neku drugu sličnu mašinu se veoma malo toga menja. Tako to izgleda kada se piše u Forth i kada to radi Mlađa (2007. a može se zamisliti šta sada radi jer i dalje koristi Forth). Pozdrav Vojče P.S. Znam da se Mlađa neće ljutiti što sam postavio deo koda koji je u njegovom intelektualnom vlasništvu. Razumeće da je u edukativne svrhe. RE: STM32 generic board - mikikg - 03-08-2017 Da se vratimo na temu, evo ga i bezicni BMP koji radi na ESP8266 ![]() http://www.stm32duino.com/viewtopic.php?f=37&t=1752 https://github.com/markrages/blackmagic/blob/a1d5386ce43189f0ac23300bea9b4d9f26869ffb/src/platforms/esp8266/Readme.md RE: STM32 generic board - npejcic - 03-08-2017 @mikikg U tvom postu: http://forum.yu3ma.net/showthread.php?tid=1529&pid=70388#pid70388 si sve rekao. Slažem se 100%! RE: STM32 generic board - mikikg - 03-10-2017 Samo da vam javim da ovaj STM32duino sa BMP kombinacijom radi predobro! Probao sam i na nesto boljim PC (i7), Arduino IDE odradi kompajliranje programa i upload istog u kontroler za 1 sekundu, nesto sto je nezamisljivo sa npr MplabX i PicKit3/IDC3 koji to rade oko 10-ak sekundi i usput se zaglupe svaki 4-5 put kada se uploduje program! RE: STM32 generic board - mikikg - 03-10-2017 Inace kada se malo dublje zadje u Arduino IDE, videcete da je ostavljena potpuna sloboda da se po programu pise sta hocete, nije moranje da se koriste predefinisane Arduino funkcije, moze da se u sred programa direktno pistupi nekim registrima koristeci low-level C/C++ funkcije ili ASM ako imate potrebe. Takodje sve je tu sto treba i sto je podrzano sa GCC kompajlerima, #define, #pragma i ostali macroi i direktive samih kompajlera. Arduino IDE i cela ta postavka daje ogromnu pomoc recimo oko inicializacije periferija, to se svodi na jednu funkciju sa par argumenata. Kada se te funkcije pogledaju kako su inace napisane, napisane su upravo onako kako mora da budu napisane i kako stoji u svim ST-ov primerima, vezi clock, izaberi bus itd, i inace se te funkcije uglavnom jednokratno pozivaju prilikom startovanja programa tako da se brzina njihovog izvrsavanja bukvalno uopste ne razlikuje u poredjenju sa pisanjem svega toga na neki treci nacin ... Ostale logicke funkcije, If, Then, While i ostale se prevode 1:1, nema nikakav overhead preko toga. Setup() i Loop() funkcije videcete da su ustvari placeholderi koji se prilikom kompajliranja (tacnije pre samog kompajliranja, pre-procesor) samo umetnu u standardnu Main(), vrlo vrlo je mali overhead preko toga ako ga uopste ima. RE: STM32 generic board - gigabyte091 - 03-17-2017 Napokon je došao blue pill ![]() RE: STM32 generic board - progster - 07-13-2017 Da li vredi da se pišu biblioteke za periferije od 0, u cilju boljeg razumevanja rada periferije (da zanemarimo optimizaciju veličine programa itd.)? Konkretno (radim sa Blue Pill), u Keil IDE, ja sam krenuo sa tim da uvezem stm32f10x.h, CMSIS Core, da ne bih ručno morao memorijske lokacije da određujem, i onda krenuo prema reference manual-u i po ugledu na njihov .h fajl da pišem definicije i funkcije za inicijalizaciju pinova itd. Znači direktno baratam raspoloživim registrima u periferiji i čitam/menjam sadržaj. A to da bih kasnije mogao da ih koristim kao gotove funkcije, i da ne moram iz main-a da pristupam direktno registrima i radim sa bitskim operacijama, već samo pozovem svoju funkciju. Znači bukvalno implementiram svoju biblioteku, samo na svoj način. Verovatno mnogi misle da je to Sizifov posao, ja probao na početku da radim sa CubeMX, super je to, dodele se pinovi, periferije, on generiše sve što treba, samo se popuni kod, ali mi se to ne sviđa, ne tera me da zađem dublje u arhitekturu mikrokontrolera. Naravno, mogu ja to da pročitam kad mi zatreba, ali mislim da se mnogo bolje uči kad to prođe kroz ruke. Kasnije mogu opušteno da pređem na gotove biblioteke ako bude potrebno, mislim da će tranzicija biti mnogo lakša. Šta mislite? RE: STM32 generic board - mikikg - 07-13-2017 @progster Pogledaj ovo, mozda ti posluzi, to su korisnicke biblioteke za ST32F4 bez HAL i CMSIS, ne znam da li ih ima za druge MCU, probao sam ih svojevremeno i dobro rade ... https://stm32f4-discovery.net/2014/05/all-stm32f429-libraries-at-one-place/ Moze da ti posluze kao primeri kako se treba to odraditi a verovatno i gro code-a mozes iskoristiti ... RE: STM32 generic board - Macola - 07-13-2017 (07-13-2017, 04:49 PM)progster Wrote: Da li vredi da se pišu biblioteke za periferije od 0, u cilju boljeg razumevanja rada periferije (da zanemarimo optimizaciju veličine programa itd.)? Moj čovek! Definitivno mi se najviše sviđa takva kontrola. Upravo se patim sa odvratnim HAL bibliotekama, da bih polako stigao do surovog bare metal za koji ti ponajviše treba samo stm32f1xx.h Nego, čak i ovaj maleni blue pill je "mečka" za 8 bit mcu i neuporedivo mu je veći broj registara i daleko složenije mogućnosti periferija. Kada dovoljno razgazim nizak nivo, Cube i dalje može poslužiti kao dobra alatka za pregled zauzetosti nekih periferija i pinova. Ipak je koristan alat. Skoro sam nešto razgovarao sa Bogdanom Kecmanom (naš član) i poslao mi je ovaj link o HAL lib. :-) https://www.ipetitions.com/petition/SPLReinstatement Vidim da ćemo lešo sarađivati sa novim iskustvima ovde. Već sam imao prvi problem oko uart1 na blue pill. Kada radi u ISR zakuca se posle oko 1.5mS, bez obzira na baudrate. Uart2 i 3 to ne rade. Verovatno ja negde grešim mada je to sve fino izgenerisao Cube :-). Probao sam u Keil5, U AC6(sw4stm32 pod eclipse), CoIDE V2 beta, sa hal lib, sa cmsis lib, sa ETR lib, a usart1 zakucava li zakucava. 5 dana se bakćem sa njim. Usart2 i 3 rade u bilo čemu od tog. Nešto verujem da je to blisko povezano sa nekim timeout koji je skriven negde a povezan sa proširenim pogućnostima uart1: LIN, CAN, DMA, IrDa, i još pun k.. toga... Lepo ćemo izgleda ovde sarađivati. Evo jednog linka kao to radi neki lik na niskom nivou: http://en.radzio.dxp.pl/stm32vldiscovery/ Pozz RE: STM32 generic board - progster - 07-13-2017 @Miki Hvala, ovo će dosta pomoći oko okvira za pisanje, a i može dosta stvari da se iskoristi. ![]() @Macola Drago mi je da delimo isto mišljenje. Meni je ovaj STM32 prvi MCU, ranije sam jedino malo radio sa Arduino, ali sam sad rešio da idem malo dublje. Motivacija mi je bila da napravim frequency counter/generator funkcija sa AD9850, verovatno da bih mogao da jednostavno iskopiram kod, ali hoću da izučim ovaj STM32 "u dušu", pošto su meni ovo uglavnom španska sela. I ja mislim da Cube može dosta da pomogne, ali kad stignem do ozbiljnijih projekata, trenutko ga koristim da vidim šta sve generiše, i šta je sve potrebno da se pokrene nešto. Planirao sam da idem periferiju po periferiju, da izučavam, i pišem biblioteku. Za UART1 nemam pojma, teško da ja tu mogu da pomognem, ali možda ima ko može. ![]() Hvala na linkovima. Pozdrav. ![]() RE: STM32 generic board - vojinilic - 07-14-2017 @Macola Maki, koju verziju CubeMX-a koristis? Pogledaj da li je posledjna i uradi update ako nije. Ja sam imao problem sa eksternim kristalom i nasao gresku u HAL-u. Svaki put kada mi CubeMX izgenerise kod, prebrise moji dodatak na HAL. Sto se tice licnih podesavanja, uvek sam za to. Pre 5 godina sam radio sa Stellaris-om. Sve sam rucno podesavao. Tada naucis sta stvarno znace 32bita i kompletnu arhitekturu mcu-a. Kao sto Macola rece, CubeMX je izuzetan alat za projektovanje seme i stampe jer direktno kaze gde se sta povezuje. Kod koji napravi ne tera programera da poznaje arhitekturu. RE: STM32 generic board - progster - 07-14-2017 Imam jedno jako glupo pitanje, nešto me zeza a ne vidim šta, do danas radilo sve kako treba, a sad neće: Code: int main() { ![]() Ja sam ubeđen da je ovo radilo kako treba juče, zar ne bi trebalo da se u prvih 16bit setuje vrednost, a u drugi 16 vrši reset? ![]() Evo isečka iz reference manual-a vezanog za CRH: A evo i BSRR: RE: STM32 generic board - Milan94 - 07-14-2017 Na tim Blue Pill plocicama sam primetio da dioda svetli samo u slucaju kada je pin PC13 postavljen na logickoj nuli a ukoliko je postavljen na 1 dioda je ugasena. RE: STM32 generic board - progster - 07-14-2017 Hvala Milane, ispostavilo se da je to. Znam da sam juče celog dana testirao biblioteku sa LED, i sve je radilo, danas me mrzelo da povezujem eksterni LED i reko da probam sa ovom njigovom, kad ono ništa ne radi kako treba. Sad povežem LED ono radi, tako da je to bio problem. Hvala. ![]() |