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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-07-15T22:31:41+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=18790&amp;mode</id>
<entry>
<author><name><![CDATA[RadekB86]]></name></author>
<updated>2017-07-15T22:31:41+01:00</updated>
<published>2017-07-15T22:31:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18790&amp;p=192175#p192175</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18790&amp;p=192175#p192175"/>
<title type="html"><![CDATA[Re: DS1307 zmiana czasu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18790&amp;p=192175#p192175"><![CDATA[
Zajrzyj tutaj ja robie tak <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic15802.html" >topic15802.html</a><!-- l --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1837">RadekB86</a> — 15 lip 2017, o 22:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jaca_76]]></name></author>
<updated>2017-07-12T19:47:42+01:00</updated>
<published>2017-07-12T19:47:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18790&amp;p=192019#p192019</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18790&amp;p=192019#p192019"/>
<title type="html"><![CDATA[Re: DS1307 zmiana czasu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18790&amp;p=192019#p192019"><![CDATA[
Źle podchodzisz do tego . <br />Powinieneś wziąć przykład z jakiegokolwiek zegarka czyli najpierw ustawić czas a następnie go zapisać do DSa a nie po każdej przyciśnięciu przycisku zapisywać do DSa.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2479">jaca_76</a> — 12 lip 2017, o 19:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[BARVX]]></name></author>
<updated>2017-07-12T16:44:55+01:00</updated>
<published>2017-07-12T16:44:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18790&amp;p=192013#p192013</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18790&amp;p=192013#p192013"/>
<title type="html"><![CDATA[DS1307 zmiana czasu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18790&amp;p=192013#p192013"><![CDATA[
Napisałem program do ds1307 ze zmianą czasu za pomocą przycisków który działa, teoretycznie bo w praktyce przy większej ilości naciśnięć godzina się zmienia, ale po pewnym czasie. Czy może ktoś podpowiedzieć w jaki sposób da się to zrobić żeby tak nie zamulał.<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;stdlib.h&gt;<br /><br />#include &quot;hd44780/hd44780.h&quot;<br />#include &quot;I2C_TWI/i2c_twi.h&quot;<br /><br /><br /><br />void DS1307(void);<br />void przycisk(void);<br />void Init(void);<br /><br /><br />char buffer&#91;10&#93;;<br />volatile uint8_t flaga;<br />uint8_t key_lock,key_lock1,key_lock2;<br /><br />uint8_t bufor&#91;10&#93;,sekundy,minuty,godziny,dzien,data,miesiac,rok;<br /><br />int main ()<br />{<br /><br />Init();<br /><br />bufor&#91;0&#93;=dec2bcd(57);//sekundy<br />bufor&#91;1&#93;=dec2bcd(55);//minuty<br />bufor&#91;2&#93;=dec2bcd(10);//godziny<br />bufor&#91;3&#93;=dec2bcd(6);//pn-nd<br />bufor&#91;4&#93;=dec2bcd(3);//1-31<br />bufor&#91;5&#93;=dec2bcd(7);//miesiac<br />bufor&#91;6&#93;=dec2bcd(17);//rok<br />bufor&#91;7&#93;=dec2bcd(10);//SQW 1Hz<br /><br />TWI_write_buf(208, 0, 8, bufor);<br /><br />/*TWI_start();<br />TWI_write(208);<br />TWI_write(7);SQW 1Hz<br />TWI_write( 1 &lt;&lt; 4);<br />TWI_stop();*/<br /><br />sei();<br /><br />while(1)<br />{<br /><br />if(flaga)<br />{<br /><br />DS1307();<br />flaga = 0;<br /><br />}<br />przycisk();<br />}<br /><br />}<br /><br /><br />ISR(INT0_vect)<br />{<br />flaga=1;<br /><br />}<br /><br />void DS1307(void)<br />{<br /><br />TWI_read_buf(208, 0, 8, bufor);<br /><br />sekundy = bcd2dec( bufor&#91;0&#93; );<br />minuty = bcd2dec( bufor&#91;1&#93; );<br />godziny = bcd2dec( bufor&#91;2&#93; );<br />dzien = bcd2dec( bufor&#91;3&#93; );<br />data = bcd2dec( bufor&#91;4&#93; );<br />miesiac = bcd2dec( bufor&#91;5&#93; );<br />rok = bcd2dec( bufor&#91;6&#93; );<br /><br /><br /><br />LCD_GoTo(4,0);<br />if(godziny&lt;10) LCD_WriteText(&quot;0&quot;);<br />LCD_INT(godziny);<br /><br /><br />LCD_WriteText(&quot;:&quot;);<br /><br />if(minuty&lt;10) LCD_WriteText(&quot;0&quot;);<br />LCD_INT(minuty);<br /><br />LCD_WriteText(&quot;:&quot;);<br /><br />if(sekundy&lt;10)LCD_WriteText(&quot;0&quot;);<br />LCD_INT(sekundy);<br /><br />LCD_GoTo(3,1);<br />if(data&lt;10)LCD_WriteText(&quot;0&quot;);<br />LCD_INT(data);<br /><br />LCD_WriteText(&quot;/&quot;);<br /><br />if(miesiac&lt;10)LCD_WriteText(&quot;0&quot;);<br />LCD_INT(miesiac);<br /><br />LCD_WriteText(&quot;/&quot;);<br /><br />LCD_WriteText(&quot;20&quot;);<br />LCD_INT(rok);<br /><br /><br />}<br />void przycisk(void)<br />{<br /><br />if(!key_lock &amp;&amp;!(PINB &amp; 1&lt;&lt;PB0))<br />{<br />TWI_read_buf(208, 0, 3, bufor);<br /><br />godziny = bcd2dec( bufor&#91;2&#93; );<br />godziny++;<br />if(godziny==24)godziny=0;<br /><br />bufor&#91;2&#93;=dec2bcd(godziny);<br /><br />TWI_write_buf(208, 0, 3, bufor);<br /><br />key_lock=1;<br /><br />PORTB|=(1&lt;&lt;PB1);<br />_delay_ms(30);<br />PORTB&amp;=~(1&lt;&lt;PB1);<br />}<br />else if(key_lock &amp;&amp; (PINB &amp; 1&lt;&lt;PB0))key_lock++;<br /><br /><br />if(!key_lock1 &amp;&amp;!(PINB &amp; 1&lt;&lt;PB2))<br />{<br />TWI_read_buf(208, 0, 3, bufor);<br /><br />minuty = bcd2dec( bufor&#91;1&#93; );<br />minuty++;<br />if(minuty==60)minuty=0;<br /><br />bufor&#91;1&#93;=dec2bcd(minuty);<br /><br />TWI_write_buf(208, 0, 3, bufor);<br /><br />key_lock1=1;<br /><br />PORTB|=(1&lt;&lt;PB1);<br />_delay_ms(30);<br />PORTB&amp;=~(1&lt;&lt;PB1);<br />}<br />else if(key_lock1 &amp;&amp; (PINB &amp; 1&lt;&lt;PB2))key_lock1++;<br /><br /><br />if(!key_lock2 &amp;&amp;!(PIND &amp; 1&lt;&lt;PD6))<br />{<br />TWI_read_buf(208, 0, 3, bufor);<br /><br />sekundy = bcd2dec( bufor&#91;0&#93; );<br />sekundy=0;<br /><br />bufor&#91;0&#93;=dec2bcd(sekundy);<br /><br />TWI_write_buf(208, 0, 3, bufor);<br /><br />key_lock2=1;<br /><br />PORTB|=(1&lt;&lt;PB1);<br />_delay_ms(30);<br />PORTB&amp;=~(1&lt;&lt;PB1);<br />}<br />else if(key_lock2 &amp;&amp; (PIND &amp; 1&lt;&lt;PB6))key_lock2++;<br /><br /><br />}<br />void Init(void)<br />{<br />DDRB |= (1&lt;&lt;PB1);<br />DDRB &amp;= ~(1&lt;&lt;PB0);<br />DDRB &amp;= ~(1&lt;&lt;PB2);<br />DDRD &amp;= ~(1&lt;&lt;PD6);<br /><br />PORTB |= (1&lt;&lt;PB0);<br />PORTB |= (1&lt;&lt;PB2);<br />PORTD |= (1&lt;&lt;PD6);<br /><br />LCD_Initalize();<br />i2cSetBitrate(100);<br /><br />GICR |= (1&lt;&lt;INT0);<br />MCUCR |= (1&lt;&lt;ISC01);<br />PORTD |= (1&lt;&lt;PD2);<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15944">BARVX</a> — 12 lip 2017, o 16:44</p><hr />
]]></content>
</entry>
</feed>