02-04-2018, 02:43 PM (This post was last modified: 02-04-2018, 03:15 PM by gorankg.)
Staviću ovde par osnovnih primera koda generisanog kroz CubeMX i to za STM32F103C8 koji se nalazi na Blue Pill jeftinoj pločici malog formata. Primeri tog tipa mogu se naći u svakom STM32Cube paketu. Nisam našao dovoljno primera za CubeMX koji je po meni dobar alat pa sam zato krenuo da pravim svoje iz početka.
Prvi primer je klasični gpio.
BUTTON je na PB5 a LED2 je na PC13 i nalazi se na samoj pločici. BUTTON pin je definisan kao ulazni sa internim pul up otpornikom. LED2 je definisan kao izlazni open drain zbog načina na koji je vezena ova LED na pločici. Eksterni oscilator mi iz nekog razloga ne radi (radi na drugim pločicama ali na ovoj neće) pa sam definisao interni od 8MHz kao glavni takt.
Spoljni prekid na PB5. U CubeMX definisan BUTTON -> EXTI on falling edege + pull up na PB5. U podešavanjima za NVIC omogućen EXTI.
Fajl hw.c i hw.h je prilagođena varijanta BSP fajla za neku Nucleo pločicu. Hteo sam da svi primeri budu na foru ST primera.
02-04-2018, 04:34 PM (This post was last modified: 02-04-2018, 04:35 PM by gorankg.)
Primer sa ADC. Potenciometar na PA1. Zanimljiva ST aplikacija je STMStudio za koju nisam ranije znao
Povučete iz elf fajla promenljive koje želite i možete da ih online kroz SWD posmatrate u formi tabele ili grafika. Jednostavna aplikacija a prilično korisna.
Vin na pinu PA1 sam tako posmatrao dok obrćem potenciometar.
Glupi USART primer sa slanjem znakovnog niza na PC. Parametri 9600,8N1. Printf funkcija preusmerena na USART.
Glavna prednost ovog paketa je što se lako generiše tona koda koju bi inače trebalo kucati. Periferiju konfigurišete vrlo lako kroz CubeMX stim da treba voditi računa. Greške sam uglavnom imao jer ne poznajem paket pa sam eksperimentisao. Sve što je podešeno u primerima je izniklo iz tih proba pa se nadam da će koristiti nekome.
02-05-2018, 11:26 AM (This post was last modified: 02-05-2018, 11:30 AM by gorankg.)
Ovde je samo CubeMX ioc fajl za RTC + OLED (SSD1306 displej) koji je vezan na I2C port. Blue Pill ima na sebi 32,768KHz oscilator tako da se samo doda OLED na I2C linije. Ovaj model OLED ima na sebi pull up otpornike na I2C linijama
.
Iz rtc+i2c.ioc fajla generiše se HAL kod, doda se drajver za ssd1306 i fontovi pa igra može da počne.
Ceo projekat za STM32F4 familiju možete da vidite na:
Nemam primer ali mi je u planu i to da probam. Imam STM32F4 i STM32F3 Discovery pa bih na njima to da probam. Pokušavao sam da prepravim neki ST-ov primer za druge ploče i to nikako nije išlo. Verovatno ja imam pogrešan pritup jer svuda stoji da je to lako a ja ni makac. Verujem da ću ubrzo i to da imam kao primer.
02-10-2018, 11:09 PM (This post was last modified: 02-10-2018, 11:09 PM by gorankg.)
Pokušavao sam da na STM32F4 Discovery vežem 320x240 LCD sa ILI9325 drajverom a da u celu priču ubacim i STemWIN. Bezuspešno, jer sam u startu prevideo totalno očiglednu stvar a to je da mi STM32F407, koji je na Discovery pločici, ima manje RAM-a nego što zahteva STemWIN a to je Rezolucija X Bajtova_Po_Pixelu! Izgubih silno vreme a MCU se sve vreme zakucavao u nekom HardFaultHendler-u.
Dakle, ili SRAM na pločici ili STM sa više RAM-a ako hoćete STemWIN.
atollic studio ima opciju da se instalira cubemx kao plugin sto deluje zanimljivo,
medjutim kod mene to ne radi, odnosno crash-uje atollic kada pokusam da pokrenem taj plugin
samo da napomenem da radim na linuxu tako da cete vi mozda imati vise uspeha, kod mene rade kao zasebni programi
cubemx mi deluje jako dobro, a ni atollic nije los, mada za sad nemam pojma ni kako da isprogramiram bilo sta,
gledacu primere i procitacu par knjiga pa cemo da vidimo
Ja nisam ni probao da ga dodam kao plugin jer mi radi odvojeno sasvim OK.
Što se tiče CubeMX, STemWin i LCD displeja uradio sam jedan primer za jednostavan GUI sa par button-a i sličnih zezalica. Ostaje da dodam touch screen a to mi još uvek ne radi. Nemam ni nešto previše vremena ali ću dodati ovde kad završim.
Znaci mi da pogledam kako je konfigurisan ETH interface, nesto me oko toga muci, imam FreeRTOS koji blinka neku LED ali mi ETH nesto nije dobro podesen.
U primeru je samo napravljem TCP send na server, ništa nije testirano duže u eksploataciji. Par sati rada i test. To je to. Zanimalo me je koliko se lako koristi, s obzirom da sam ranije
navikao na Microchip TCP stek koji je izvanredan.