<!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>