RE: Programování STM32

Jan Waclawek konfera na efton.sk
Neděle Září 29 15:59:01 CEST 2019


Zakladny blinky zacnite s tym, ze pouzijete defaultne HSI hodiny ako
systemove - t.j. ziadne HSE a ziadne PLL; nepouzijete ziadne prerusenie
ani ziadnu funkciu typu HAL_Delay(). Napisete si vlastny loopdelay a
blikate. Alebo bez delaya, ak mate osciloskop/LA na prislusnom pine.

Este lepsie je mat program co nerobi vobec nic (prazdna slucka v main()), a
rovno v debuggeri si skusite manipulaciu s GPIO registrami podla RM. V
principe treba zapnut hodiny prislusnemu GPIO v RCC; potom nastavit v
registri GPIO_MODER mod GPIO Out (toto je v 'F1 ine ako inde a ja to
neovladam a ani nechcem ovladat, ale nie je to nic co sa neda zvladnut po
precitani si prislusnej kapitoly a popisu registra), no a potom sa uz len
hra s registrom GPIO_ODR a sleduje blikanie. Dalsi krok je hrat sa s
registrom GPIO_BSRR; no a potom si na to napisete program co to bude robit
za Vas. 

Toto je podla mna najlepsi sposob ako zacat s mcu v dnesnej dobe. A to su
zhodou okolnosti aj prve kroky k tomu aby ste neboli zavisly na klikatore
a na nejakych "knizniciach". Ale na toto pochopitelne ma kazdy iny nazor.

> Ještì jsem se chtìl zeptat, jestli správnì chápu, tak ty programovací piny (SWD) SWDIO/SLCKL lze využívat nìjak jako debug uart?
> Mohu do nìj z programu pøímo nìco posílat? V SYS jsem nastavil Debug: seriál wire. Spíše mi jde o to, jak do nìj nìco poslat z programu pokud to vùbec jde.

Ako pan kolega Buchta poznamenal, nie, je to treti pin, vola sa SWO.
Neprezradili ste nam, ktory STM32 tentokrat pouzivate, ale ak je to stale
ten STM32F103CBT6 co ste spominali v inych postoch, tak je to pin PB3
(TRACESWO). Jeho pouzitie nie je prilis dobre popisane v RM, pretoze je to
komponenta z procesora ktora je popisana v ARM dokumentoch (a tie su
priserne). Nakoniec to nie je ziadny zazrak, ale ako pan kolega pise,
pouzit UART je priamociarejsie, ak ste uz kamarat s periferiami STM32. V
klikacich prostrediach niekedy byva predzuty tzv. semihosting, v ramci
ktoreho je potom zaveseny alebo zavesitelny printf() na ten SWO; ale
klikacie prostredia nie su moja parketa.

wek



----- Original Message ---------------

Subject: RE: Programování STM32
   From: <cizek.milan at seznam.cz>
   Date: Sun, 29 Sep 2019 14:31:42 +0200
     To: "'HW-news'" <hw-list at list.hw.cz>

Ahoj,

tak mam první program (vygenerováno z MX) + doplnìné knihovny a nìco málo
dopsáno.
Po nahrání pøes STLINK do STM32 mi to ale nedìlá vùbec nic, ani GPIO
nereagují na on/off.
HW je v poøádku, nìjaká základní vìc nám s ArdunoIDE fungovala, ale po
pøechodu na CubeIDE zatím ne.
Jsou tam oba ext. krystaly...v tom MX mam u RCC HSE+LSE "crystal/ceramic
resonator", což by mìlo být ok.
Spíš jestli v tom procesu programování nìkde nedìláme chybu, po nahrání
zùstane STLINK blikat...
Ale ani po odpojení a restartu procesoru nic. Breakpointy v projektu žádné
nejsou.
https://snipboard.io/nZREfW.jpg

Ještì jsem se chtìl zeptat, jestli správnì chápu, tak ty programovací piny
(SWD) SWDIO/SLCKL lze využívat nìjak jako debug uart?
Mohu do nìj z programu pøímo nìco posílat? V SYS jsem nastavil Debug:
seriál wire. Spíše mi jde o to, jak do nìj nìco poslat z programu pokud to
vùbec jde.
Nikde ve vygenerovaném kódu nevidím nìco, pøes co bych na to mohl šahat
(možná pøehlížím).

Mám dojem, ež až rozchodíme alespoò tu blikající ledku, tak už to pùjde
lépe, ale zatím to drhne. :-)
Jinak pull-up/down nikde nepoužívám, ale nezapínají je nikde v tutoriálech,
tak tím by to také být nemìlo.

M.




Další informace o konferenci Hw-list