STM32F103 UART DMA

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Úterý Prosinec 26 13:05:02 CET 2023


No to bude tim, ze je to cpp a funkce musi byt pojmenovana podle "C"

Prijem pres DMA moc nejde, pokud to neni pevne dany pocet B.
Ja si delam kruhovy buffer, preruseni v pulce a celem rozsahu a navic to 
ocmuchavam periodicky, znaky postupne stavovym automatem zpracovavam, 
jak prichazeji.

Dne 26.12.2023 v 13:00 Martin Locker napsal(a):
> 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 <http://www.HW.cz>
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored bywww.HW.czHw-list na list.hw.czhttp://list.hw.cz/mailman/listinfo/hw-list
>
>
> ------------------------------------------------------------------------
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz <http://www.HW.cz>
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
> _______________________________________________
> HW-list mailing list  -  sponsored bywww.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20231226/79776028/attachment.htm>


Další informace o konferenci Hw-list