<div dir="ltr">Ano, zkoušel jsem jak bitově posouvat tu proměnnou a maskovat jedním bitem , tak jsem zkoušel posouvat jednobitovou masku. Vypadá to ,že problém byl v tom přerušení. Teď jen doladit ,aby mi to dávalo na masteru 0xAAA a ne 0x555. (:::: Ale to už zvládnu správným nastavením toho ukazovátka v bitRead();<div> <br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Zdravi<br>Jirka Sloupenský OK1MWW</div></div><br></div></div><div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br><table style="border-top:1px solid #d3d4de"><tr><td style="width:55px;padding-top:13px"><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" target="_blank"><img src="https://s-install.avcdn.net/ipm/preview/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif" alt="" width="46" height="29" style="width: 46px; height: 29px;"></a></td><td style="width:470px;padding-top:12px;color:#41424e;font-size:13px;font-family:Arial,Helvetica,sans-serif;line-height:18px">Neobsahuje žádné viry.<a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" target="_blank" style="color:#4453ea">www.avast.com</a></td></tr></table><a href="#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1"></a></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">po 29. 1. 2024 v 14:45 odesílatel Martin Záruba <<a href="mailto:swz@volny.cz">swz@volny.cz</a>> napsal:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p><font face="Arial">Hm. Ale přece operace bitový posun + and je
tak primitivní, že si nedovedu vůbec představit, jaké funkce by
měla potřebovat. Zkusil jste to?</font><br>
</p>
<pre cols="72">Martin Záruba</pre>
<div>Dne 29.1.2024 v 14:41 Jirka Mww
napsal(a):<br>
</div>
<blockquote type="cite">
<div dir="ltr">Dobrý den,
<div>zkoušel jsem vyseparovat jednotlivé bity různými způsoby,
ale bezúspěšně. Teď jsem ale dal povolení přerušení sei();
hned na začátek té přerušovací rutiny a ne až na konec a zdá
se, že to začíná fungovat.</div>
<div>Asi jsem tím přerušením blokoval nějaké funkce Arduina, i
když nevím jaké.....</div>
<div> <br>
<div>
<div><br>
</div>
<div><br clear="all">
<div>
<div dir="ltr" class="gmail_signature">Zdravi<br>
Jirka Sloupenský OK1MWW</div>
</div>
<br>
</div>
</div>
</div>
</div>
<div id="m_-549116064521500286DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br>
<table style="border-top:1px solid rgb(211,212,222)">
<tbody>
<tr>
<td style="width:55px;padding-top:13px"><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" target="_blank"><img src="https://s-install.avcdn.net/ipm/preview/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif" alt="" style="width: 46px; height: 29px;" width="46" height="29"></a></td>
<td style="width:470px;padding-top:12px;color:rgb(65,66,78);font-size:13px;font-family:Arial,Helvetica,sans-serif;line-height:18px">Neobsahuje
žádné viry.<a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" style="color:rgb(68,83,234)" target="_blank">www.avast.com</a></td>
</tr>
</tbody>
</table>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">po 29. 1. 2024 v 14:34
odesílatel Martin Záruba <<a href="mailto:swz@volny.cz" target="_blank">swz@volny.cz</a>>
napsal:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p><font face="Arial">Pokud se nemýlím, tak obě verze se
liší jen použitím bitRead. Zkuste místo toho napsat
posun TEST1 vpravo o R-1 + and 1</font><br>
</p>
<pre cols="72">Martin Záruba</pre>
<div>Dne 29.1.2024 v 14:07 Jirka Mww napsal(a):<br>
</div>
<blockquote type="cite">
<div dir="ltr">Dobrý den,
<div><br>
</div>
<div>tak jsem se k tomu zase dostal, dole je zdrojovy
kod té přerušovací rutiny. K tomu jen pár vysvětlení
:</div>
<div>Celé to má sloužit k imitaci snímače absolutního
úhlu , je to spouštěné sestupnou hranou CS ( žlutá) ,
CLKEXT ( fialová) , jsou hodiny generované
nadřízeným systémem, DOEXT je výstup s daty, měla by
se přenést proměnná TEST1. </div>
<div>V hlavní smyčce programu je aktuálně jen delay
(100), jinak se tam nic nedělá</div>
<div>Proměnná TEST1 se v přerušovací rutině opakovaně
plní 0xAAA, takže riziko, že ji nějak přepíše něco v
hlavní smyčce je snad nulové</div>
<div>Když ten řádek, kde se zapisuje , tj. <span style="color:rgb(78,91,97);font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap"> </span><span style="font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap;color:rgb(211,84,0)">digitalWrite</span><span style="color:rgb(78,91,97);font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap"> </span><span style="font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap;color:rgb(67,79,84)">(</span><span style="color:rgb(78,91,97);font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap">DOEXT,</span><span style="font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap;color:rgb(211,84,0)">bitRead</span><span style="font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap;color:rgb(67,79,84)">(</span><span style="color:rgb(78,91,97);font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap">TEST1,R</span><span style="font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap;color:rgb(67,79,84)">))</span><span style="color:rgb(78,91,97);font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap">; nahradím tím, co je v komentáři ( XREF= !XREF atd...), tj. jen reverzací proměnné XREF</span></div>
<div><span style="color:rgb(78,91,97);font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap">tak to dává data dle obrázku v příloze - žlutá je CS, od toho je to přerušení, fialová jsou hodiny - oboje generované nadřízeným systémem</span></div>
<div><span style="color:rgb(78,91,97);font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap">Modrá jsou data - tak nějak bych si to představoval , že by to mělo vypadat</span></div>
<div>Na všech třech drátech mám osciloskop - viz
přiložený obrázek </div>
<div>Když to pustím po resetu s tím digitalWrite<span style="font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap;color:rgb(67,79,84)">(</span><span style="color:rgb(78,91,97);font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap">DOEXT,</span><span style="font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap;color:rgb(211,84,0)">bitRead</span><span style="font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap;color:rgb(67,79,84)">(</span><span style="color:rgb(78,91,97);font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap">TEST1,R</span><span style="font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap;color:rgb(67,79,84)">))</span><span style="color:rgb(78,91,97);font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap">; tak mi na osciloskopu nějaká data jednou probliknou, ani nejsou celá, a pak ten výstup DOEXT ( modrý ) zůstane trvale v nule.</span></div>
<div><span style="color:rgb(78,91,97);font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap">
</span></div>
<div><br>
</div>
<div><br>
</div>
<div>
<div style="color:rgb(78,91,97);font-family:Consolas,"Courier New",monospace;font-size:14px;line-height:19px;white-space:pre-wrap"><div><span style="color:rgb(149,165,166)"> /* RUTINA PRo VYSTUP DAT */</span></div><div> <span style="color:rgb(0,151,157)">void</span> <span style="color:rgb(211,84,0)">DataOut</span><span style="color:rgb(67,79,84)">()</span> <span style="color:rgb(67,79,84)">{</span></div><div><span style="color:rgb(149,165,166)"> // cli(); // disable global interrupts</span></div><div> <span style="color:rgb(0,151,157)">volatile</span> byte K;<span style="color:rgb(149,165,166)"> // pocitadlo pro hodiny</span></div><div> <span style="color:rgb(0,151,157)">volatile</span> byte R;<span style="color:rgb(149,165,166)"> // pocitadlo pro vystup bitu</span></div><div> <span style="color:rgb(0,151,157)">volatile</span> <span style="color:rgb(0,151,157)">unsigned</span> <span style="color:rgb(0,151,157)">int</span> TEST1 = 0x<span style="color:rgb(0,92,95)">AAA</span>;<span style="color:rgb(149,165,166)"> // jen pro test</span></div><div> <span style="color:rgb(0,151,157)">volatile</span> byte XREF = <span style="color:rgb(0,92,95)">0</span>;<span style="color:rgb(149,165,166)"> // pro vysledek</span></div><div> K= <span style="color:rgb(0,92,95)">10</span>;</div><div> R= <span style="color:rgb(0,92,95)">10</span>;</div><div> XREF = <span style="color:rgb(0,92,95)">0</span>;</div><div> <span style="color:rgb(114,142,0)">do</span> <span style="color:rgb(67,79,84)">{</span> <span style="color:rgb(211,84,0)">digitalRead</span><span style="color:rgb(67,79,84)">(</span>CLKEXT<span style="color:rgb(67,79,84)">)</span>;<span style="color:rgb(67,79,84)">}</span> <span style="color:rgb(114,142,0)">while</span> <span style="color:rgb(67,79,84)">(</span><span style="color:rgb(211,84,0)">digitalRead</span><span style="color:rgb(67,79,84)">(</span>CLKEXT<span style="color:rgb(67,79,84)">)</span> == HIGH<span style="color:rgb(67,79,84)">)</span>;<span style="color:rgb(149,165,166)">// ceka na sest. hranu hodin</span></div><div> <span style="color:rgb(211,84,0)">delayMicroseconds</span><span style="color:rgb(67,79,84)">(</span><span style="color:rgb(0,92,95)">30</span><span style="color:rgb(67,79,84)">)</span>;</div><div> <span style="color:rgb(114,142,0)">do</span> <span style="color:rgb(67,79,84)">{</span></div><div> <span style="color:rgb(114,142,0)">do</span> <span style="color:rgb(67,79,84)">{</span><span style="color:rgb(211,84,0)">digitalRead</span><span style="color:rgb(67,79,84)">(</span>CLKEXT<span style="color:rgb(67,79,84)">)</span>;<span style="color:rgb(67,79,84)">}</span> <span style="color:rgb(114,142,0)">while</span> <span style="color:rgb(67,79,84)">(</span><span style="color:rgb(211,84,0)">digitalRead</span><span style="color:rgb(67,79,84)">(</span>CLKEXT<span style="color:rgb(67,79,84)">)</span> == LOW<span style="color:rgb(67,79,84)">)</span>;<span style="color:rgb(149,165,166)"> // ceka na vzestupnou hranu, aby zapsal data</span></div><div> <span style="color:rgb(211,84,0)">delayMicroseconds</span><span style="color:rgb(67,79,84)">(</span><span style="color:rgb(0,92,95)">3</span><span style="color:rgb(67,79,84)">)</span>;</div><div> <span style="color:rgb(211,84,0)">digitalWrite</span> <span style="color:rgb(67,79,84)">(</span>DOEXT,<span style="color:rgb(211,84,0)">bitRead</span><span style="color:rgb(67,79,84)">(</span>TEST1,R<span style="color:rgb(67,79,84)">))</span>; // tady je problem</div><div><span style="color:rgb(149,165,166)"> // XREF = !XREF; // tohle dává obrázek na osciloskopu v příloze</span></div><div><span style="color:rgb(149,165,166)"> // if ( XREF > 0) {digitalWrite (DOEXT,0);} else { digitalWrite (DOEXT,1);} </span></div><div> <span style="color:rgb(211,84,0)">delayMicroseconds</span><span style="color:rgb(67,79,84)">(</span><span style="color:rgb(0,92,95)">30</span><span style="color:rgb(67,79,84)">)</span>;</div><div> K= K-<span style="color:rgb(0,92,95)">1</span>; </div><div> R = R-<span style="color:rgb(0,92,95)">1</span>;</div><div> <span style="color:rgb(114,142,0)">do</span> <span style="color:rgb(67,79,84)">{</span><span style="color:rgb(211,84,0)">digitalRead</span><span style="color:rgb(67,79,84)">(</span>CLKEXT<span style="color:rgb(67,79,84)">)</span>;<span style="color:rgb(67,79,84)">}</span> <span style="color:rgb(114,142,0)">while</span> <span style="color:rgb(67,79,84)">(</span><span style="color:rgb(211,84,0)">digitalRead</span><span style="color:rgb(67,79,84)">(</span>CLKEXT<span style="color:rgb(67,79,84)">)</span> == HIGH<span style="color:rgb(67,79,84)">)</span>;<span style="color:rgb(149,165,166)"> // ceka na sestupnou hranu kdy Master cte data</span></div><div> <span style="color:rgb(211,84,0)">delayMicroseconds</span><span style="color:rgb(67,79,84)">(</span><span style="color:rgb(0,92,95)">30</span><span style="color:rgb(67,79,84)">)</span>;</div><div> <span style="color:rgb(67,79,84)">}</span> <span style="color:rgb(114,142,0)">while</span> <span style="color:rgb(67,79,84)">(</span>K>= <span style="color:rgb(0,92,95)">0</span><span style="color:rgb(67,79,84)">)</span>; </div><div> <span style="color:rgb(114,142,0)">do</span> <span style="color:rgb(67,79,84)">{</span><span style="color:rgb(211,84,0)">digitalRead</span><span style="color:rgb(67,79,84)">(</span>CLKEXT<span style="color:rgb(67,79,84)">)</span>;<span style="color:rgb(67,79,84)">}</span> <span style="color:rgb(114,142,0)">while</span> <span style="color:rgb(67,79,84)">(</span><span style="color:rgb(211,84,0)">digitalRead</span><span style="color:rgb(67,79,84)">(</span>CLKEXT<span style="color:rgb(67,79,84)">)</span> == LOW<span style="color:rgb(67,79,84)">)</span>;<span style="color:rgb(149,165,166)"> // konecny prechod do jednicky </span></div><div> <span style="color:rgb(211,84,0)">sei</span><span style="color:rgb(67,79,84)">()</span>;<span style="color:rgb(149,165,166)"> // enable interrupts</span></div><div> </div><div> <span style="color:rgb(67,79,84)">}</span><span style="color:rgb(149,165,166)"> // konec preruseni</span></div></div>
</div>
<div> <br clear="all">
<div>
<div dir="ltr" class="gmail_signature">Zdravi<br>
Jirka Sloupenský OK1MWW</div>
</div>
<br>
</div>
</div>
<div id="m_-549116064521500286m_-9116215136646119095DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br>
<table style="border-top:1px solid rgb(211,212,222)">
<tbody>
<tr>
<td style="width:55px;padding-top:13px"><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" target="_blank"><img src="https://s-install.avcdn.net/ipm/preview/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif" alt="" style="width: 46px; height: 29px;" width="46" height="29"></a></td>
<td style="width:470px;padding-top:12px;color:rgb(65,66,78);font-size:13px;font-family:Arial,Helvetica,sans-serif;line-height:18px">Neobsahuje
žádné viry.<a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" style="color:rgb(68,83,234)" target="_blank">www.avast.com</a></td>
</tr>
</tbody>
</table>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">ne 28. 1. 2024 v 20:49
odesílatel Jaroslav Buchta <<a href="mailto:jaroslav.buchta@hascomp.cz" target="_blank">jaroslav.buchta@hascomp.cz</a>>
napsal:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div>nebo sem poslat cast zdrojaku...<br>
</div>
<div>Dne 28.01.2024 v 20:09 Jirka Mww napsal(a):<br>
</div>
<blockquote type="cite">
<div dir="auto">Tím to bohužel nebude, v současném
stavu tam v hlavní smyčce dávám konstantu a ani
ta se celá neposle.Bude to nějaká blbost, asi to
chce pauzu...</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">Dne ne 28. 1.
2024 19:03 uživatel Jaroslav Buchta <<a href="mailto:jaroslav.buchta@hascomp.cz" target="_blank">jaroslav.buchta@hascomp.cz</a>>
napsal:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div>Data jsou sdilena v jednom pametovem
prostoru, v tom by problem byt nemel.
Tipnul bych, ze bude nejaky problem v
synchronizaci hlavni smycky a data se
prepisou znova driv, nez se odeslou?<br>
</div>
<div>Dne 28.01.2024 v 19:00 Jirka Mww
napsal(a):<br>
</div>
<blockquote type="cite">
<div dir="ltr">Dobrý večer,
<div><br>
</div>
<div>zase se tady trápím s Arduinem.
Potřebuji v přerušení od pinu 2 u
Arduino Nano poslat ven dvanáct bitů.
Přerušení vyvolá vstup CS od
nadřízeného stroje, pak jdou hodiny
asi po 200 uS a na jejich sestupnou
hranu potřebuji posílat ven data. V
podstatě mi to funguje, pokud ta data,
co potřebuji poslat, vytvořím až v té
přerušovací proceduře. Nevím ale, jak
tam dostat data, která vyrobím v
hlavní smyčce. Deklaraci té proměnné ,
co chci poslat, mám jako volatile
unsigned integer , zkoušel jsem i
volatile byte, deklaraci mám v
hlavním programu ,zkoušel jsem to
deklarovat i v té přerušovací
proceduře, ale nejsem úspěšný. Ta
data se pošlou jen jednou, a ještě ne
celá. Pak to vypadá, že se ta data
nějak smažou, nebo co. Posílá to už
jen nuly. Bohužel, ladící výpis tam
nejde udělat. Můžete mne prosím zase
nějak nakopnout ?</div>
<div><br clear="all">
<div>
<div dir="ltr" class="gmail_signature">Zdravi<br>
Jirka Sloupenský OK1MWW</div>
</div>
</div>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
HW-list mailing list - sponsored by <a href="http://www.HW.cz" rel="noreferrer" target="_blank">www.HW.cz</a>
<a href="mailto:Hw-list@list.hw.cz" rel="noreferrer" target="_blank">Hw-list@list.hw.cz</a>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
</blockquote>
<p><br>
</p>
</div>
_______________________________________________<br>
HW-list mailing list - sponsored by <a href="http://www.HW.cz" rel="noreferrer
noreferrer" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" rel="noreferrer" target="_blank">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</blockquote>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
HW-list mailing list - sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
</blockquote>
<p><br>
</p>
</div>
_______________________________________________<br>
HW-list mailing list - sponsored by <a href="http://www.HW.cz" rel="noreferrer" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</blockquote>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
HW-list mailing list - sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
</blockquote>
</div>
_______________________________________________<br>
HW-list mailing list - sponsored by <a href="http://www.HW.cz" rel="noreferrer" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</blockquote>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
HW-list mailing list - sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
</blockquote>
</div>
_______________________________________________<br>
HW-list mailing list - sponsored by <a href="http://www.HW.cz" rel="noreferrer" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</blockquote></div>