Re: AVR pořadí 16 bitových registrů

Pavel Hudeček edizon na seznam.cz
Úterý Prosinec 19 22:52:24 CET 2023


Nebo to nechat na překladači:-)
Tyhle problémy jsem řešil naposled tak před 20 lety, když jsem 
programoval v asm. Pro každé AVR je nějaký H soubor, tam jsou definice 
registrů, názvy zpravidla odpovídají těm v DS, včetně 16bitových jako 
celek. Jejich půlky jsem vlastně asi nikdy nepoužil.

Takže já prostě napíšu
TCA0.SINGLE.PER = F_CPUkor/1000;
a counter TCA0 v single módu má periodu 1 kHz
Jelikož F_CPUkor je něco kolem 20 milionů, tak do toho registru vložím 
něco kolem 20 tisíc.

Tohle je teda pro ATtiny816, ale na ATmega88 a podobnejch jsem to dělal 
taky tak.

PH

Dne 19.12.2023 v 22:21 Petr Labaj napsal(a):
> A co se podívat do zdrojáků nějakých knihoven, které se reálně používají?
>
> PL
>
> *********************
>
> Dne 19.12.2023 v 21:48 Petr Stehlik napsal(a):
>>
>> Hmm
>>
>> U TC1 v DS k 324PB se odvolávají na ten popis co jsem uvedl (8.6 
>> Accessing 16-bit Registers) a o pár řádku píšou
>>
>> Accessing the low byte triggers the 16-bit read or write operation: 
>> When the low byte of a 16-bit register is
>> written by the CPU, the high byte that is currently stored in TEMP 
>> and the low byte being written are both
>> copied into the 16-bit register in the same clock cycle. When the low 
>> byte of a 16-bit register is read by the CPU, the high byte of the 
>> 16-bit register is copied into the TEMP register in the same clock 
>> cycle as
>> the low byte is read, and must be read subsequently.
>>
>> Tak co platí?
>>
>> Díky Petr
>>
>> Dne 19.12.2023 v 21:28 Petr Stehlik napsal(a):
>>>
>>> Zdravím
>>>
>>> V DS u ATmega 328 a jiných je napsáno:
>>>
>>> For a write operation, the *high* byte of the 16-bit register must 
>>> be written before the*low* byte. The high
>>> byte is then written into the temporary register.
>>>
>>> V DS u ATmega 324PB a jiných je napsáno:
>>>
>>> For a write operation, the*low* byte of the 16-bit register must be 
>>> written before the *high* byte. The low byte
>>> is then written into the temporary register.
>>>
>>>  Nemám tu 324 fyzicky tak to nemohu ověřit,  je to chyba v DS nebo 
>>> je to nějaká změna ve struktuře AVR?
>>>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20231219/5762c0cf/attachment.htm>


Další informace o konferenci Hw-list