STM32Cube a pooled/IRQ/DMA operace

Petr Labaj labaj na volny.cz
Neděle Květen 20 18:08:19 CEST 2018


Jen úplně obecná odpověď, protože nepoužívám ani HAL (píšu rovnou do 
registrů)
a skoro vůbec ani I2C.

Kdysi jsem nadával dost sprostě proto, že pokud se nějaká periferie 
obsluhuje přes
DMA, tak už se nedal použít na dané periferii IRQ od příjmu znaku.
Tehdy jsem to řešil myslím na STM32F1 a bylo to na UARTu.

PL

*************************

Dne 20.5.2018 v 18:00 Marek Sembol napsal(a):
> Zdravim,
> zacal jsem si hrat s STM32, pouzivam (minimalne zatim) projekt 
> vygenerovany STM32CubeMX, HAL drivery.
>
> Otazku smeruji na I2C, ale predpokladam, ze to plati pro vsechny 
> periferie.
> Hraji si s STM32F407, ale predpokladam, ze to plati pro vsechny STM32Fxxx)
>
> Zajimalo by mne, zda mohu kombinovat pooled/IRQ/DMA operace pro jednu 
> periferii (napr I2C1) V dokumentaci jsem nic rozumneho nenasel (ale 
> nerikam, ze to tam neni, mozna jen neumim hledat) Rekneme, ze 
> "naklikam" I2C kanal pro DMA transfer. Pak mohu pouzit funkci 
> HAL_I2C_Master_Transmit_DMA. Mohu pouzit i "pouze IRQ" verzi 
> HAL_I2C_Master_Transmit_IT pripadne poolovanou HAL_I2C_Master_Transmit?
>
> A druha vec: vcera jsem hodne casu stravil nez se mi podarilo I2C DMA 
> prenosy rozjet. Problem byl v tom, ze pri nastaveni DMA STM32CubeMX 
> vynuti irq pro DMA (a ten nejde ani vypnout), ne vsak pro samotny I2C. 
> Delam neco spatne a ty I2C preruseni nemusim zapinat, nebo je to 
> nedopatreni v STM32CubeMX, ze je taky nevynuti?
>
> predem diky,
> Marek
>



Další informace o konferenci Hw-list