[elektro] TMR1H-TMR1L olvasás kérdés

ztibi ztibi2 at t-online.hu
Tue Mar 10 07:35:05 CET 2020


  SZia

Köszi.
PIC-nél nincs átmeneti puffer, külön olvasandó és irandó a két fele
A kérdés inkább arra vonatkozott volna, hogy amig olvasom(írom), ha  
azidő alatt jön egy léptető impulzus, és arról "lemarad" , főleg a  
felső felénél lehet nagyobb hiba emiatt.

Idézet (Stolmár Tamás <knight at borsodi.qualitis.hu>):>>

> Sziasztok!
>
> PIC-et nem ismerem, de ATMEGA-nál a következőképpen van:
>  ha az egyik felét olvasod, azzal egyidőben a másik felét átmenti  
> egy transzparens pufferbe, így az a következő utasításban  
> kiolvasható. Puffer csak az egyik felének van, így nem mindegy  
> melyikkel kezded. (Azért nem tudom, hogy a low vagy a high byte-tal  
> kell kezdeni, mert egyrészt az avr-gcc helyesen csinálja (nem tudom  
> elrontani), és amúgy is le van írva a leírásban, pédakóddal, ha kell  
> inkább mindig megnézem.)
>
> Így nem kell a timer-t a kiolvasás alatt letiltani.
>
> Üdv, Tamás
>
> On 3/8/20 7:52 PM, ztibi wrote:
>>  SZia
>> Mehet a Timer1 szinkron és aszinkron üzemmódban.
>> Mivel a Timer1 léptető jele független a proc. működtető órajelétől,  
>> így a kiolvasás vagy írás pillanatában ha éppen jött egy léptető  
>> imp. a Timer1-nek, lehetséges, hogy nem hajtódik végre az  
>> inkrementálás?
>> Ez a Timer1 felső byte-jánál jelenthet nagyobb gondot, ha a felső  
>> olvasása pillanatában jön egy átvitel az alsó felétől.
>> Ha az nem hajtódik végre, akkor 256 órajelnyit veszítettem el. :-(
>>
>> Lajos válaszában írt linket olvasva, állítsam le a Timer-t. Így max  
>> 1 órajelet veszíthetek.
>> De ha szinkron módban megy, az pont ezt az 1-et is kiküszöböli?
>> köszi mindkettőtöknek
>>
>> Idézet (Nemeth Tibor <nemeth.tibor798 at t-online.hu>):>>
>>
>>> Hali!
>>>
>>> Nem tudom mit értesz ütközésen és a szinkronizált mód jelentését  
>>> sem ismerem de hasonló problémát úgy szoktam megoldani, hogy:
>>> A) beolvasom és TMR1H értékét
>>> B) eltárolom a beolvasott értéket majd
>>> C) beolvasom TMR1L értékét és
>>> D) újra beolvasom TMR1H-t és
>>> E) összehasonlítom az előzőleg eltárolt értékkel.
>>> Ha egyezik készen vagyok, ha nem akkor újra  B) ponttól.
>>>
>>> Üdv.
>>>                Németh Tibor
>>>
>>> 2020.03.08. 17:10 keltezéssel, ztibi írta:
>>>>  SZiasztok
>>>>
>>>> PIC16XX esetében, T1OSC 32kHz-en működve, szerintetek okozhat-e  
>>>> valami ütközést,
>>>> ha a TMR1H regiszter olvasása/írása közben éppen jött egy léptető  imp?
>>>> Vagy a szinkronizált mód pont ezt küszöböli ki?
>>>> Köszi előre is:
>>>
>>> ----------------------------------------- elektro[-flame|-etc]
>
> -----------------------------------------        elektro[-flame|-etc]
-- 
Ztibi


More information about the Elektro mailing list