<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
Nebo to nechat na překladači:-)<br>
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.<br>
<br>
Takže já prostě napíšu<br>
TCA0.SINGLE.PER = F_CPUkor/1000;<br>
a counter TCA0 v single módu má periodu 1 kHz<br>
Jelikož F_CPUkor je něco kolem 20 milionů, tak do toho registru
vložím něco kolem 20 tisíc.<br>
<br>
Tohle je teda pro ATtiny816, ale na ATmega88 a podobnejch jsem to
dělal taky tak.<br>
<br>
PH<br>
<br>
<div class="moz-cite-prefix">Dne 19.12.2023 v 22:21 Petr Labaj
napsal(a):<br>
</div>
<blockquote type="cite"
cite="mid:1e68044f-ce26-552b-6093-7a2062c272aa@volny.cz">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
A co se podívat do zdrojáků nějakých knihoven, které se reálně
používají?<br>
<br>
PL<br>
<br>
*********************<br>
<br>
<div class="moz-cite-prefix">Dne 19.12.2023 v 21:48 Petr Stehlik
napsal(a):<br>
</div>
<blockquote type="cite"
cite="mid:cc7d73c5-d035-4c1d-8a55-ec2f35266a16@atlas.cz">
<meta http-equiv="Content-Type"
content="text/html; charset=UTF-8">
<p>Hmm</p>
<p>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 <br>
</p>
<p>Accessing the low byte triggers the 16-bit read or write
operation: When the low byte of a 16-bit register is<br>
written by the CPU, the high byte that is currently stored in
TEMP and the low byte being written are both<br>
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<br>
the low byte is read, and must be read subsequently.<br>
</p>
<p>Tak co platí?</p>
<p>Díky Petr<br>
</p>
<div class="moz-cite-prefix">Dne 19.12.2023 v 21:28 Petr Stehlik
napsal(a):<br>
</div>
<blockquote type="cite"
cite="mid:c3176d37-ef12-4bc2-9c12-146c53302413@atlas.cz">
<meta http-equiv="content-type"
content="text/html; charset=UTF-8">
<p>Zdravím</p>
<p>V DS u ATmega 328 a jiných je napsáno:</p>
<p>For a write operation, the <b>high</b> byte of the 16-bit
register must be written before the<b> low</b> byte. The
high<br>
byte is then written into the temporary register.</p>
<p>V DS u ATmega 324PB a jiných je napsáno:</p>
<p>For a write operation, the<b> low</b> byte of the 16-bit
register must be written before the <b>high</b> byte. The
low byte<br>
is then written into the temporary register.</p>
<p> 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?</p>
</blockquote>
</blockquote>
</blockquote>
</body>
</html>