<div><br></div><div dir="auto">Ja jsem zatim nemel nikdy potrebu studovat detaily, jak ty rutiny pro seriove porty funguji, krome snad sw serial na arduinu Nano, kde je hw jen jeden seriovy port. Tam jsem do toho trochu pronikal, ale my skleroticti duchodci si stejne nic nepamatujeme....</div><div dir="auto"><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">st 22. 11. 2023 v 20:34 odesílatel Petr Labaj <<a href="mailto:labaj@volny.cz">labaj@volny.cz</a>> napsal:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div>
    Mně se zdálo, že jste psal, že to Arduino nevyšle. Nikoli že by něco
    nepřijalo.<br>
    Vysílání je v knihovnách Arduino dělané jako neblokující, přes
    nějaký buffer?<br>
    Pak by se zřejmě dalo použít i nějaké blokující, kde by jiné IRQ
    neměly vliv na funkci.<br>
    <br>
    PL<br>
    <br>
    ********************<br>
    <br>
    <div>Dne 22.11.2023 v 20:21 Jirka Mww
      napsal(a):<br>
    </div></div><div>
    <blockquote type="cite">
      
      <div dir="auto">Pane Zárubo,
        <div dir="auto">přivedl jste mne na jednu myšlenku, kterou zítra
          vyzkoušim. Mám tam přerušení 4mS, opsané z jiného projektu,
          ale v podstatě to tak často nepotřebuju, počítám ta přerušení
          do 250 a hlavní smyčku pouštím po sekunde. Nějak jsem na to
          zapomněl, že to tak je, dělám na tom je po chvilkach.</div>
        <div dir="auto">Zitra to přerušení přepisu na delší interval a
          uvidím, jestli to bude mít efekt. Ještě jednou díky za
          nakopnuti. Pokud neuspěji, vyndáme ten osciloskop.. </div>
        <div dir="auto"><br>
        </div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">Dne st 22. lis 2023 19:07
          uživatel Martin Záruba <<a href="mailto:swz@volny.cz" target="_blank">swz@volny.cz</a>>
          napsal:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
          <div>
            <p><font face="Arial">Mám podezření, že to bude souviset s
                ne plnohodnotnou obsluhou přerušení. Tedy to, co jsem
                sám nevěděl, že pokud nastane více přerušení současně,
                priority pouze určují pořadí spuštění rutin, ale
                neznamená to, že jestliže běží rutina s nižší prioritou
                a vznikne vyšší přerušení, že se ta nižší přeruší,
                obslouží se ta výšší, pak pokračuje ta nižší a pak
                hlavní program. Jinak řečeno... Neumí vnořovat
                přerušení.</font></p>
            <p><font face="Arial">Mám podobný problém, kde, přerušení
                časovačem mám každých 50uS. Ono to není v mém případě
                důležité, aby to bylo přesně 50uS. Pokud nenastává jiné
                přerušení, vidím na osciloskopu, že to sedí. Pokud ale
                nastává přerušení od seriového portu, interval 50uS není
                přesný.</font></p>
            <p><font face="Arial">Nevím, zda to nemůže být Váš případ,
                kdy dojde k tak zásadní deformaci šířku pulzu na
                seriovém portu, že se data přenesou špatně. Takže se
                přikláním k tomu, co napsal pan Labaj.</font><br>
            </p>
            <pre cols="72">Martin Záruba</pre>
            <div>Dne 22.11.2023 v 18:36 Petr Labaj napsal(a):<br>
            </div>
            <blockquote type="cite"> Přiznávám, že by mě to zajímalo.<br>
              Tedy pro obecnou osvětu a poučení, i když ve Vašem
              konkrétním případě to dokážete ošéfovat pomocí SW.<br>
              <br>
              Připojil bych na ten převodník jen osciloskop a kontrolní
              PC, nic jiného. Na druhé straně by nikdo neodpovídal.<br>
              A do Arduina dát jednoduchý program, který bude vysílat
              stále dokola třeba po 2 sekundách ten string.<br>
              <br>
              Pokud to tady bude OK (na osciloskopu i přijetím na na
              kontrolním PC), tak nechat HW stejně, ale posílat to Vašim
              původním programem, pokud umí posílat výzvy i bez
              odpovědi.<br>
              Pokud to opět bude OK, tak teprve pak připojit ten
              odpovídač a hledat tam.<br>
              <br>
              Máte 4-kanál, tak by asi nebyl problém ho odpíchnout od Tx
              dat, která by byla vstupem pro ten převodník (tj. výstupní
              drát z Arduina).<br>
              <br>
              PL<br>
              <br>
              **********************<br>
              <br>
              <div>Dne 22.11.2023 v 18:13 Jirka Mww napsal(a):<br>
              </div>
              <blockquote type="cite">
                <div dir="auto">Dobrý den,
                  <div dir="auto">To s tím rozdělením jsem zkoušel,
                    nebyla tam žádná změna i když jsem tam dal ještě
                    navíc delay. Osciloskop mám, 4 kanál paměťový, ale
                    nevím, na co ho synchronizovat. Necháme to být, SW
                    to řeší </div>
                </div>
                <br>
                <div class="gmail_quote">
                  <div dir="ltr" class="gmail_attr">Dne st 22. lis 2023
                    18:05 uživatel Petr Labaj <<a href="mailto:labaj@volny.cz" rel="noreferrer" target="_blank">labaj@volny.cz</a>>
                    napsal:<br>
                  </div>
                  <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                    <div> Myslel jsem, že se Vám to s těmi odpory
                      spravilo. A ono ne.<br>
                      Tak to je skoro čas na plán B.<br>
                      Máte osciloskop? Pokud je to jeden ze 40 pokusů,
                      tak tohle chytnout by měla být brnkačka. A zřejmě
                      budou "načaté" i ostatní přenosy, jen budou ještě
                      v toleranci.<br>
                      <br>
                      Co by udělalo Serial2.print("X1A") a pak
                      Serial2.println("") nebo jak se ty funkce na
                      Arduinu jmenují? Prostě poslat to CR dalším
                      voláním.<br>
                      <br>
                      PL<br>
                      <br>
                      ********************<br>
                      <br>
                      <div>Dne 22.11.2023 v 17:42 Jirka Mww napsal(a):<br>
                      </div>
                      <blockquote type="cite">
                        <div dir="ltr">Díky za další rady, on ale bude
                          problém asi jinde. Po doplnění těch opěrných
                          odporů na A+ a B- se to začalo chovat o dost
                          líp, ale po dopsání nějakých dalších řádků do
                          Arduina ATMEGA se to zase trochu zhoršilo. 
                          <div>Mám podezření, že ty procedury Arduina
                            pro obsluhu sériových portů nejsou asi úplně
                            nezávislé, nebo tomu vadí něco jiného z mého
                            SW.   V podstatě s tím můžu žít, ty posílané
                            povely se dají opakovat, když nepřijde včas
                            relevantní odpověď.  Schema těch převodníků
                            nemám, je to z Ali, drát na řízení směru
                            toku  nemají, to co poslu se zároveň zpětně
                            načte.  Ten co komunikuje s měničem GOODWE
                            problémy nemá, komunikace 100%  chodí včetně
                            CRC. Vyhození převodníků je trochu problém,
                            relova deska pro obsluhu je SMD , musel bych
                            tam okolo převodníku RS485 škrbat spoje, to
                            se mi nechce. Raději budu řešit ty výpadky
                            přes úpravu SW a už se tím dál nebudu
                            zabývat</div>
                          <div><br>
                          </div>
                          <div>Zdravi</div>
                          <div>
                            <div>
                              <div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Jirka
                                Sloupenský  OK1MWW</div>
                            </div>
                            <br>
                          </div>
                        </div>
                        <div id="m_-3650429912725126218m_5964203665931629451m_-155959138218532413DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br>
                          <table style="border-top:1px solid #d3d4de">
                            <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" rel="noreferrer noreferrer" 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:#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" style="color:#4453ea" rel="noreferrer noreferrer" target="_blank">www.avast.com</a></td>
                              </tr>
                            </tbody>
                          </table>
                        </div>
                        <br>
                        <div class="gmail_quote">
                          <div dir="ltr" class="gmail_attr">út 21. 11.
                            2023 v 20:28 odesílatel Dodo Racek <<a href="mailto:dodoracek@gmail.com" rel="noreferrer noreferrer" target="_blank">dodoracek@gmail.com</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 dir="auto">
                              <div dir="auto">Tazko hadat, malo
                                vstupnych informacii.</div>
                              <div dir="auto"><br>
                              </div>
                              Obe strany su v istej chvili prepnute na
                              vysielanie ?
                              <div dir="auto"><br>
                              </div>
                              <div dir="auto">Pri riadenom prepinani
                                mozete prepnut na prijem  skor ako je
                                odoslany posledny znak. </div>
                              <div dir="auto">Niektore obsluhy seriovej
                                linky povazuju odoslanie za skoncene,
                                ked je posledny byte vo vysielacom
                                registri (ale este neodisiel po seriovej
                                linke )</div>
                              <div dir="auto"><br>
                              </div>
                              <div dir="auto">Automaticke prepinania sa
                                robia rozne, od detekcie startbitu
                                hrubym casovanim MKO, niektore sa snazia
                                detekovat rychlost vysielania a nastavit
                                cas prepnutia podla casu vyslania bytu a
                                odhadnutej rychlosti... byva to rozne.</div>
                              <div dir="auto"><br>
                              </div>
                              <div dir="auto">Mate linku zakoncenu na
                                oboch stranach prislusnou zatazou ? Napr
                                120R + 1n</div>
                              <div dir="auto"><br>
                              </div>
                              <div dir="auto">Mate definovane urovne
                                linky, ked su obe strany na prijme ?</div>
                              <div dir="auto">Niektore prevodniky to
                                robia "automaticky" a u niektorych je
                                potrebne jeden vodic potiahnut odporom
                                na zem a druhy vodic na +5v.</div>
                              <div dir="auto"><br>
                              </div>
                              <div dir="auto">Niektore zapojenia
                                prevodnikov 422/485 umoznuju zaroven
                                citat, co sa lokalne vysiela a napr.
                                detekovat chybu vysielania, ked sa iny
                                vysielac na linke namontuje do
                                komunikacie....</div>
                              <div dir="auto"><br>
                              </div>
                              <div dir="auto">Chcelo by to ozajstne
                                schemy tych prevodnikov. </div>
                              <div dir="auto">Ci mate chybu v prograne
                                mozete overit tak, ze vyhodite
                                prevodniky a pojdete Rx-Tx priamo na TTL
                                urovniach.</div>
                              <div dir="auto"><br>
                              </div>
                              <div dir="auto">Dodo</div>
                              <br>
                              <br>
                              <div class="gmail_quote" dir="auto">
                                <div dir="ltr" class="gmail_attr">Dňa ut
                                  21. 11. 2023, 15:31 Jirka Mww <<a href="mailto:jirka.mww@gmail.com" rel="noreferrer noreferrer" target="_blank">jirka.mww@gmail.com</a>>
                                  napísal(a):<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 dir="ltr">Dobrý den,
                                    <div>ladím tady komunikaci mezi
                                      dvěma Arduiny, jedno je Arduino
                                      Nano a druhé je Arduino Mega ,
                                      příslušný seriový kanál je na Mega
                                      serial2. Na Nano používám HW
                                      seriový kanál. SW seriový kanál
                                      není vůbec využit.   Na Arduinu
                                      Nano je modul RS485, který má
                                      externí vstup pro přepínání směru
                                      přenosu, ten obsluhuji svým SW a
                                      vše zdá se funguje správně.  Na
                                      Arduinu Mega mám nějaký
                                      čínský modul RS485, který takový
                                      vstup nemá , přepíná se sám, 
                                      posílám jen čtyři znaky pomocí
                                      funkce <span style="font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap;color:rgb(211,84,0)">Serial2</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(211,84,0)">println</span><span style="font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap;color:rgb(67,79,84)">(</span><span style="font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap;color:rgb(0,92,95)">"X1A"</span><span style="font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap;color:rgb(67,79,84)">) </span><span style="font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap"><font color="#4e5b61"> t.j. </font></span>včetně
                                      CR na konci, většinou to funguje,
                                      ale ten koncový znak, na který
                                      protistrana čeká, aby příkaz
                                      provedla, se občas ( cca 1 x za 40
                                      přenosů ) nepošle.  Linku
                                      monitoruji přes externí převodník
                                      a PC ale efekt je stejný, jak na
                                      straně Arduino Nano, tak na straně
                                      PC. Prostě ten koncový znak
                                      nepřijde tam ani tam.   Komunikace
                                      s FVE měničem Goodwe přes další
                                      port toho Arduino Mega mi funguje
                                      normálně. Je tam podobný modul
                                      RS485 opět bez řízení směru
                                      přenosu, je jenom galvanicky
                                      oddělený.  Nemáte nějaký nápad, na
                                      co se zaměřit  ? Vkládání zpoždění
                                      do různých relevantních částí
                                      programu nepomáhá. </div>
                                    <div><br clear="all">
                                      <div>
                                        <div dir="ltr" class="gmail_signature">Zdravi<br>
                                          Jirka Sloupenský  OK1MWW</div>
                                      </div>
                                    </div>
                                  </div>
                                  <br>
                                </blockquote>
                              </div>
                            </div>
                          </blockquote>
                        </div>
                      </blockquote>
                      <br>
                    </div>
                    _______________________________________________<br>
                    HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" rel="noreferrer noreferrer
                      noreferrer" target="_blank">www.HW.cz</a><br>
                    <a href="mailto:Hw-list@list.hw.cz" rel="noreferrer
                      noreferrer" target="_blank">Hw-list@list.hw.cz</a><br>
                    <a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer 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" 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>
              <br>
              <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>
          </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>
    <br>
  </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></div>