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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-11-12T13:23:38+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=13512&amp;mode</id>
<entry>
<author><name><![CDATA[heniug]]></name></author>
<updated>2015-11-12T13:23:38+01:00</updated>
<published>2015-11-12T13:23:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13512&amp;p=145164#p145164</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13512&amp;p=145164#p145164"/>
<title type="html"><![CDATA[Re: Wyświetlanie temperatury]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13512&amp;p=145164#p145164"><![CDATA[
Dzięki za poradę i przykład. <br />Muszę teraz to przetrawić, może w weekend znajdę na to czas.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1890">heniug</a> — 12 lis 2015, o 13:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matekogon]]></name></author>
<updated>2015-11-09T10:08:55+01:00</updated>
<published>2015-11-09T10:08:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13512&amp;p=144882#p144882</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13512&amp;p=144882#p144882"/>
<title type="html"><![CDATA[Re: Wyświetlanie temperatury]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13512&amp;p=144882#p144882"><![CDATA[
Kolego tak jak kolega janas1 podpowiedział użyj timera. Lecz w timerze to odliczał bym sobie odpowiednie odcinki czasu które były by odpowiednikami delayów. Np:<br /><br />[syntax=c]ISR(TIMER0_COMPA_vect){    // przerwanie od timera0 co 10ms<br />flaga_10ms=1;<br /><br /><br />// programowe timery<br /><br />if (!(tyk%2))flaga_50ms=1;<br />if (!(tyk%10))flaga_100ms=1;// odcinek 100ms modulo reszta z dzielenia wyznacznikiem<br />if (!(tyk%50))flaga_500ms=1;<br />if (!(tyk%20))flaga_200ms=1;<br />if (!(tyk%100)){flaga_1s=1;<br />tyk=0;<br />}<br /> tyk++;<br />}[/syntax]<br /><br />Następnie w głównym programie sobie sprawdzasz czy flaga została ustawiona<br /><br />[syntax=c]while(1){<br /><br /><br />// główny program<br /><br /><br />if (flaga_100ms){<br /><br />// wykonuje się kod co 100ms<br /><br /><br />flaga_100ms=0<br /><br />}<br /><br /><br />if (flaga_1s){<br /><br />// wykonuje się co 1s<br /><br />flaga_1s=0<br />}[/syntax]<br /><br /><br />i w ten sposób sterujesz sobie co i kiedy ma sie wykonywać<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1380">matekogon</a> — 9 lis 2015, o 10:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[janas1]]></name></author>
<updated>2015-11-08T19:50:18+01:00</updated>
<published>2015-11-08T19:50:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13512&amp;p=144839#p144839</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13512&amp;p=144839#p144839"/>
<title type="html"><![CDATA[Re: Wyświetlanie temperatury]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13512&amp;p=144839#p144839"><![CDATA[
ja zastosowałbym timer i w przerwaniu zwiekszał wartosc <br />gSensorIDs[0] zgodnie z iloscia znalezionych czujników w kółko .<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11528">janas1</a> — 8 lis 2015, o 19:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[heniug]]></name></author>
<updated>2015-11-08T19:45:46+01:00</updated>
<published>2015-11-08T19:45:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13512&amp;p=144838#p144838</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13512&amp;p=144838#p144838"/>
<title type="html"><![CDATA[Wyświetlanie temperatury]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13512&amp;p=144838#p144838"><![CDATA[
Witam<br />Proszę o podpowiedź jak zrobić wyświetlanie temperatury z dwóch czujników oraz czasu.<br />Chodzi mi o pozbycie się _delay_ms().<br />Potem  chcę dodać ustawianie zegara, <br /><br />[syntax=c]//**********************  pętla główna<br />while(1)<br />{<br /><br /><br /><br />// Sprawdzenie iloci czujników<br />//czujniki_cnt = search_sensors();<br />// Dokonanie pomiaru<br /><br /><br />if (zeg==0){<br /><br />DDRC &amp;=~(1&lt;&lt;PC7);<br />DS18X20_start_meas( DS18X20_POWER_PARASITE, NULL );<br />// Odczekanie na wynik<br />_delay_ms(750);<br /><br /><br />if(DS18X20_OK == DS18X20_read_meas(gSensorIDs&#91;0&#93;, &amp;subzero, &amp;cel, &amp;cel_fract_bits)){<br />if (subzero) cy4= MINUS;<br />else cy4= NIC;<br />uint8_t cel3=dec2bcd(cel);<br />cy3 =cel3&gt;&gt;4;<br />cy2 = (cel3 &amp; 0x0f);<br />kropka2=1;<br />cy1 = dec2bcd(cel_fract_bits);<br />}<br /><br /><br /><br /><br /><br />_delay_ms(2500);<br /><br />if(DS18X20_OK == DS18X20_read_meas(gSensorIDs&#91;1&#93;, &amp;subzero, &amp;cel, &amp;cel_fract_bits)){<br />if (subzero) cy4= MINUS;<br />else cy4= D;<br />uint8_t cel3=dec2bcd(cel);<br />cy3 =cel3&gt;&gt;4;<br />cy2 = (cel3 &amp; 0x0f);// | KROPKA;<br />kropka2=1;<br />cy1 = dec2bcd(cel_fract_bits);<br />}<br /><br /><br />_delay_ms(2500);<br />}<br />//uint8_t k1, k2, k3;<br /><br />//SuperDebounce(&amp;k1, &amp;PIND, KL1, 0, 500,hh_plus , pusty );<br /><br />//SuperDebounce(&amp;k2, &amp;PIND, KL2, 0, 500, mm_plus, pusty );<br />//SuperDebounce(&amp;k3, &amp;PIND, KL3, 0, 500, ustaw, pusty );<br /><br />kropka2=0;<br /><br />TWI_read_buf(0xD0, 0x01, 2, bufor_zegar);<br />DDRC |= DW;<br /><br /><br />//sek = bcd2dec(bufor_zegar&#91;ss&#93;);<br />min = bcd2dec(bufor_zegar&#91;mm&#93;);<br />godz = bcd2dec(bufor_zegar&#91;hh&#93;);<br /><br />// oddzielenie części dziesiętnej oraz jedności<br />//sek_1 = sek / 10;<br />//sek_2 = sek - (10*sek_1);<br /><br />cy2 = min / 10;<br />cy1 = min - (10*cy2);<br /><br />cy4 = godz / 10;<br />cy3 = godz - (10*cy4);<br /><br /><br />_delay_ms(5000);<br /><br /><br /><br /><br /><br /><br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1890">heniug</a> — 8 lis 2015, o 19:45</p><hr />
]]></content>
</entry>
</feed>