1 - wire na 51

Loading thread data ...
Reply to
invalid unparseable

Grodo <(zamienXna2000) snipped-for-privacy@poczta.onet.pl> napisał(a):

Popatrz na to ...

.. oraz na to ...

.. i pomyśl przez chwilkę ;-)

Piotrek

Reply to
Piotrek Sz.

Grodo <(zamienXna2000) snipped-for-privacy@poczta.onet.pl> napisał(a):

&gt; > .. i pomyśl przez chwilkę ;-)

Proszę bardzo.

Z powyższej linii wnioskuję , że linia DQ DS18B20 poczłączona jest do P0.7 (ameryki pewnie nie odkryłem). Teraz wyobraźmy sobie , że 1-szy bajt odpowiedzi DS-a = 0xFF , na co funkcja _receive_ zwróci ośmiokrotnie wartość 0x80. Wartość zmiennej "i" zmienia się w pętli "for" od "0" do "7" i popatrzmy co się dzieje: i=0 dana=0 dana|=((receive())<<i); Wartość recive = 0x80 i po wykonaniu przesunięcia w lewo "i=0" krotnie zostanie wykonana operacja "OR" z daną i w wyniku tego: dana=0x80 i++ i=1 dana=0x80 Wartość recive = 0x80 i po wykonaniu przesunięcia w lewo "i=1" krotnie zostanie wykonana operacja "OR" z daną i w wyniku tego: dana=0x80 .. mówiąc wprost wartość 0x80 , przesunięta w lewo więcej niż zero razy w wyniku da ZAWSZE 0x00.

To tyle. Jeśli nie jasno się wyraziłem , to proszę o uwagi.

Piotrek

Reply to
Piotrek Sz.

Grodo <(zamienXna2000) snipped-for-privacy@poczta.onet.pl> napisał(a):

Z mojego doświadczenia wynika , że łatwiej znaleźć błąd w cudzym kodzie , niż we własnym ;-) Rzekłbym - "Najciemniej pod latarnią"

Pozdrawiam Piotrek

Reply to
Piotrek Sz.

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.