<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    V textu nad obrázkem 1b,<br>
    Applications Information / Serial Interface, píšou:<br>
    <blockquote type="cite">Read the 16 output bits on the falling edge
      of the clock.</blockquote>
    <br>
    Autor knihovny ale nečte sestupnou hranou, místo toho čte při
    vzestupné:<br>
    <blockquote type="cite">-v cykle ako prve zhodi sclk a pocka 10us
      <br>
      -potom cita hodnotu
    </blockquote>
    A hned potom nahazuje sclk<br>
    <br>
    Ten obrázek je poněkud zprasenej, někde změna SO začíná od sestupné
    hrany hodin, jinde zas ne...<br>
    <img src="cid:part1.U6MQJMKB.Z840DkTa@seznam.cz" alt=""><br>
    Ale popisu v Electrical Characteristics (continued) jsou
    jednoznačnější:<br>
    <blockquote type="cite">SCK Fall to Output Data Valid | tDO | CL =
      10pF | 100 | ns<br>
    </blockquote>
    <br>
    Je asi opravdu lepší jak to dělá on, protože má platnou hodnotu k
    dispozici i delší dobu po zahájení čtení. Já bych to nakonec udělal
    podobně, dal bych čtení za vzestupnou.<br>
    <br>
    Ale v tom DS píšou, že max 4,3 MHz, to je 2x 116 ns. K tomu jště min
    doby H a L 100 ns To znamená, že prakticky po celou dobu clk=0 může
    bejt doba změny SO. A pak zas dává smysl číst sestupnou, jak tam
    píšou. Nebo přesně při ní, pokud to nedělá HW.<br>
    <br>
    PH<br>
    <br>
    <br>
    <div class="moz-cite-prefix">Dne 29.03.2025 v 0:07 Miroslav Šinko
      napsal(a):<br>
    </div>
    <blockquote type="cite"
      cite="mid:7213e12e-a059-4ddd-8f60-d54acc5f6f90@gmail.com">Netvrdim,
      ze citanie po nabeznej hrane by nebolo "krajsie", ale nerozumiem,
      v com je ta kniznica napisana zle.
      <br>
      <br>
      Vychadzam z odkazov v povodnom maili na datesheet a na git.
      <br>
      <br>
      -vo funkcii readCelsius zhodi CS a pocka 10us
      <br>
      -ide do spiread()
      <br>
      -v cykle ako prve zhodi sclk a pocka 10us
      <br>
      -potom cita hodnotu
      <br>
      <br>
      Podla datasheetu Figure 1b sa D15 objavi pri sclk LOW a cs LOW po
      ubehnuti casu tDV + tDO (100ns = 10us). Zodpoveda implementacii.
      <br>
      <br>
      Pulz na sclk HIGH-LOW prepne na dalsi bit, ktory je platny po
      zostupnej hrane sclk + tDO. To v zdrojaku splnene ma.
      <br>
      <br>
      miro
      <br>
      <br>
      On 28.3.2025 20:17, Pavel Hudeček wrote:
      <br>
      <blockquote type="cite">Ona je to věc použití:
        <br>
        <br>
        U teploměru se nedá očekávat nějak velký přenos dat. Takže
        napsat univerzální knihovnu pro teploměr se SW SPI znamená jen
        samý + a žádný -. Velmi to usnadní použití, i přenositelnost na
        jiné platformy.
        <br>
        <br>
        Naopak třeba u flashky co se dělá od mega výše, by byla chyba to
        udělat jinak než s HW SPI.
        <br>
        <br>
        Mě by spíš zajímalo, jestli autor knihovny poplet hrany, nečet
        text DS, nebo to poplet autor textu DS a autor knihovny
        experimentálně zjistil, že opačně to funguje správně:-)
        <br>
      </blockquote>
    </blockquote>
  </body>
</html>