[elektro] STM32L15xx TIM10, 11 external clock
hg12345
hg12345 at freemail.hu
Thu Mar 31 19:33:46 CEST 2016
Kis sebességű impulzus számlálás,
nyugodtan használhatod magasabb szintű IT-vel mint a USART kezelést, egy increment olyan gyorsan lefut, hogy észre se veszed, még ha IT-be vagy akkor se sok. (ha minden végrehajt 2x12 utasítás ez a push és pop, de ez már tartalamazza R0...R3 regiszterek és R12...R15 mentését helyreállítását is, plusz a utasítás végrehajtás, ami egy egyszerű increment esetén nem több 5 utasítás ez mindent egybevéve max. 30 utasításnyi idő, 16MHz esetén 500Kbs USART kommunikációnál még nem vehető észre a lassulás, 1 bit időn belül van az IT!
Ha nagyon számít az IDŐ, akkor használj DMA-t az USART-ra, ram-ba olvasod az üzenete és ram-ból söpröd ki... Ez az átvitel idejére nem használ uC utasítást időt.
Amúgy minek kikapcsolni vétel esetén az IT-t, ha nem használsz DMA-t akkor is van egy buffer, amíg azt feldolgozod, addig tölti a másik közvetlen regisztert. Ha ennyire fontos a uC foglaltság, akkor PING-PONG DMA buffert kell használni, pl: 4+4 byte vett adatokkal, amíg megtölti az első 4 byteot ad egy IT és feldolgozott a vett adatokat, addig tölti a másik felét a buffernek, és ez így tovább.
Ezek a feladatok 4MHz PIC szerű 8 bitesnek se probléma, erről az uC nem is beszélve.
Végszükség esetén, DMA-val is lehet számolni, ha beállítod, hogy RAM-RAM-ba másoljon egy trigger hatására és a másolások számát kitudod olvasni a regiszterből, 16bites számláló regiszter van a DMA-ban.
"uprogc ." <uprogc at gmail.com> írta:
>Impulzus szamlalas, nem tul nagy frekvencia. (Pontosan meg nem tudom
>mekkora)
>Usart-on kuldi tovabb az adatokat. Mivel a usart (es a tobbi resze a
>kodnak) idokozonkent adott idore lefoglalja a procit, gondoltam hogy HW-es
>timert hasznalok a szamlalashoz.
>
>Ext IT sem jobb, mert a usart rx-nel ki vannak kapcsolva az IT-k.
>Polling GPIO pin modszer jo, ha elegge alacsony frekvenciaju az adott
>impulzus.
>
>Udv.
>Szabi
>
>2016-03-31 17:59 GMT+03:00 hg12345 <hg12345 at freemail.hu>:
>
>> Két kérdés
>> -mire szeretnéd használni, látom ez egy alacsony fogyasztású eszköz, nem
>> mindegy mit hol vezetsz bele, hátha van SW megoldás is
>>
>> - próbáld ki a STMCubo-t ez lehozza neked, L1 összes file-t, és a demókat
>> is. A demók között találsz egy halom minta példát, ezt egy kicsit átírva
>> lehet, hogy megleled a megoldást
>>
>> ( a kevesebb néha több)))
>>
>>
>>
>> "uprogc ." <uprogc at gmail.com> írta:
>> >Szia.
>> >
>> >Koszi.
>> >Lattam en hogy nem egyszeru:)
>> >Kerdes hogy mukodhet-e egyaltalan, vagy javittassam ki a panel tervet.
>> >
>> >Udv.
>> >Szabi
>> >
>> >
>> >2016-03-31 17:36 GMT+03:00 hg12345 <hg12345 at freemail.hu>:
>> >
>> >> Ha lehet valami értelmetlen akkor ez az :-(
>> >> Trigger módban kell alkalmazni a timert, és ETR bemeneten keresztel
>> lehet
>> >> a külső forrást csatlakoztatni.
>> >> A forrás valamelyik CH1 láb lehet ezt az portlábak AF3 listájában
>> találod,
>> >> hogy még izgalmasabb legyen átmeppelhető a TMR9_ETR-je is, de ez csak
>> >> megfelelő lábszám esetén.
>> >>
>> >> Ne biz bennem ilyet még soha nem csináltam....
>> >>
>> >> - TSMCube se adott megoldást
>> >>
>> >> - Talán jobban jársz ha rábizod magadat a STM HAL-jára, azt fel
>> >> paraméterezve valószínűleg megkapod a megoldást, és ha nem használod
>> ezt a
>> >> csodát akkor generált regiszter konstansokat átemeled a saját
>> programodba.
>> >> :-()
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> "uprogc ." <uprogc at gmail.com> írta:
>> >> >Sziasztok !
>> >> >
>> >> >Hol talalom hogy melyik GPIO mappelheto a TIM10, 11 -re mint external
>> >> clock
>> >> >?
>> >> >Valahogy nem talalom a RM0038 doskiban.
>> >> >
>> >> >Koszonettel,
>> >> >Szabi
>> >> >-----------------------------------------
>> >> > elektro[-flame|-etc]
>> >> >
>> >>
>> >> -----------------------------------------
>> >> elektro[-flame|-etc]
>> >-----------------------------------------
>> > elektro[-flame|-etc]
>>
>> -----------------------------------------
>> elektro[-flame|-etc]
>>
>-----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list