<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p><font face="Arial">Moc děkuji za ochotu</font><br>
</p>
<pre class="moz-signature" cols="72">Martin Záruba</pre>
<div class="moz-cite-prefix">Dne 8.10.2023 v 20:34 Jan Waclawek
napsal(a):<br>
</div>
<blockquote type="cite"
cite="mid:PC19932023100820342804455195edd9@wekovci">
<pre class="moz-quote-pre" wrap="">[preposielam]
Ahoj,
</pre>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">
</pre>
</blockquote>
</blockquote>
</blockquote>
<pre class="moz-quote-pre" wrap="">
Můžete mi prosím někdo napstat jak se přeloží v C++ na AtMega
byte b1,x;
if(b1==x){PORTA &=0xFE;};
popřípadě zda se dá vymyslet *časově* úspornější zápis pro shození bitu?
Přerušení je po tu dobu zakázané. Příkazů if bude v přerušení celkem 24
a potřebuji přerušení vyvolat dost často, tak aby vůbec ještě nějaký čas
procesoru zbyl.
</pre>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">
</pre>
</blockquote>
</blockquote>
</blockquote>
<pre class="moz-quote-pre" wrap="">
Moj rucny asm-kod za predpokladu, ze bude funkcny, vysiel nasledovne:
; byte b1,x;
; if(b1==x){PORTA &=0xFE;};
LDS Rx, ADR_b1
LDS Ry, ADR_x
CPSE Rx, Ry
RJMP L1:
CBI PORTA,0
L1:
24 x 5 = 120 instrukcii, plus nejaky overload tej rutiny, to je cca
130instrukcii. Kolko to zaberie casu, zalezi na frekvencii oscilatora.
To uz musite ale doriesit Vy.
A.
_______________________________________________
HW-list mailing list - sponsored by <a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a>
<a class="moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a>
<a class="moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
</blockquote>
</body>
</html>