STM32F103 UART DMA

David Obdrzalek david.obdrzalek na mff.cuni.cz
Úterý Prosinec 26 14:44:03 CET 2023


(a místo toho to vleze do nějaké generické BAD_IRQ nebo tak, a ta bude úmyslné while(1);) 

On December 26, 2023 1:46:26 PM GMT+01:00, David Obdrzalek <david.obdrzalek na mff.cuni.cz> wrote:
>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