STM32F103 UART DMA

David Obdrzalek david.obdrzalek na mff.cuni.cz
Úterý Prosinec 26 13:46:26 CET 2023


Aha, Name mangling, tedy, zdá se. A zatuhne to proto, že to do té rutiny ani nevleze, myslím.
D. O. 

On December 26, 2023 1:00:12 PM GMT+01:00, Martin Locker <locker na vosrk.cz> wrote:
>
>Tak už se mi to podařilo rozjet. Někde jsem vygůglil, že je nutné přidat:
>extern "C" void DMA1_Channel6_IRQHandler(void);
>Sice nechápu proč, ale už to běží.
>
>Tak teď už jen vyřešit "zásadnější" problém. Jak se zachytit na začátek paketu.
>Zařízení (lidar) kontinuálně odesílá data po paketech začínajících 0x54 0x2C.
>Tak bych potřeboval odstartovat ten DMA přenos se začátkem packetu. 
>Abych po dokončení přenosu, měl vždy jeden celý packet.
>
>Martin Locker
>
>----- Původní zpráva -----
>Odesilatel: Jaroslav Buchta (jaroslav.buchta na hascomp.cz)
>Datum: 26/12/2023 12:13
>Příjemce: hw-list na list.hw.cz
>Předmět: Re: STM32F103 UART DMA
>
>Podival bych se, jestli neni nejaka zakernost v DigitalRead/Write v preruseni (nebo to rovnou nahradil)
>A jestli neni potreba nulovat neco dalsiho v ISR, ze by se to v preruseni zacyklilo...
>A nebo ladit v debuggeru.
>Dne 26.12.2023 v 12:08 Martin Locker napsal(a):
>>> tak to v obsluze přerušení zatuhne 
>
>>Odial viete, ze to zatuhne *v* obsluhe prerusenia?
>Po přijetí nastaveného počtu znaků se rozsvítí led, první příkaz v obsluze přerušení. 
>Z toho vyvozuji, že se do obsluhy přerušení skočí. 
>
>>Co presne znamena *zatuhne*?
>Periodický výpis běžící v hlavní smyčce po rozsvícení led už nepokračuje. 
>Když neposílám data (která by se přijala), tak periodický výpis běží.
>
>>Dalo by sa zbavit veci z toho arduina?
>Asi budu muset. To jsem použil abych nemusel ručně řešit ten seriák pro debug.
>Martin
>
>On 26 December 2023 10:34:47 CET, Martin Locker <locker na vosrk.cz> wrote:
>
>Zdravím a přeji krásné pohodové svátky.
>
>Zbylo mi i trochu času, a tak jsem si zase začal hrát s STM32, ale trochu jsem se zasekl.
>Řeším příjem dat na Uartu, chtěl jsem to vyzkoušet přes DMA. Vypadá to, že to funguje, ale
>pokud nechám generovat přerušení na konci přenosu, tak to v obsluze přerušení zatuhne 
>(mám tam pro test rozsvícení led, jednou se do obsluhy IRQ skočí).
>Když to nechám bez přerušení a testuji pouze příznak dokončení DMA přenosu, tak to běží.
>
>Pokud by se někdo také "nudil", tak zdroják je:
>https://robotika.vosrk.cz/_soubory/main.cpp
>
>Díky za případné nakopnutí (správným směrem).
>
>Martin Locker
>
>
>_______________________________________________
>HW-list mailing list  -  sponsored by www.HW.cz
>Hw-list na list.hw.cz
>http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
>_______________________________________________
>HW-list mailing list  -  sponsored by www.HW.czHw-list na list.hw.czhttp://list.hw.cz/mailman/listinfo/hw-list
>
>
>_______________________________________________
>HW-list mailing list  -  sponsored by www.HW.cz
>Hw-list na list.hw.cz
>http://list.hw.cz/mailman/listinfo/hw-list
>



Další informace o konferenci Hw-list