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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-04-18T09:44:44+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=20612&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-04-17T21:40:58+01:00</updated>
<published>2018-04-17T21:40:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206926#p206926</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206926#p206926"/>
<title type="html"><![CDATA[Re: Obliczanie kolejnego dnia w roku]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206926#p206926"><![CDATA[
<div class="quotetitle">janusz17 napisał(a):</div><div class="quotecontent"><br />No tak - ilu programistów tyle sposobów.<br /></div><br />wyliczanie prawidłowego dnia tygodnia w tzw wiecznym kalendarzu to nie jest kwestia tylko lat przestępnych<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 17 kwi 2018, o 21:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ELEKTRON105]]></name></author>
<updated>2018-04-17T21:02:51+01:00</updated>
<published>2018-04-17T21:02:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206922#p206922</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206922#p206922"/>
<title type="html"><![CDATA[Re: Obliczanie kolejnego dnia w roku]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206922#p206922"><![CDATA[
Jest to w dawcy czasu o tutaj: <br /><br />#0207 RTC - programowanie w C - part 02<br /><br />Pozdrawiam <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=2242">ELEKTRON105</a> — 17 kwi 2018, o 21:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mczarny]]></name></author>
<updated>2018-04-17T20:41:29+01:00</updated>
<published>2018-04-17T20:41:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206920#p206920</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206920#p206920"/>
<title type="html"><![CDATA[Re: Obliczanie kolejnego dnia w roku]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206920#p206920"><![CDATA[
No tak - ilu programistów tyle sposobów.<br /><div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />W jednym z poradników pokazywałem procedurę obliczania numeru dnia w roku <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> podałem gotowy kod.<br /></div><br /> <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> nie mogę znaleźć....<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4651">mczarny</a> — 17 kwi 2018, o 20:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[janusz17]]></name></author>
<updated>2018-04-17T13:48:40+01:00</updated>
<published>2018-04-17T13:48:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206914#p206914</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206914#p206914"/>
<title type="html"><![CDATA[Re: Obliczanie kolejnego dnia w roku]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206914#p206914"><![CDATA[
A ja sobie zrobiłem tak:<br />[syntax=c]/*<br /> *  Tablica przechowująca liczbę dni poszczególnych miesięcy<br /> */<br />const uint8_t daytab&#91;&#93; PROGMEM = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};<br /><br />/*<br /> * Funkcja zwraca numer dnia w roku<br /> */<br />uint16_t day_of_year(TDATETIME *dt)<br />{<br />    uint8_t i;<br />    uint16_t day_of_year_tmp = 0;<br />    for(i = 1; i &lt; dt-&gt;month; i++)<br />        {<br />            day_of_year_tmp += pgm_read_byte(daytab + i);<br />        }<br />    day_of_year_tmp += dt-&gt;day;<br />    if(dt-&gt;month &lt; march)<br />    {<br />        return day_of_year_tmp;<br />    }<br />    else<br />    {<br />        return day_of_year_tmp + dt-&gt;leap_year;<br />    }<br />}<br /><br />/*<br /> * Funkcja zwraca 0 gdy jest rok zwykły i 1 gdy jest rok przestępny<br /> */<br />uint8_t leap_year(TDATETIME *dt)<br />{<br />    return ((dt-&gt;year % 4 == 0) &amp;&amp; (dt-&gt;year % 100 != 0)) || (dt-&gt;year % 400 == 0);<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1226">janusz17</a> — 17 kwi 2018, o 13:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-04-17T11:55:17+01:00</updated>
<published>2018-04-17T11:55:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206912#p206912</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206912#p206912"/>
<title type="html"><![CDATA[Re: Obliczanie kolejnego dnia w roku]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206912#p206912"><![CDATA[
W jednym z poradników pokazywałem procedurę obliczania numeru dnia w roku <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> podałem gotowy kod.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 17 kwi 2018, o 11:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[chi.cygni]]></name></author>
<updated>2018-04-18T09:44:44+01:00</updated>
<published>2018-04-17T11:23:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206909#p206909</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206909#p206909"/>
<title type="html"><![CDATA[Re: Obliczanie kolejnego dnia w roku]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206909#p206909"><![CDATA[
Nie wiem, czy o to chodzi, ale w poście następującym:<br /><a href="http://forum.atnel.pl/topic18625.html"  class="postlink">http://forum.atnel.pl/topic18625.html</a><br />w trzecim listingu obliczam numer kolejnego dnia w roku (oznaczonego zmienną &quot;n&quot;)<br />na podstawie daty odczytanej z DS3231.<br />Pozdrawiam,<br />chi.cygni<br /><br />PS. Przepis pochodzi stąd: <br />Almanac for Computers, 1990<br />published by Nautical Almanac Office<br />United States Naval Observatory<br />Washington, DC 20392<br /><br />Znaleźć go można tutaj:<br /><a href="http://edwilliams.org/sunrise_sunset_algorithm.htm"  class="postlink">http://edwilliams.org/sunrise_sunset_algorithm.htm</a><br /><br />A formuła jest prosta i uwzględnia wszystkie przypadki:<br />1. first calculate the day of the year<br />N1 = floor(275 * month / 9)<br />N2 = floor((month + 9) / 12)<br />N3 = (1 + floor((year - 4 * floor(year / 4) + 2) / 3))<br />N = N1 - (N2 * N3) + day - 30<br /><br />Dodam od siebie, że jestem pod wrażeniem tych, którzy sami napisali swoje procedury i przedstawili je tutaj.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3240">chi.cygni</a> — 17 kwi 2018, o 11:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Maureli]]></name></author>
<updated>2018-04-17T11:20:53+01:00</updated>
<published>2018-04-17T11:20:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206908#p206908</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206908#p206908"/>
<title type="html"><![CDATA[Re: Obliczanie kolejnego dnia w roku]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206908#p206908"><![CDATA[
można tak:<br /><br />[syntax=c]const int days&#91;&#93; PROGMEM = {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334};<br /><br />int dayOfYear(tdate * date) {<br />return  date.DD + pgm_read_word(&amp;days&#91;date.MM-1&#93;);<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=728">Maureli</a> — 17 kwi 2018, o 11:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mczarny]]></name></author>
<updated>2018-04-17T11:07:57+01:00</updated>
<published>2018-04-17T11:07:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206907#p206907</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206907#p206907"/>
<title type="html"><![CDATA[Re: Obliczanie kolejnego dnia w roku]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206907#p206907"><![CDATA[
<strong>tdate</strong>  to struktura w której przechowuję rok, miesiąc i dzień odczytany z RTC<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4651">mczarny</a> — 17 kwi 2018, o 11:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mczarny]]></name></author>
<updated>2018-04-17T10:53:19+01:00</updated>
<published>2018-04-17T10:53:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206904#p206904</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206904#p206904"/>
<title type="html"><![CDATA[Obliczanie kolejnego dnia w roku]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20612&amp;p=206904#p206904"><![CDATA[
Witam Kolegów<br />Siedzę i wymyślam......<br />Chcę obliczyć kolejny dzień w roku. Zmienna potrzebna mi jest do pobrania odpowiedniego pliku z karty SD z imionami które obchodzą imieniny w danym dniu.<br />Wymyśliłem coś takiego<br />[syntax=c]void next_day(void){<br /><br /> uint8_t x = tdate.MM<br /><br /> switch(x)<br /><br />   {<br /><br />     case 1;<br />     next_day = tdate.DD;<br />     break;<br /><br />     case 2;<br />     next_day = 31 + tdate.DD;<br />     break;<br /><br />     case 3;<br />     next_day = 59 + tdate.DD;<br />     break;<br />  <br />     .<br />     .<br />     .<br />     .<br />     .<br /><br />     case 12;<br />     next_day = 334 + tdate.DD;<br />     break;<br />    }<br /><br />}[/syntax]<br />oczywiście nie uwzględniłem roku przestępnego ale to załatwię dodatkowym warunkiem. <br />W sumie działa, ale może macie inne sposoby...<br /><br />pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4651">mczarny</a> — 17 kwi 2018, o 10:53</p><hr />
]]></content>
</entry>
</feed>