<html>
  <head>
    <meta content="text/html; charset=ISO-8859-2"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <font face="Helvetica, Arial, sans-serif">Podle popisu v manualu to
      vypada jasne: SERIN ceka po dobu timeoutu nebo dokud neprijme
      vsechna pozadovana data. Takze pokud behem vykonavani jednoho
      SERIN prikazu zacnou prichazet data na druhy SERIN kanal, tak ta
      se samozrejme nezachyti, resp. muze se zachytit nejaky zbytek dat,
      jakmile se ukonci jeden SERIN a spusti druhy... <br>
      <br>
      Napada me jedno reseni: ve smycce kontrolovat stavy pinu pro jeden
      a druhy UART. Jakmile se na jednom vydetekuje uroven L, tak se
      pusti prislusny SERIN. Obejdou se tim timeouty a prislusny SERIN
      se spusti okamzite, jakmile se vydetekuje, ze protistrana zacla
      vysilat. Otazka ale je, zda to takto jde pouzit... (napr. zda
      nepotrebuje SERIN po spusteni nejprve uroven H)<br>
      Stejne se ale nevyhnete problemu, pokud se datove pakety budou
      prekryvat...<br>
      <br>
      Hynek Sladky<br>
      <br>
      <br>
      <br>
    </font>
    <div class="moz-cite-prefix">Dne 17.10.2014 10:15, Zapletal Martin
      napsal(a):<br>
    </div>
    <blockquote cite="mid:0A27A8E202ED4854A5D6E2B6635AD88B@MZPC"
      type="cite">Zdravim.
      <br>
      Do PICAXE18M2 bych potreboval nacpat celkem dve seriove linky. 1x
      SERIN a 2x SEROUT. Mam to nadratovane, v principu to chodi, ale...
      Pokud jede vse soucasne, tak data obcas prijdou, obcas ne. Pokud
      pustim jen jednu linku, je vse OK. Da se to vubec provozovat
      soucasne, nebo je treba dat v takoven pripade 2PICAXE? Zkousel
      jsem laborovat s TimeOuty, ale to nic neresi. Pokud je vyhodim,
      tak procesor ceka, nez data prijdou a nic jineho se neprovede. V
      simulaci chodi vse OK, v procesoru to zlobi. Zkousel jsem to i na
      ruznych pinech! V teto oblasti nejsem zadny guru mozna jsem neco
      nepochopil nebo neco delam spatne, tak si rad vyslechnu Vase
      nazory.
      <br>
      Jak to ma fungovat:
      <br>
      Prectu data z TTL, zjistim stav pinu1 a vysledek poslu do PC. PC
      zareaguje a odpovi. Na odpoved zareaguje PICAXE a provede select.
      <br>
      Tady je fragment hlavni casti kodu:
      <br>
      <br>
      MAIN1:;cteni dat a obsluha
      <br>
       b11=""
      <br>
       b12=""
      <br>
       if pin1 = 1 then
      <br>
         b13="1" else b13="0" endif
      <br>
       SERIN [10],B.1,T9600_16,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11
      <br>
       if b11<>"" then
      <br>
         serout
      B.3,N9600_16,("#0A",b13,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,13,10)
      <br>
      endif
      <br>
      SERIN [10],C.2,N9600_16,b12,b13
      <br>
      if b12="S" then
      <br>
       select b13
      <br>
       case "0"
      <br>
         low B.4
      <br>
         low B.5
      <br>
         low B.6
      <br>
       case "1"
      <br>
         high B.4
      <br>
       case "2"
      <br>
         high B.4
      <br>
         high B.5
      <br>
       case "3"
      <br>
         high B.4
      <br>
         high B.5
      <br>
         high B.6
      <br>
       endselect
      <br>
      endif
      <br>
      goto MAIN1
      <br>
      <br>
      dik Zaplik <br>
    </blockquote>
    <br>
  </body>
</html>