<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=16710&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-11-10T17:30:15+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=16710&amp;mode</id>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2016-11-10T17:30:15+01:00</updated>
<published>2016-11-10T17:30:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=174365#p174365</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=174365#p174365"/>
<title type="html"><![CDATA[Re: 1Wire i niewiadomy problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=174365#p174365"><![CDATA[
A może sam ds wadliwy?<br /><br />Wysłane z mojego LIVE przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 10 lis 2016, o 17:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Makowka]]></name></author>
<updated>2016-11-03T19:37:35+01:00</updated>
<published>2016-11-03T19:37:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173638#p173638</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173638#p173638"/>
<title type="html"><![CDATA[Re: 1Wire i niewiadomy problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173638#p173638"><![CDATA[
Sprawdź miernikiem, czy aby na pewno masz to fizycznie połączone.  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10748">Makowka</a> — 3 lis 2016, o 19:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2016-11-03T19:04:56+01:00</updated>
<published>2016-11-03T19:04:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173635#p173635</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173635#p173635"/>
<title type="html"><![CDATA[Re: 1Wire i niewiadomy problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173635#p173635"><![CDATA[
Zrób zdjęcie jak to teraz wygląda i wstaw je poprawnie zgodnie z instrukcją: <a href="http://forum.atnel.pl/post254.html"  class="postlink">http://forum.atnel.pl/post254.html</a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 3 lis 2016, o 19:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Haytham]]></name></author>
<updated>2016-11-03T18:56:09+01:00</updated>
<published>2016-11-03T18:56:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173634#p173634</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173634#p173634"/>
<title type="html"><![CDATA[Re: 1Wire i niewiadomy problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173634#p173634"><![CDATA[
Wykonałem zworki, co więcej podłączyłem bezpośrednio do zasilania mikrokontrolera i dalej nic .<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14378">Haytham</a> — 3 lis 2016, o 18:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2016-11-03T18:36:47+01:00</updated>
<published>2016-11-03T18:36:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173632#p173632</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173632#p173632"/>
<title type="html"><![CDATA[Re: 1Wire i niewiadomy problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173632#p173632"><![CDATA[
<div class="quotetitle">kurnachatka napisał(a):</div><div class="quotecontent"><br />trzeba wykonać tam zworki<br /></div><br />Zobacz koniecznie:<br /><a href="https://youtu.be/LiQcVSPkT6M?t=1211"  class="postlink">https://youtu.be/LiQcVSPkT6M?t=1211</a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 3 lis 2016, o 18:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marcgend]]></name></author>
<updated>2016-11-03T18:34:40+01:00</updated>
<published>2016-11-03T18:34:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173631#p173631</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173631#p173631"/>
<title type="html"><![CDATA[Re: 1Wire i niewiadomy problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173631#p173631"><![CDATA[
Nie ma napięcia na środkowej nodze?<br />Sprawdź rezystor pullup albo zwarcia do masy na linii danych.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6774">marcgend</a> — 3 lis 2016, o 18:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kurnachatka]]></name></author>
<updated>2016-11-03T18:33:28+01:00</updated>
<published>2016-11-03T18:33:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173630#p173630</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173630#p173630"/>
<title type="html"><![CDATA[Re: 1Wire i niewiadomy problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173630#p173630"><![CDATA[
<div class="quotetitle">anshar napisał(a):</div><div class="quotecontent"><br />napięcie jest na nóżce Vcc , GND<br /></div><br />Ale uC czy czujnika. <br />Posiadam taką samą płytkę stylową na pierwszy rzut oka i trzeba wykonać tam zworki jak pokazał kolega powyżej.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=930">kurnachatka</a> — 3 lis 2016, o 18:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2016-11-03T18:30:03+01:00</updated>
<published>2016-11-03T18:30:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173628#p173628</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173628#p173628"/>
<title type="html"><![CDATA[Re: 1Wire i niewiadomy problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173628#p173628"><![CDATA[
A czy prawidłowo podłączyłeś zasilanie do uC? <br />Vcc powinno być podłączone do nóżek: 10 i 30<br />Gnd do nóżek 11 i 31.<br /><br />Do jakiej nóżki uC podłączasz środkowe wyprowadzenie DS1820? <br />Podłącz jeszcze raz w trybie normal i zrób zdjęcie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 3 lis 2016, o 18:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Haytham]]></name></author>
<updated>2016-11-03T18:22:45+01:00</updated>
<published>2016-11-03T18:22:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173627#p173627</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173627#p173627"/>
<title type="html"><![CDATA[Re: 1Wire i niewiadomy problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173627#p173627"><![CDATA[
Dwa sposoby podłączenia próba niestety nie udana ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14378">Haytham</a> — 3 lis 2016, o 18:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2016-11-03T18:13:28+01:00</updated>
<published>2016-11-03T18:13:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173626#p173626</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173626#p173626"/>
<title type="html"><![CDATA[Re: 1Wire i niewiadomy problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173626#p173626"><![CDATA[
Są tylko 2 sposoby podłączenia DS18B20 ..   do magistrali 1wire<br /><br />1..   NORMAL MODE  <br /><br /><a href="https://obrazkiforum.atnel.pl/58/6ab6b03c764bf1bc26139be7797c8cb0.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/58/6ab6b03c764bf1bc26139be7797c8cb0.jpg" alt="Obrazek" /></a><br /><br />2..   PARSITE MODE <br /><br /><a href="https://obrazkiforum.atnel.pl/58/326bdb831e96c8356d1f83d50f2d8a73.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/58/326bdb831e96c8356d1f83d50f2d8a73.jpg" alt="Obrazek" /></a><br /><br /><br />Na początek podłącz wszystko jak w pierwszym przypadku .... nie zapomnij o rezystorze Pull-UP <br />4K7  na linii danych  ....  PIN DATA podłącz tam w procku gdzie zdefiniowałeś w kodzie 1Wire <br /><br />i to wszystko zasadniczo ... jeśli chodzi o połaczenia<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 3 lis 2016, o 18:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Haytham]]></name></author>
<updated>2016-11-03T18:05:58+01:00</updated>
<published>2016-11-03T18:05:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173623#p173623</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173623#p173623"/>
<title type="html"><![CDATA[Re: 1Wire i niewiadomy problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173623#p173623"><![CDATA[
napięcie jest na nóżce Vcc , GND jest podłączone a od danych nie ma napięcia<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14378">Haytham</a> — 3 lis 2016, o 18:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2016-11-03T17:59:16+01:00</updated>
<published>2016-11-03T17:59:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173622#p173622</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173622#p173622"/>
<title type="html"><![CDATA[Re: 1Wire i niewiadomy problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173622#p173622"><![CDATA[
Rzuć okiem na zdjęcie:<br /><a href="https://obrazkiforum.atnel.pl/7157/78a4502a4330aa804fc94ebb38ae5e25.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/7157/78a4502a4330aa804fc94ebb38ae5e25.jpg" alt="Obrazek" /></a><br /><br />Podłącz na początek czujnik w trybie normal tak jak ci zaznaczyłem (przewód pomarańczowy podłącz do Vcc, źółty zostaw podłączony do GND). <br />Przede wszystkim sprawdź czy są fizyczne połączenia, te które zaznaczyłem na czerwono i niebiesko. Jak nie ma to połącz w tych miejscach zworkami. Wygląda mi na to, że do DS1820 nie dochodzi żadne napięcie. Jeśli posiadasz jakiś miernik to sprawdź jakie jest napięcie na jego skrajnych nóżkach.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 3 lis 2016, o 17:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Haytham]]></name></author>
<updated>2016-11-03T17:51:47+01:00</updated>
<published>2016-11-03T17:51:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173621#p173621</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173621#p173621"/>
<title type="html"><![CDATA[Re: 1Wire i niewiadomy problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173621#p173621"><![CDATA[
<span style="color: #FF0000">[ zdjęcia na forum dodajemy zgodnie z instrukcją: <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic44.html" >topic44.html</a><!-- l --> ... i proszę nie opowiadać bajek, że nie mogłeś tego zrobić. Jeśli sobie nie radzisz to w ogóle zdjęcia nie wstawiaj ... To moja gorąca prośba. W przeciwnym przypadku wątek zostanie usunięty. Tym razem tylko uwaga - mirekk36 ]</span><br />tryb normal<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14378">Haytham</a> — 3 lis 2016, o 17:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[StaryAnoda]]></name></author>
<updated>2016-11-03T17:28:20+01:00</updated>
<published>2016-11-03T17:28:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173620#p173620</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173620#p173620"/>
<title type="html"><![CDATA[Re: 1Wire i niewiadomy problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173620#p173620"><![CDATA[
Cześć !!!<br /><br />Na początek podłącz czujnik temperatury w trybie Normal Power, i daj zdjęcie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12916">StaryAnoda</a> — 3 lis 2016, o 17:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Haytham]]></name></author>
<updated>2016-11-03T16:56:11+01:00</updated>
<published>2016-11-03T16:56:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173617#p173617</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173617#p173617"/>
<title type="html"><![CDATA[Re: 1Wire i niewiadomy problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173617#p173617"><![CDATA[
<!-- m --><a class="postlink" href="http://www47.zippyshare.com/v/oAZXL2Ox/file.html" >http://www47.zippyshare.com/v/oAZXL2Ox/file.html</a><!-- m --><br /><br />nie mogłem dodać zdjęcia ponieważ korzystam z przeglądarki vivaldi.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14378">Haytham</a> — 3 lis 2016, o 16:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-11-03T16:15:34+01:00</updated>
<published>2016-11-03T16:15:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173614#p173614</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173614#p173614"/>
<title type="html"><![CDATA[Re: 1Wire i niewiadomy problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173614#p173614"><![CDATA[
<div class="quotetitle">Haytham napisał(a):</div><div class="quotecontent"><br />chociaż czujnik jest cały czas podłączony.T<br /></div><br />Czy nie sądzisz, że warto zacząć swoje pytanie od pokazania schematu jak to podłączyłeś albo jakiegoś zdjęcia jak masz to podłączone .... zamiast szukać problemu w kodzie ? Kod z książki działa od tzw &quot;kopa&quot; - więc skoro tobie nie działa to prosty wniosek - coś źle podłączyłeś, skonfigurowałeś, zasiliłeś itp itd <br /><br />Połączenie może i jest banalne ale panie - ile ja już w życiu rzeczy widziałem .... hooo hooo .... szczególnie gdy ktoś pisze i zapiera się czasem że ma wszystko dobrze podłączone - a później kilka zdjęć i ... od razu widać babola<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 3 lis 2016, o 16:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Haytham]]></name></author>
<updated>2016-11-03T15:49:04+01:00</updated>
<published>2016-11-03T15:49:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173610#p173610</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173610#p173610"/>
<title type="html"><![CDATA[1Wire i niewiadomy problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16710&amp;p=173610#p173610"><![CDATA[
Witam wszystkich, mam pewien problem z 1Wire. Po skompilowaniu programu Pana Mirka z niebieskiej książki, po odpowiednim ustawieniu częstotliwości dla 8Mhz, odpowiednim zestawieniu pinów, podłączeniu sprawdzanym dziesiątki razy, nie mogę odczytać temperatury: wyświetla się po prostu na T1 i T2 error, chociaż czujnik jest cały czas podłączony.Tylko czasami przy ponownym skompilowaniu wyświetla się 0 C.<br />oto kod main.c:<br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 2010-09-13<br /> *       Autor: Mirosław Kardaś<br /> */<br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;LCD/lcd44780.h&quot;<br />#include &quot;1Wire/ds18x20.h&quot;<br /><br />void display_temp(uint8_t x);<br /><br />uint8_t czujniki_cnt;/* ilość czujników na magistrali */<br />volatile uint8_t s1_flag;/* flaga tyknięcia timera co 1 sekundę */<br />volatile uint8_t sekundy;/* licznik sekund 0-59 */<br /><br />uint8_t subzero, cel, cel_fract_bits;<br /><br />int main(void) {<br /><br />DDRA |= (1&lt;&lt;PA7);// ustawiamy kierunek linii podświetlenia LCD jako WYJŚCIE<br />PORTA |= (1&lt;&lt;PA7);// załączamy podświetlenie LCD - stan wysoki<br /><br />/* ustawienie TIMER0 dla F_CPU=11,0592MHz */<br />TCCR0 |= (1&lt;&lt;WGM01);/* tryb CTC */<br />TCCR0 |= (1&lt;&lt;CS02)|(1&lt;&lt;CS00);/* preskaler = 1024 */<br />OCR0 = 78;/* dodatkowy podział przez 108 (rej. przepełnienia) */<br />TIMSK |= (1&lt;&lt;OCIE0);/* zezwolenie na przerwanie CompareMatch */<br />/* przerwanie wykonywane z częstotliwością ok 10ms (100 razy na sekundę) */<br />/* do naszych celów nie musi być to bardzo dokładne 10ms */<br /><br />lcd_init();/* inicjalizacja LCD */<br /><br />/* sprawdzamy ile czujników DS18xxx widocznych jest na magistrali */<br />czujniki_cnt = search_sensors();<br /><br /><br />/* wysyłamy rozkaz wykonania pomiaru temperatury<br /> * do wszystkich czujników na magistrali 1Wire<br /> * zakładając, że zasilane są w trybie NORMAL,<br /> * gdyby był to tryb Parasite, należałoby użyć<br /> * jako pierwszego prarametru DS18X20_POWER_PARASITE */<br />DS18X20_start_meas( DS18X20_POWER_PARASITE, NULL );<br /><br />/* czekamy 750ms na dokonanie konwersji przez podłączone czujniki */<br />_delay_ms(750);<br /><br />/* dokonujemy odczytu temperatury z pierwszego czujnika o ile został wykryty */<br />/* wyświetlamy temperaturę gdy czujnik wykryty */<br />if( DS18X20_OK == DS18X20_read_meas(gSensorIDs&#91;0&#93;, &amp;subzero, &amp;cel, &amp;cel_fract_bits) ) display_temp(0);<br />else {<br />lcd_locate(1,0);<br />lcd_str(&quot; error &quot;);/* wyświetlamy informację o błędzie jeśli np brak czujnika lub błąd odczytu */<br />}<br /><br />/* dokonujemy odczytu temperatury z pierwszego czujnika o ile został wykryty */<br />if( DS18X20_OK == DS18X20_read_meas(gSensorIDs&#91;1&#93;, &amp;subzero, &amp;cel, &amp;cel_fract_bits) ) display_temp(9);<br />else {<br />lcd_locate(1,9);<br />lcd_str(&quot; error &quot;);<br />}<br /><br />sei();/* włączamy globalne przerwania */<br /><br />lcd_locate(0,0);<br />lcd_str_P(PSTR(&quot;  T1       T2&quot;)); /* wyświetl napisy w zerowej linii LCD */<br /><br />/* pętla nieskończona */<br />while(1) {<br /><br />if(s1_flag) {/* sprawdzanie flagi tyknięć timera programowego co 1 sekundę */<br /><br />/* co trzy sekundy gdy reszta z dzielenia modulo 3 == 0 sprawdzaj ilość dostępnych czujników */<br />if( 0 == (sekundy%3) ) {<br /><br />uint8_t *cl=(uint8_t*)gSensorIDs;// pobieramy wskaźnik do tablicy adresów czujników<br />for( uint8_t i=0; i&lt;MAXSENSORS*OW_ROMCODE_SIZE; i++) *cl++ = 0; // kasujemy całą tablicę<br />czujniki_cnt = search_sensors();// ponownie wykrywamy ile jest czujników i zapełniamy tablicę<br />lcd_locate(0,8);<br />lcd_int( czujniki_cnt );// wyświetlamy ilość czujników na magistrali<br />}<br /><br />/* co trzy sekundy gdy reszta z dzielenia modulo 3 == 1 wysyłaj rozkaz pomiaru do czujników */<br />if( 1 == (sekundy%3) ) DS18X20_start_meas( DS18X20_POWER_EXTERN, NULL );<br /><br />/* co trzy sekundy gdy reszta z dzielenia modulo 3 == 2 czyli jedną sekundę po rozkazie konwersji<br /> *  dokonuj odczytu i wyświetlania temperatur z 2 czujników jeśli są podłączone, jeśli nie<br /> *  to pokaż komunikat o błędzie<br /> */<br />if( 2 == (sekundy%3) ) {<br />if( DS18X20_OK == DS18X20_read_meas(gSensorIDs&#91;0&#93;, &amp;subzero, &amp;cel, &amp;cel_fract_bits) ) display_temp(0);<br />else {<br />lcd_locate(1,0);<br />lcd_str(&quot; error &quot;);<br />}<br /><br />if( DS18X20_OK == DS18X20_read_meas(gSensorIDs&#91;1&#93;, &amp;subzero, &amp;cel, &amp;cel_fract_bits) ) display_temp(9);<br />else {<br />lcd_locate(1,9);<br />lcd_str(&quot; error &quot;);<br />}<br />}<br /><br />/* zerujemy flagę aby tylko jeden raz w ciągu sekundy wykonać operacje */<br />s1_flag=0;<br />} /* koniec sprawdzania flagi */<br />} /* koniec pętli nieskończonej */<br />}<br /><br />/* wyświetlanie temperatury na pozycji X w drugiej linii LCD */<br />void display_temp(uint8_t x) {<br />lcd_locate(1,x);<br />if(subzero) lcd_str(&quot;-&quot;);/* jeśli subzero==1 wyświetla znak minus (temp. ujemna) */<br />else lcd_str(&quot; &quot;);/* jeśli subzero==0 wyświetl spację zamiast znaku minus (temp. dodatnia) */<br />lcd_int(cel);/* wyświetl dziesiętne części temperatury  */<br />lcd_str(&quot;.&quot;);/* wyświetl kropkę */<br />lcd_int(cel_fract_bits); /* wyświetl dziesiętne części stopnia */<br />lcd_str(&quot; C &quot;); /* wyświetl znak jednostek (C - stopnie Celsiusza) */<br />}<br /><br /><br />/* ================= PROCEDURA OBSŁUGI PRZERWANIA – COMPARE MATCH */<br />/* pełni funkcję timera programowego wyznaczającego podstawę czasu = 1s */<br />ISR(TIMER0_COMP_vect)<br />{<br />static uint8_t cnt=0;/* statyczna zmienna cnt do odliczania setnych ms */<br /><br />if(++cnt&gt;99) {/* gdy licznik ms &gt; 99 (minęła 1 sekunda) */<br />s1_flag=1;/* ustaw flagę tyknięcia sekundy */<br />sekundy++;/* zwiększ licznik sekund */<br />if(sekundy&gt;59) sekundy=0; /* jeśli ilość sekund &gt; 59 - wyzeruj */<br />cnt=0;/* wyzeru licznik setnych ms */<br />}<br />}[/syntax]<br /><br />onewire.h<br />[syntax=c]/************************************************************************/<br />/*                                                                      */<br />/*        Access Dallas 1-Wire Device with ATMEL AVRs                   */<br />/*                                                                      */<br />/*              Author: Peter Dannegger                                 */<br />/*                      danni@specs.de                                  */<br />/*                                                                      */<br />/* modified by Martin Thomas &lt;eversmith@heizung-thomas.de&gt; 9/2004       */<br />/************************************************************************/<br />/*<br /> * onewire.h<br /> *<br /> *  Created on: 2009-08-22<br /> *      modyfikacje: Mirosław Kardaś<br /> */<br /><br />#ifndef ONEWIRE_H_<br />#define ONEWIRE_H_<br /><br />#include &lt;inttypes.h&gt;<br /><br />/*******************************************/<br />/* Hardware connection                     */<br />/*******************************************/<br /><br />/* Wybór PINu oraz PORTu na magistralę 1Wire */<br />#define OW_PIN  PB1<br />#define OW_IN   PINB<br />#define OW_OUT  PORTB<br />#define OW_DDR  DDRB<br /><br /><br /><br />/*******************************************/<br /><br />#define OW_MATCH_ROM0x55<br />#define OW_SKIP_ROM    0xCC<br />#defineOW_SEARCH_ROM0xF0<br /><br />#defineOW_SEARCH_FIRST0xFF// start new search<br />#defineOW_PRESENCE_ERR0xFF<br />#defineOW_DATA_ERR    0xFE<br />#define OW_LAST_DEVICE0x00// last device found<br />//0x01 ... 0x40: continue searching<br /><br />// rom-code size including CRC<br />#define OW_ROMCODE_SIZE 8<br /><br />uint8_t ow_reset(void);<br /><br />uint8_t ow_bit_io( uint8_t b );<br />uint8_t ow_byte_wr( uint8_t b );<br />uint8_t ow_byte_rd( void );<br /><br />uint8_t ow_rom_search( uint8_t diff, uint8_t *id );<br /><br />void ow_command( uint8_t command, uint8_t *id );<br /><br />void ow_parasite_enable(void);<br />void ow_parasite_disable(void);<br />uint8_t ow_input_pin_state(void);<br /><br /><br /><br />#endif /* ONEWIRE_H_ */[/syntax]<br /><br />DS18X28.h <br />[syntax=c]/************************************************************************/<br />/*                                                                      */<br />/*        Access Dallas 1-Wire Device with ATMEL AVRs                   */<br />/*                                                                      */<br />/*              Author: Peter Dannegger                                 */<br />/*                      danni@specs.de                                  */<br />/*                                                                      */<br />/* modified by Martin Thomas &lt;eversmith@heizung-thomas.de&gt; 9/2004       */<br />/************************************************************************/<br />/*<br /> * ds18x28.h<br /> *<br /> *  Created on: 2009-08-22<br /> *      modyfikacje: Mirosław Kardaś<br /> */<br /><br />#ifndef DS18X28_H_<br />#define DS18X28_H_<br /><br />#include &lt;stdlib.h&gt;<br />#include &lt;inttypes.h&gt;<br />#include &quot;onewire.h&quot;<br /><br /><br />#define MAXSENSORS 2// &lt;----- Tutaj definiujemy maksymalną ilość czujników<br /><br /><br />/* return values */<br />#define DS18X20_OK          0x00<br />#define DS18X20_ERROR       0x01<br />#define DS18X20_START_FAIL  0x02<br />#define DS18X20_ERROR_CRC   0x03<br /><br />#define DS18X20_POWER_PARASITE 0x00<br />#define DS18X20_POWER_EXTERN   0x01<br /><br />/* DS18X20 specific values (see datasheet) */<br />#define DS18S20_ID 0x10<br />#define DS18B20_ID 0x28<br /><br />#define DS18X20_CONVERT_T0x44<br />#define DS18X20_READ0xBE<br />#define DS18X20_WRITE0x4E<br />#define DS18X20_EE_WRITE0x48<br />#define DS18X20_EE_RECALL0xB8<br />#define DS18X20_READ_POWER_SUPPLY 0xB4<br /><br />#define DS18B20_CONF_REG    4<br />#define DS18B20_9_BIT       0<br />#define DS18B20_10_BIT      (1&lt;&lt;5)<br />#define DS18B20_11_BIT      (1&lt;&lt;6)<br />#define DS18B20_12_BIT      ((1&lt;&lt;6)|(1&lt;&lt;5))<br /><br />// indefined bits in LSB if 18B20 != 12bit<br />#define DS18B20_9_BIT_UNDF       ((1&lt;&lt;0)|(1&lt;&lt;1)|(1&lt;&lt;2))<br />#define DS18B20_10_BIT_UNDF      ((1&lt;&lt;0)|(1&lt;&lt;1))<br />#define DS18B20_11_BIT_UNDF      ((1&lt;&lt;0))<br />#define DS18B20_12_BIT_UNDF      0<br /><br />// conversion times in ms<br />#define DS18B20_TCONV_12BIT      750<br />#define DS18B20_TCONV_11BIT      DS18B20_TCONV_12_BIT/2<br />#define DS18B20_TCONV_10BIT      DS18B20_TCONV_12_BIT/4<br />#define DS18B20_TCONV_9BIT       DS18B20_TCONV_12_BIT/8<br />#define DS18S20_TCONV            DS18B20_TCONV_12_BIT<br /><br />// constant to convert the fraction bits to cel*(10^-4)<br />#define DS18X20_FRACCONV         625<br /><br />#define DS18X20_SP_SIZE  9<br /><br />extern uint8_t gSensorIDs&#91;MAXSENSORS&#93;&#91;OW_ROMCODE_SIZE&#93;;<br /><br /><br />/* for description of functions see ds18x20.c */<br /><br />uint8_t search_sensors(void);<br /><br />uint8_tDS18X20_get_power_status(uint8_t id&#91;&#93;);<br /><br />uint8_t DS18X20_start_meas( uint8_t with_external, uint8_t id&#91;&#93;);<br /><br />uint8_t DS18X20_read_meas(uint8_t *id, uint8_t *subzero, uint8_t *cel, uint8_t *cel_frac_bits);<br /><br />uint8_t DS18X20_read_meas_single(uint8_t familycode,uint8_t *subzero, uint8_t *cel, uint8_t *cel_frac_bits);<br /><br />int DS18X20_temp_cmp(uint8_t subzero1, uint16_t cel1,uint8_t subzero2, uint16_t cel2);<br /><br /><br /><br />#endif /* DS18X28_H_ */[/syntax]<br /><br />Ustawienie jest dla 8Mhz dlatego przy rejestrze porównania jest 78, sprawdzałem dwa połączenia czujnika tryb parasite i normal i dalej nic. Co mam uczynić??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14378">Haytham</a> — 3 lis 2016, o 15:49</p><hr />
]]></content>
</entry>
</feed>