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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-01-01T23:18:38+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=2034&amp;mode</id>
<entry>
<author><name><![CDATA[developer85]]></name></author>
<updated>2013-01-01T23:18:38+01:00</updated>
<published>2013-01-01T23:18:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22958#p22958</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22958#p22958"/>
<title type="html"><![CDATA[Re: PCF8583 - ustawianie czasu za pomocą  przycisków]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22958#p22958"><![CDATA[
Heh doczytałem Mirka artykuł na temat drgań styków i po problemie:)<br /><br />Dzięki Krauser twoja podpowiedz była celująca:)<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />Tutaj był problem:<br />[syntax=c]else if(key_lock &amp;&amp; (PINC &amp; KEY_MIN ) )key_lock=0;[/syntax]<br />zmienna key_lock = 0;<br />a ma być key_lock++   - eliminacja drgań styków:)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=390">developer85</a> — 1 sty 2013, o 23:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[developer85]]></name></author>
<updated>2013-01-01T23:07:16+01:00</updated>
<published>2013-01-01T23:07:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22953#p22953</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22953#p22953"/>
<title type="html"><![CDATA[Re: PCF8583 - ustawianie czasu za pomocą  przycisków]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22953#p22953"><![CDATA[
Spłodziłem coś takiego, ale nie wiem czego inkrementacja min nie idzie co 1.<br /><br />[syntax=c]while(1) {<br /><br />if(!key_lock &amp;&amp; !(PINC &amp; KEY_MIN ) ){<br />key_lock=1;<br />TWI_read_buf( PCF8583_ADDR, 0x01, 4, bufor );<br /><br />sekundy = bcd2dec( bufor[ss] );<br />minuty = bcd2dec( bufor[mm] );<br />godziny = bcd2dec( bufor[hh] );<br /><br /><br />min=minuty+1;<br />if(min==59) min=0;<br /><br />bufor[0] = 0;// setne części sekundy<br />bufor[1] = dec2bcd(sekundy);// sekundy<br />bufor[2] = dec2bcd(min);// minuty<br />bufor[3] = dec2bcd(godziny);// godziny<br />// zapis 4 bajtów z bufora pod adres 0x01 w pamięci RAM naszego RTC<br />TWI_write_buf( PCF8583_ADDR, 0x01, 4, bufor );<br /><br />}else if(key_lock &amp;&amp; (PINC &amp; KEY_MIN ) )key_lock=0;<br /><br />if ( int0_flag ) {<br />//odczyt 4 bajtów do bufora od adresu 0x01 z pamięci RAM naszego RTC<br />TWI_read_buf( PCF8583_ADDR, 0x01, 4, bufor );<br /><br />sekundy = bcd2dec( bufor[ss] );<br />minuty = bcd2dec( bufor[mm] );<br /><br />godziny = bcd2dec( bufor[hh] );<br /><br /><br /><br />// wyświetlenie czasu na LCD<br />lcd_locate(1,0);<br />if( godziny &lt; 10 ) lcd_str(&quot;0&quot;);<br />lcd_int(godziny);<br />lcd_str(&quot;:&quot;);<br />if( minuty &lt; 10 ) lcd_str(&quot;0&quot;);<br />lcd_int(minuty);<br />lcd_str(&quot;:&quot;);<br />if( sekundy &lt; 10 ) lcd_str(&quot;0&quot;);<br />lcd_int(sekundy);<br /><br />// odczyt z EEPROM<br />EI2C_read_buf( _24C04_ADDR, 253, sizeof(tekst), bo );<br /><br />// wyświetlenie napisu z EEPROM na LCD<br />lcd_locate(0, 9);<br />lcd_str( (char*)bo );<br /><br />int0_flag=0;<br />}<br /><br />}<br />}[/syntax] <br /><br />Generalnie teraz zwiększa minuty za pomocą przycisku ale to nie to co chcę uzyskać<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=390">developer85</a> — 1 sty 2013, o 23:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2013-01-01T22:45:10+01:00</updated>
<published>2013-01-01T22:45:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22945#p22945</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22945#p22945"/>
<title type="html"><![CDATA[Re: PCF8583 - ustawianie czasu za pomocą  przycisków]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22945#p22945"><![CDATA[
Jak już to tak:<br />[syntax=c]TWI_write_buf( PCF8583_ADDR, 0x03, 1, &amp;bufor[2] );[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 1 sty 2013, o 22:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[developer85]]></name></author>
<updated>2013-01-01T22:43:16+01:00</updated>
<published>2013-01-01T22:43:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22944#p22944</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22944#p22944"/>
<title type="html"><![CDATA[Re: PCF8583 - ustawianie czasu za pomocą  przycisków]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22944#p22944"><![CDATA[
Tak wywala worninga jak pokazałeś Antystatyczny<br />&quot;DescriptionResourcePathLocationType<br />passing argument 4 of 'TWI_write_buf' makes pointer from integer without a castmain.c/08_TWIline 107C/C++ Problem<br />&quot;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=390">developer85</a> — 1 sty 2013, o 22:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[developer85]]></name></author>
<updated>2013-01-01T22:39:17+01:00</updated>
<published>2013-01-01T22:39:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22942#p22942</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22942#p22942"/>
<title type="html"><![CDATA[Re: PCF8583 - ustawianie czasu za pomocą  przycisków]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22942#p22942"><![CDATA[
dla testów wyświetlam zmienną min. Inkrementuje się ale nie zawsze w takt przerwania czyli ustawienia flagi na 1<br /><br />[syntax=c]if(KEY_DOWN_MIN &amp;&amp; int0_flag){<br />min++;<br />bufor[2] = dec2bcd(min);// minuty<br /><br />TWI_write_buf( PCF8583_ADDR, 0x03, 1, bufor );<br />lcd_locate(0,0);<br /><br />lcd_int(min);<br /><br />}[/syntax]<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />wrzuciłem kod zanim zobaczyłem twoją podpowiedz Krauser. Generalnie to masz rację spróbuje to zrobić<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=390">developer85</a> — 1 sty 2013, o 22:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2013-01-01T22:38:31+01:00</updated>
<published>2013-01-01T22:38:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22941#p22941</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22941#p22941"/>
<title type="html"><![CDATA[Re: PCF8583 - ustawianie czasu za pomocą  przycisków]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22941#p22941"><![CDATA[
Zauważ, że tam był bufor na wszystkie dane, a teraz zmieniłeś komórkę nr 2 tego bufora i wpisujesz:<br />a) na nie tą pozycję<br />b) w buforze są jakieś stare dane<br />Może lepiej odczytać wszystko zmienić komórkę 2 i zapisać z powrotem jak wcześniej<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 1 sty 2013, o 22:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[developer85]]></name></author>
<updated>2013-01-01T22:35:13+01:00</updated>
<published>2013-01-01T22:35:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22939#p22939</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22939#p22939"/>
<title type="html"><![CDATA[Re: PCF8583 - ustawianie czasu za pomocą  przycisków]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22939#p22939"><![CDATA[
Pomyślałem że jak wcisnę przycisk i flaga będzie równa 1 to inkrementuję zmienną min wrzucę do bufora i wyśle do PCF. I nie będę musiał używać delaya:)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=390">developer85</a> — 1 sty 2013, o 22:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[developer85]]></name></author>
<updated>2013-01-01T22:30:49+01:00</updated>
<published>2013-01-01T22:30:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22936#p22936</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22936#p22936"/>
<title type="html"><![CDATA[Re: PCF8583 - ustawianie czasu za pomocą  przycisków]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22936#p22936"><![CDATA[
Oczywiście to wyżej to był przykład tylko pisany w znacznikach od ręki.<br />Zrobiłem tak:<br />[syntax=c]<br />while(1) {<br /><br />if(KEY_DOWN_MIN &amp;&amp; int0_flag){<br />min++;<br />bufor[2] = dec2bcd(min);// minuty<br /><br />TWI_write_buf( PCF8583_ADDR, 0x03, 1, bufor );<br /><br /><br /><br />}<br />[/syntax]<br /><br />ale to też mi nie działa<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=390">developer85</a> — 1 sty 2013, o 22:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kila]]></name></author>
<updated>2013-01-01T22:29:43+01:00</updated>
<published>2013-01-01T22:29:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22935#p22935</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22935#p22935"/>
<title type="html"><![CDATA[Re: Odp: PCF8583 - ustawianie czasu za pomocą  przycisków]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22935#p22935"><![CDATA[
Twoje podpowiedzi plus moje i kolega da sobie radę <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":-)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=699">kila</a> — 1 sty 2013, o 22:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kila]]></name></author>
<updated>2013-01-01T22:22:45+01:00</updated>
<published>2013-01-01T22:22:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22933#p22933</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22933#p22933"/>
<title type="html"><![CDATA[Re: Odp: PCF8583 - ustawianie czasu za pomocą  przycisków]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22933#p22933"><![CDATA[
Nie do końca - zobacz swoją funkcję TWI_write. Ustawiasz adres zapisu na 0x01 czyli setne sekundy. Musisz zmienić adres na odpowiedni i zapisać tylko 1 batj danych. <br /><br />No chyba, że się mylę to niech ktoś mnie poprawi. <br /><br />Podpowiedź: robiłem podobnie, działało ale straaaaaasznie wolno <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":-)" title="Szczęśliwy" /> kod był pisany na kolanie więc nie był doskonały <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":-)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=699">kila</a> — 1 sty 2013, o 22:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[developer85]]></name></author>
<updated>2013-01-01T22:15:08+01:00</updated>
<published>2013-01-01T22:15:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22929#p22929</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22929#p22929"/>
<title type="html"><![CDATA[Re: PCF8583 - ustawianie czasu za pomocą  przycisków]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22929#p22929"><![CDATA[
czyli generalnie coś w ten deseń jak napisałem?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=390">developer85</a> — 1 sty 2013, o 22:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[developer85]]></name></author>
<updated>2013-01-01T21:37:31+01:00</updated>
<published>2013-01-01T21:37:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22924#p22924</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22924#p22924"/>
<title type="html"><![CDATA[PCF8583 - ustawianie czasu za pomocą  przycisków]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2034&amp;p=22924#p22924"><![CDATA[
Witam!<br />Zastanawiam się jak zrobić ustawienie/korekcję czasu za pomocą przycisków ( godzin i minut). <br />W kodzie z książki ustawienie na sztywno czasu jest wykonane w głównej funkcji main przed pętlą while i bufor <br />wysłany jest do ukladu TWI_read_buf().<br />Nie mam pomysłu jak zrobić zwiększanie  wartości  bufor[2] = dec2bcd( .....) ale i jednoczesny zapis.<br /><br />Można to tak zrobić?<br />[syntax=c]<br />uint8_t min=1;<br /><br />while(1){<br />        if(KEY_DOWN_MIN){<br />            bufor[2] = dec2bcd(min++);<br /><br />           TWI_write_buf( PCF8583_ADDR, 0x01, 4, bufor );<br />}<br /><br />   <br />}<br />[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=390">developer85</a> — 1 sty 2013, o 21:37</p><hr />
]]></content>
</entry>
</feed>