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