Re: STM32F427 nefukční HAL_Delay()

Jan Waclawek konfera na efton.sk
Pátek Duben 5 12:06:51 CEST 2024


Nepouzivajte HAL_Delay() v preruseni.

(Dovod: uwTick sa inkrementuje v preruseni od SysTicku, t.j. ak zostanete
trcat v preruseni ktore ma vyssiu alebo rovnaku prioritu ako SysTick
prerusenie, tak sa uwTick neinkrementuje. Z toho vyplyva aj to, ze mozete
pouzit HAL_Delay() v preruseni s nizsou prioritou nez SysTick prerusenie,
ale ak dodrzite tu uplne prvu vetu, tak to je automaticky zarucene a
netreba sa nad tymi prioritami zamyslat).

wek

PS. Ja osobne doporucujem Cube/HAL nepouzivat vobec. 
Viem to odovodnit, ale je to na dlhe rozpravanie, a je to tu mensinovy
nazor.



----- Original Message ---------------
>Zdravím,
>
>bojuji tu s měřící deskou osazenou STM32F427Z, bohuµel nějak mi to mrzne 
>ve funkci HAL_Delay, ze které se nikdy nevrátí.
>
>Do±el jsem postupně aµ k funkci HAL_GetTick, která čte volatile registr 
>uwTick, který je stále nula. Mám to vygenerované z CubeIDE, jen 
>jednoduchý kód o pár řádcích. Pravděpodobně problém v generování těch 
>SysTicků.
>
>Zkou±el jsem i nucleo F446, kde v±e funguje.
>
>Bohuµel od včera jsem se nepohnul, je tu spousta STM32 zdatných, tak 
>prosím o nakopnutí, na co se zaměřit, kde by mohl být problém. Já jsem 
>spí±e přes HW, firmweráře zatím nemaje, ale k rozchození HW bych 
>potřeboval nějaké části karty rozhýbat, ale zasekl jsem se hned na 
>začátku :-(
>
>Libor



Další informace o konferenci Hw-list