[elektro] TMR1H-TMR1L olvasás kérdés
ztibi
ztibi2 at t-online.hu
Tue Mar 10 20:01:34 CET 2020
SZia
16F876-esetében sajnos nincs
a T1CON-ban RD16 bit
:-(
Idézet (Skandar Graun <sgraun at gmail.com>):>>
> Hogyne lenne...
>
> Timer1 can be configured for 16-bit reads and writes (see Figure 12-2).
> When the RD16 control bit (T1CON register) is set, the address for TMR1H is
> mapped to a buffer register for the high byte of Timer1. A read from TMR1L
> will load the contents of the high byte of Timer1 into the Timer1 High Byte
> Buffer register. This provides the user with the ability to accurately read
> all 16 bits of Timer1 without having to determine whether a read of the
> high byte, followed by a read of the low byte, is valid due to a rollover
> between reads. A write to the high byte of Timer1 must also take place
> through the TMR1H Buffer register. Timer1 high byte is updated with the
> contents of TMR1H when a write occurs to TMR1L. This allows a user to write
> all 16 bits to both the high and low bytes of Timer1 at once. The high byte
> of Timer1 is not directly readable or writable in this mode. All reads and
> writes must take place through the Timer1 High Byte Buffer register. Writes
> to TMR1H do not clear the Timer1 prescaler. The prescaler is only cleared
> on writes to TMR1L.
>
> ztibi <ztibi2 at t-online.hu> ezt írta (időpont: 2020. márc. 10., K, 7:35):
>
>> 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
>> -----------------------------------------
>> elektro[-flame|-etc]
>
> ----------------------------------------- elektro[-flame|-etc]
--
Ztibi
More information about the Elektro
mailing list