<?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=3137&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-02-28T09:22:18+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=3137&amp;mode</id>
<entry>
<author><name><![CDATA[tomwisnia]]></name></author>
<updated>2014-02-28T09:22:18+01:00</updated>
<published>2014-02-28T09:22:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=72382#p72382</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=72382#p72382"/>
<title type="html"><![CDATA[Re: Ds1820 - Nie znajduje sensora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=72382#p72382"><![CDATA[
kolego Wielki czy mógłbyś pokazać funkcję :<br /><br />d_led_temp<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=183">tomwisnia</a> — 28 lut 2014, o 09:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2013-05-24T07:22:33+01:00</updated>
<published>2013-05-24T07:22:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37527#p37527</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37527#p37527"/>
<title type="html"><![CDATA[Re: Ds1820 - Nie znajduje sensora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37527#p37527"><![CDATA[
Miałem podobnie, bo nie zrobiłem clean, przed wgraniem po ponownej kompilacji, a zmieniałem wyprowadzenie 1wire by na płytce był porządek <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> i też siedziałem z dzień nad tym........bo przecież wczoraj jeszcze działało, a dziś, już nie.<br /><br />Na takie &quot;problemy&quot; najlepsze są gotowce, albo od Mirka, albo zrobione własnoręcznie, czyli jakiś podstawowy program bez dodatków, sprawdzony, okazuje się potem najczęściej, że prosty błąd, a czasu zmarnowane, jak by co najmniej wahadłowiec człowiek składał <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />.<p>Statystyki: Napisane przez Gość — 24 maja 2013, o 07:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wielki]]></name></author>
<updated>2013-05-24T02:53:21+01:00</updated>
<published>2013-05-24T02:53:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37524#p37524</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37524#p37524"/>
<title type="html"><![CDATA[Re: Ds1820 - Nie znajduje sensora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37524#p37524"><![CDATA[
A więc tak, dla potomnych. Sprawdzajcie połączenia 100x, oraz jak coś nie działa na jednym porcie, to zmieńcie i sprawdźcie czy na innym jest taka sama sytuacja. Bo mój czujnik ruszył po zmianie z PB0 na PB1. Magia!! <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br /><br />Nie mniej jednak, dziękuje wszystkim którzy zaangażowali się w pomoc <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Dzięki wam mam ochotę na dalszą zabawę z programowaniem<br /><br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1326">Wielki</a> — 24 maja 2013, o 02:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wielki]]></name></author>
<updated>2013-05-19T13:15:48+01:00</updated>
<published>2013-05-19T13:15:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37309#p37309</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37309#p37309"/>
<title type="html"><![CDATA[Re: Ds1820 - Nie znajduje sensora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37309#p37309"><![CDATA[
Panowie, dziękuje wam <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Zabieram się teraz za ten czujnik, program mam ogarnięty, więc w poniedziałek skoczę po DS18B20 i wtedy sprawdzę <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1326">Wielki</a> — 19 maja 2013, o 13:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-05-19T04:59:27+01:00</updated>
<published>2013-05-19T04:59:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37289#p37289</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37289#p37289"/>
<title type="html"><![CDATA[Re: Ds1820 - Nie znajduje sensora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37289#p37289"><![CDATA[
<div class="quotetitle">Wielki napisał(a):</div><div class="quotecontent"><br />Czyli jeżeli w przepełnieniu dam         TCNT0   = 78; <br />To znaczy że będzie mi zliczał tylko 178 razy, czyli tak jak chciałem. Przepraszam że zadaje tak banalne pytania ale dla mnie są to rzeczy nowe.. <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br /></div><br /><br />Dokladnie TAK <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />  i poczytaj tez to co napisal wyzej kolega Anystatyczny <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> bo fajnie podsumował<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 19 maja 2013, o 04:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wielki]]></name></author>
<updated>2013-05-19T01:13:16+01:00</updated>
<published>2013-05-19T01:13:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37286#p37286</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37286#p37286"/>
<title type="html"><![CDATA[Re: Ds1820 - Nie znajduje sensora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37286#p37286"><![CDATA[
Czyli jeżeli w przepełnieniu dam         TCNT0   = 78; <br />To znaczy że będzie mi zliczał tylko 178 razy, czyli tak jak chciałem. Przepraszam że zadaje tak banalne pytania ale dla mnie są to rzeczy nowe.. <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1326">Wielki</a> — 19 maja 2013, o 01:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-05-18T17:58:17+01:00</updated>
<published>2013-05-18T17:58:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37265#p37265</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37265#p37265"/>
<title type="html"><![CDATA[Re: Ds1820 - Nie znajduje sensora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37265#p37265"><![CDATA[
skoro chcesz podzielić przez 178, to:<br /><br />TCNT0   = 178;  <br /><br />źle <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />przecież po przeładowaniu timer będzie w trybie NORMAL teraz zliczał od 178 do 256 czyli ile ? ....... 78<br /><br />więc będziesz miał podział częstotliwości po preskalerze przez 78 a nie 178 - a chyba nie o to ci chodziło ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 18 maja 2013, o 17:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wielki]]></name></author>
<updated>2013-05-18T17:34:33+01:00</updated>
<published>2013-05-18T17:34:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37264#p37264</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37264#p37264"/>
<title type="html"><![CDATA[Re: Ds1820 - Nie znajduje sensora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37264#p37264"><![CDATA[
[syntax=c]ISR(TIMER0_OVF_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 />TCNT0   = 178;//przeładowanie licznika<br />}[/syntax]<br /><br />Teraz jest dobrze ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1326">Wielki</a> — 18 maja 2013, o 17:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-05-18T16:17:57+01:00</updated>
<published>2013-05-18T16:17:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37254#p37254</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37254#p37254"/>
<title type="html"><![CDATA[Re: Ds1820 - Nie znajduje sensora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37254#p37254"><![CDATA[
jeśli to ATmega8 to przecież ona nie ma trybu CTC, tylko NORMAL dla Timer0 a ty sobie na początku zrobiłeś:<br /><br />TCNT0   = 178;                                  // przerwanie porównania co 10ms (100Hz)<br /><br />i myślisz że dzięki temu będzie zliczał co tyle czasu ? <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />przecież timer w trybie NORMAL trzeba jeszcze przeładowywać w przerwaniu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 18 maja 2013, o 16:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wielki]]></name></author>
<updated>2013-05-18T15:58:04+01:00</updated>
<published>2013-05-18T15:58:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37251#p37251</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37251#p37251"/>
<title type="html"><![CDATA[Re: Ds1820 - Nie znajduje sensora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37251#p37251"><![CDATA[
Odpalając kod z płyty nie widział bym czy działa czy nie.. bo musiałbym odpalić go z LCD którego nie posiadam. Proszę sprawdź kod który podałem potem. Tam jest już poprawna inicjalizacja Timera0, z częstotliwością 10 ms.... Skorzystałem z niego gdyż korzystam z bibliotek z płyty do multipleksowania, a tam korzystam z Timera2. Poza tym czysty kod jest na ATmega32 <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1326">Wielki</a> — 18 maja 2013, o 15:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-05-18T15:53:47+01:00</updated>
<published>2013-05-18T15:53:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37250#p37250</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37250#p37250"/>
<title type="html"><![CDATA[Re: Ds1820 - Nie znajduje sensora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37250#p37250"><![CDATA[
Tzn zobacz , na początku pokazujesz kod z użyciem Timer1, a tego na DVD ani w książce nie ma - więc nie mów że to jest kod z płyty DVD <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> bo nie jest ... więc masz dwie dodatkowe NIEWIADOME<br /><br />1. błąd w kodzie<br />2. błąd w sprzęcie<br /><br />zatem jeśli odpaliłbyś kod z DVD a coś by nie działało to wiedziałbyś że pozostaje ci już tylko błąd sprzętowy i o połowę mnie roboty z szukaniem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 18 maja 2013, o 15:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wielki]]></name></author>
<updated>2013-05-18T15:50:46+01:00</updated>
<published>2013-05-18T15:50:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37249#p37249</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37249#p37249"/>
<title type="html"><![CDATA[Re: Ds1820 - Nie znajduje sensora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37249#p37249"><![CDATA[
Kiedy to jest kod z płyty, nic nie zmieniałem. Podłączyłem nóżkę DQ do PB0 z pull-up, jedyne co to tylko usunąłem wyświetlanie temp. Wszystko widać w kodzie który zresztą jest tam wyżej..<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1326">Wielki</a> — 18 maja 2013, o 15:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-05-18T05:46:58+01:00</updated>
<published>2013-05-18T05:46:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37215#p37215</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37215#p37215"/>
<title type="html"><![CDATA[Re: Ds1820 - Nie znajduje sensora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37215#p37215"><![CDATA[
ta biblioteke rowniez ds1820 wiec nie szukaj tu przyczyny <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> musisz miec cos zle podlaczone albo babolka gdzies w kodzie. co za problem sprawdzic kod z dvd i zobaczyc ze dziala<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 18 maja 2013, o 05:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wielki]]></name></author>
<updated>2013-05-17T22:59:08+01:00</updated>
<published>2013-05-17T22:59:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37206#p37206</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37206#p37206"/>
<title type="html"><![CDATA[Re: Ds1820 - Nie znajduje sensora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37206#p37206"><![CDATA[
Witojcie, dołożyłem drugi rezystorek równolegle i nic, dalej nie znajduje czujnika. Czuje że problem leży w tym że mam DS1820 a w bibliotece znajduje się coś takiego<br /><br />[syntax=c]#define DS18S20_ID 0x10<br />#define DS18B20_ID 0x28[/syntax]<br /><br />co sugeruje, przynajmniej mi, że ta biblioteka obsługuje tylko DS18S20 i DS18B20 <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1326">Wielki</a> — 17 maja 2013, o 22:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-05-17T17:55:48+01:00</updated>
<published>2013-05-17T17:55:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37177#p37177</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37177#p37177"/>
<title type="html"><![CDATA[Re: Ds1820 - Nie znajduje sensora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37177#p37177"><![CDATA[
warto miec dwa tak dla porownania. i daj rezystor 2.2k jak pisalem<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 17 maja 2013, o 17:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wielki]]></name></author>
<updated>2013-05-17T17:16:11+01:00</updated>
<published>2013-05-17T17:16:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37174#p37174</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37174#p37174"/>
<title type="html"><![CDATA[Re: Ds1820 - Nie znajduje sensora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37174#p37174"><![CDATA[
Istotnie, jest to rezystok 4,7 Kom. Już nie wiem co mam źle <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> Chyba mam zepsuty czujnik...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1326">Wielki</a> — 17 maja 2013, o 17:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-05-17T16:49:58+01:00</updated>
<published>2013-05-17T16:49:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37172#p37172</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37172#p37172"/>
<title type="html"><![CDATA[Re: Ds1820 - Nie znajduje sensora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37172#p37172"><![CDATA[
<div class="quotetitle">Wielki napisał(a):</div><div class="quotecontent"><br />do Vcc poprzez rezystor 4.7 Ohm<br /></div><br /><br />4,7 ohm ???????? o jo joj <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> .... to mogłeś zgotować męki piekielne nie tylko czujnikowi ale prockowi <br /><br />więc albo literówkę zrobiłeś i dałeś rezystor 4,7K albo jeśli rzeczywiście dałeś tak mały rezystor ???? to niedobrze <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />daj albo 4,7K a najlepiej 2,2K (polecam ten drugi)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 17 maja 2013, o 16:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wielki]]></name></author>
<updated>2013-05-17T13:28:19+01:00</updated>
<published>2013-05-17T13:28:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37164#p37164</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37164#p37164"/>
<title type="html"><![CDATA[Re: Ds1820 - Nie znajduje sensora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37164#p37164"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />Powiedz mi jaką drogą szedłeś konfigurując ten timer ? i dlaczego wybrałeś armatę jaką jest 16-bitowy timer do tak błahego celu ?<br /></div><br /><br />Gdyż Timer2 który także obsługuje CTC został już wykorzystany do multipleksowania wyświetlacza. <div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />przy okazji zapytam czy korzystasz / sprawdzasz kody na dołączonej płycie DVD ? czy oglądałeś lekcje Video na DVD ? jeśli nie to polecam ....<br /></div><br /><br />Zadaną pokutę odmówiłem, poza tym jeżeli chodzi o 1wire to niestety nie ma takiej lekcji Video. A płyta oraz książka są nieodłącznymi kompanami w tej nierównej walce, poza tym jak już wspomniałem dopiero zaczynam, staram się opanować podstawy, a potem dopiero będę myślał o czymś poważniejszym, jak np następne projekty <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Dziękuje za pomoc, będę dalej walczyć, ale to po maturze. Odezwę się znów jeżeli nic nie zadziała.<br /><br /><br /><br /><br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />A uważasz że to słuszne publikować biblioteki na forach ? .... ale oczywiście tak czy inaczej dziękuję za taką postawę, że ich nie udostępniasz ...<br /></div><br /><br />Ależ Panie Mirku, ja nie miałem na celu urazić Pana, tylko chciałem wyjaśnić dlaczego nie udostępniam bibliotek, a robię to ze względu na szacunek do Pańskiej pracy włożonej w tą książkę <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Poza tym poszukałem poszukałem i znalazłem. Jeszcze raz prześledziłem dział o przerwaniach, teraz już mniej więcej wiem jak je skonfigurować. Fragment kodu zaczerpnięty z tematu o termoparze kolegi kilka postów wyżej <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 2010-03-30<br /> *       Autor: Mirosław Kardaś<br /> */<br />#include &lt;avr/io.h&gt;// dołączenie głównego systemowego  pliku nagłówkowego<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br /><br />#include &quot;d_led.h&quot;// dołączenie naszego pliku nagłówkowego (obsługa LED)<br />#include &quot;1Wire/ds18x20.h&quot; // dołączenie pliku obsługi 1wire<br /><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 />     <br />        /*Przerywanie wygonywane jest z czestotliwoscia ok 10ms (100 razy na secunde)*/<br />        /* Timer1 – inicjalizacja przerwania co 10ms */<br />        TCCR0   |= (1&lt;&lt;CS00)|(1&lt;&lt;CS02); // preskaler = 1024<br />        //  8MHz / 1024 / 100Hz = 78 =&gt; 256 - 78 = 178: czyli 1ms<br />        TCNT0   = 178;                                  // przerwanie porównania co 10ms (100Hz)<br />        TIMSK   |= (1&lt;&lt;TOIE0);                  // Odblokowanie przerwania OverFlow<br /><br />// ****** inicjalizacja *********<br />d_led_init();   // inicjalizacja wyświetlacza multipleksowanego<br /><br />// testowa inicjalizacja zmiennych oraz liczb mających się wyświetlać na wyrw. LED<br />cy1=1;<br />cy2=3;<br />cy3=4;<br /><br />// włączenie globalnego zezwolenia na przerwania<br />czujniki_cnt = search_sensors();<br /><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_EXTERN, 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) ) d_led_temp(subzero, cel, cel_fract_bits);<br />else {<br />d_led_error();<br />}<br /><br /><br />sei();/* włączamy globalne przerwania */<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) ) czujniki_cnt = search_sensors();<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) ) d_led_temp(subzero, cel, cel_fract_bits);<br />else {<br />d_led_error1();<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 />ISR(TIMER0_OVF_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 />Teraz działa, przechodzi ładnie do pętli i wgl, ale jednak nie znajduje mojego czujnika. Czujnik w trybie normalnym, nóżka środkowa do Vcc poprzez rezystor 4.7 Ohm. Może mam zepsuty czujnik, a może po prostu to że jest to 1820 a nie 18b20.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1326">Wielki</a> — 17 maja 2013, o 13:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2013-05-17T06:54:35+01:00</updated>
<published>2013-05-17T06:54:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37140#p37140</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37140#p37140"/>
<title type="html"><![CDATA[Re: Ds1820 - Nie znajduje sensora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37140#p37140"><![CDATA[
PS. Zobacz sobie mój temat o termoparze, tam jest pomiar zimnego końca za pomocą DS18X20 działa bez żadnych wielkich przeróbek, timery masz skonfigurowane, tylko poszukać na forum, skopiować i tyle.<p>Statystyki: Napisane przez Gość — 17 maja 2013, o 06:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-05-17T06:30:55+01:00</updated>
<published>2013-05-17T06:30:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37139#p37139</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37139#p37139"/>
<title type="html"><![CDATA[Re: Ds1820 - Nie znajduje sensora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37139#p37139"><![CDATA[
<div class="quotetitle">Wielki napisał(a):</div><div class="quotecontent"><br />Moim głównym podejrzanym jest tutaj Timer1 w trybie CTC skonfigurowany tak żeby otrzymywać 1 ms, tak jak w książce<br /></div><br /><br />A pokaż mi przykład w książce gdzie byłaby mowa że po pierwsze ma w tym przypadku być wykorzystany Timer1 ? a po drugie żeby otrzymywać 1ms ???? <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br /><div class="quotetitle">Wielki napisał(a):</div><div class="quotecontent"><br />OCR1A =  <strong><span style="color: #FF0000">78125000</span></strong>;<br /></div><br /><br />to też było w książce ? Gdyby nie charakterystyczny kod z main to pomyślałbym, że nie chodzi o moją książkę ... zastanawiałeś się jednak nad tą liczbą którą tu wpisujesz do OCR1A ??? przecież to rejestr 16-bitowy - więc jaką liczbę można byłoby do niego wpisać ? czy przypadkiem nie 65535 ??? Powiedz mi jaką drogą szedłeś konfigurując ten timer ? i dlaczego wybrałeś armatę jaką jest 16-bitowy timer do tak błahego celu ?<br /><br /><div class="quotetitle">Wielki napisał(a):</div><div class="quotecontent"><br />Bibliotek nie chcę udostępniać gdyż widziałem pewny opór ze strony autora w innym wątku, a są one nie przerobione, tylko dodanych jest kilka moich funkcji wyświetlających na wyświetlaczu Err i Er<br /></div><br /><br />A uważasz że to słuszne publikować biblioteki na forach ? .... ale oczywiście tak czy inaczej dziękuję za taką postawę, że ich nie udostępniasz ...<br /><br />Przy okazji podpowiem, że takich gotowych bibliotek nie warto przerabiać tzn w takim sensie żeby dodawać do nich jakieś specyficzne rzeczy dla danego projektu bo tracą one swoją uniwersalność i to kompletnie. Podpowiem, że takie funkcje robi się w dodatkowych plikach własnego projektu i wtedy biblioteka jest zawsze pięknie integralną częścią, którą można w razie czego spokojnie skopiować z projektu i użyć wprost w innym (kolejnym) ... a po takiej przeróbce jak skopiujesz - to okaże się że w nowym projekcie wygeneruje się setka błądów i warningów bo np nie używasz takich albo żadnych wyświetlaczy no i będzie trzeba co bibliotekę znowu przerabiać ? ....<br /><br /><div class="quotetitle">Wielki napisał(a):</div><div class="quotecontent"><br />Korzystam z kosteczki pod dźwięczną nazwą Atmega8 karmionej wewnętrznym oscylatorem 8MHz<br /></div><br /><br />oczywiście da radę spokojnie przeportować ten kod z książki na tego procka, tylko jednak proszę doczytaj tam troszkę bo przerwanie o wiele lepiej odpalać na 8-bitowym timerze i powinno się ono wykonywać powiedzmy co 10 ms (akurat w tym przykładzie) bo spójrz na tą linię i komentarz:<br /><br />[syntax=c]if(++cnt&gt;99) {  /* gdy licznik ms &gt; 99 (minęła 1 sekunda) */[/syntax]<br /><br />przy okazji zapytam czy korzystasz / sprawdzasz kody na dołączonej płycie DVD ? czy oglądałeś lekcje Video na DVD ? jeśli nie to polecam ....<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 5 minutach ]</span></strong><br /><br /><div class="quotetitle">Wielki napisał(a):</div><div class="quotecontent"><br />Jednakże nie mogę znaleźć motywu dla tegoż przestępstwa<br /></div><br /><br />Reasumując - jak widzisz ta zła konfiguracja timera może być powodem tego przestępstwa <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> pewnie nie zamierzonego ... ale kto pyta nie błądzi ... spróbuj więc to poprawić a jak coś wyda się nadal niezrozumiałe to śmiało pytaj.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 17 maja 2013, o 06:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wielki]]></name></author>
<updated>2013-05-17T01:33:53+01:00</updated>
<published>2013-05-17T01:33:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37138#p37138</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37138#p37138"/>
<title type="html"><![CDATA[Ds1820 - Nie znajduje sensora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3137&amp;p=37138#p37138"><![CDATA[
Witam, jako młody padawan, sztuki zwanej programowaniem, postanowiłem pewnego poranka iż podszkolę swe umiejętności w owej dziedzinie i postawiłem sobie za cel termometr + 3 7-segmentowe wyświetlacze led. Kiedy już wygrałem bitwę z wyświetlaczami jak nasi z krzyżakami pod Grunwaldem, okazało się iż moja następną bitwą będzie DS1820. A więc po podłączeniu go do portu PB0, nie wyświetla się żadna temperatura tylko error (Err), poza szybkim dochodzeniu, doszedłem do wniosków iż on nawet nie chce wejść w pętlę tylko cały czas jest poza nią. Do tego wyświetlacze migają w odstępach 0,5s, wszystkie równomiernie. Moim głównym podejrzanym jest tutaj Timer1 w trybie CTC skonfigurowany tak żeby otrzymywać 1 ms, tak jak w książce. Jednakże nie mogę znaleźć motywu dla tegoż przestępstwa. Może nie rozwijając się dalej, wrzucę tutaj zdjęcia z miejsca zbrodni.<br /><br />Main.c<br />[syntax=c]#include &lt;avr/io.h&gt;// dołączenie głównego systemowego  pliku nagłówkowego<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br /><br />#include &quot;d_led.h&quot;// dołączenie naszego pliku nagłówkowego (obsługa LED)<br />#include &quot;1Wire/ds18x20.h&quot; // dołączenie pliku obsługi 1wire<br /><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 />     // ustwienia Timera1 proc taktowany 8 000 000 Hz<br /> TCCR1B = (1&lt;&lt;WGM12); // tryb CTC z Timer1<br /> TCCR1B |= (1&lt;&lt;CS10) | (1&lt;&lt;CS12); //ustawienie preskalera na 1024<br /> OCR1A =  78125000;<br /> TIMSK |= (1&lt;&lt;OCIE1B); //zezwolenie na przerwanie <br />// ****** inicjalizacja *********<br />d_led_init();   // inicjalizacja wyświetlacza multipleksowanego<br /><br />// testowa inicjalizacja zmiennych oraz liczb mających się wyświetlać na wyrw. LED<br />cy1=1;<br />cy2=3;<br />cy3=4;<br /><br />// włączenie globalnego zezwolenia na przerwania<br />czujniki_cnt = search_sensors();<br /><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_EXTERN, 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) ) d_led_temp(subzero, cel, cel_fract_bits);<br />else {<br />d_led_error();<br />}<br />*/<br /><br />sei();/* włączamy globalne przerwania */<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) ) czujniki_cnt = search_sensors();<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) ) d_led_temp(subzero, cel, cel_fract_bits);<br />else {<br />d_led_error1();<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 />ISR(TIMER1_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 />Bibliotek nie chcę udostępniać gdyż widziałem pewny opór ze strony autora w innym wątku, a są one nie przerobione, tylko dodanych jest kilka moich funkcji wyświetlających na wyświetlaczu Err i Er. Korzystam z kosteczki pod dźwięczną nazwą Atmega8 karmionej wewnętrznym oscylatorem 8MHz<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1326">Wielki</a> — 17 maja 2013, o 01:33</p><hr />
]]></content>
</entry>
</feed>