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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2012-08-03T10:35:46+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=114&amp;mode</id>
<entry>
<author><name><![CDATA[gaza]]></name></author>
<updated>2012-08-03T10:35:46+01:00</updated>
<published>2012-08-03T10:35:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11642#p11642</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11642#p11642"/>
<title type="html"><![CDATA[Re: I2C - RTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11642#p11642"><![CDATA[
Ok , zrobiłem poprawki i wszystko ruszyło. Nie wiem czy to możliwe, ale wygląda na to, że przyczyną problemów był źle podłączony trymer. Trudno mi w to uwierzyć, bo wcześniej w programie miałem zmienna inkrementowaną zgodnie z przerwaniami i prezentowałem ja na wyświetlaczu. Taki licznik sekund. Co prawda spieszył się sporo, ale widać było, że działa. Działał też ten nieszczęsny reset. Druga sprawa, to to, że generowanie przerwań a komunikacja i2c to dwie różne sprawy.<br />Po poprawkach RESET działa jak należy a i licznik sekund wygląd , że się nie spieszy. Odczyt czasu działa. Wszystko jest ok.<br />Wklejam też poprawiony schemat<br /><a href="http://forum.atnel.pl/_obrazki/o/503_9f06008e14ffdc163617c6bbc0b05c1d.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/503_9f06008e14ffdc163617c6bbc0b05c1d.png" alt="Obrazek" /></a><br />Dziękuję za zainteresowanie i za pomoc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=503">gaza</a> — 3 sie 2012, o 10:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-08-02T22:28:11+01:00</updated>
<published>2012-08-02T22:28:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11595#p11595</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11595#p11595"/>
<title type="html"><![CDATA[Re: I2C - RTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11595#p11595"><![CDATA[
No to jak mówię doprowadź sprzęt do porządku. Ale uwierz mi, że ten układ resetu nawet nie zrobiłeś dokładnie tak jak na tym kocim blogu polecali tylko go też skiełbasiłeś totalnie ... i dlatego możesz mieć nawet niekontrolowane resety procka niestety. Więc zrób jak mówiłem i zobaczysz że to nie będzie jakoś tam działać a zawsze będzie działać dobrze i nic ci się nie wypali bo to chore brednie niestety <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> z tym wypalaniem styków.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 2 sie 2012, o 22:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gaza]]></name></author>
<updated>2012-08-02T22:15:34+01:00</updated>
<published>2012-08-02T22:15:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11593#p11593</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11593#p11593"/>
<title type="html"><![CDATA[Re: I2C - RTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11593#p11593"><![CDATA[
tak, ten pomysł z tą konfiguracją RESETu to rzeczywiście z tego bloga <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Póki co jakoś działa, ale zrobię to tak jak sugerujesz.<br />Ten trymer to mam do masy. I pewnie to będzie przyczyna tego, że się śpieszy ( przerwania ). Jutro poprawie.<br />Z tym EPROMEM, to mi się &quot;pokiełbasiło&quot;  chodziło oczywiście o RAM<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=503">gaza</a> — 2 sie 2012, o 22:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-08-02T22:02:53+01:00</updated>
<published>2012-08-02T22:02:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11592#p11592</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11592#p11592"/>
<title type="html"><![CDATA[Re: I2C - RTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11592#p11592"><![CDATA[
Panie kolego tobie ten procek w ogóle nie powinien działać przy tym co ty zrobiłeś za cudaka na resecie <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> No czegoś takiego to nie widziałem jeszcze.<br /><br />Posłuchaj podciągnij linię RESET za pomocą rezystora 10K do VCC .... I TO WSZYSTKO, wywal tą diodę a w szczególności ten kondensator, który podpiąłeś jeszcze na dodatek w ogóle nie tak <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> .... i ten rezystor 330R w ogóle wywal w diabły. Możesz zostawić sam przycisk, który ma najnormalniej zwierać linię RESET do GND gdy chcesz procka zresetować .... a pewnie pomysł z tym rezystorem 330R wziąłeś z pewnego kociego bloga gdzie straszą wszystkich początkujących jaka to stanie się tragedia w przycisku i jak to mu się STYKI WYPALĄ OGNIEM PIEKELNYM .... Poważnie daj sobie z tym spokój bo to żenada <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> te porady o tym rezystorze z tego bloga. <br /><br />Kolejna rzecz - tak przy okazji - ale to nie jest tu problemem - chociaż może ???? weź zobacz gdzie masz dołączony ten kondesnator od nogi nr.1 RTC ????? i porównaj z notą PDF - ma być do VCC !!!! a nie do GND<br /><br />To tyle jeśli chodzi o sprzęt.<br /><br />Kolejna rzecz, ten układ RTC nie ma żadnej pamięci EEPROM tylko RAM - więc nie wiem czy to tylko twoja literówka czy coś ci się pokiełbasiło ?<br /><br />zatem popraw najpierw sprzęt i pokaż schemat po poprawkach.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 2 sie 2012, o 22:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gaza]]></name></author>
<updated>2012-08-02T21:44:00+01:00</updated>
<published>2012-08-02T21:44:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11589#p11589</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11589#p11589"/>
<title type="html"><![CDATA[Re: I2C - RTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11589#p11589"><![CDATA[
ogólnie problem jest z błędnym odczytem z RTC, co najprawdopodobniej jest spowodowane nie działaniem I2C. Dlatego proszę o sugestię jak mógłbym podejść do znalezienia przyczyny. Być może problem jest oczywisty dla kogoś z boku, a dla mnie ze względu na zasugerowanie się, jest niewidoczny. <br />Wklejam schemat<br />  <a href="http://forum.atnel.pl/_obrazki/o/503_34a93c9d4718811cf38226cb620fbeea.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/503_34a93c9d4718811cf38226cb620fbeea.png" alt="Obrazek" /></a><br />Na schemacie nie widać, ale nóżka A0 PC8583 jest podpięta do GND. No i widok zasilacza nie jest zbyt ciekawy, bo LM7805 dołożyłem później.<br /><br />Próbowałem też zapisać coś do epromu w RTC, ale bez skutku.<br />Wszelkie podpowiedzi mile widziane<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=503">gaza</a> — 2 sie 2012, o 21:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-08-02T21:26:16+01:00</updated>
<published>2012-08-02T21:26:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11583#p11583</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11583#p11583"/>
<title type="html"><![CDATA[Re: I2C - RTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11583#p11583"><![CDATA[
No dobrze ale jaki jest problem ? bo to że kolega wkleił kod z książki i napisał że &quot;nie działa&quot; i odczytuje jakąś tam liczbę to co? A u mnie ten kod działa - więc jak mogę dojść na podstawie takiego opisu jak pomóc ??? Nawet jakbym chciał to nie dam rady. Stosuje kolega całkiem inny procek - to wypadałoby zacząć przede wszystkim od pokazania dokładnego schematu jak masz wszystko połączone - bo pewnie w tym jest problem.<br /><br />I tak jak pisze SunRiver, kodów z książki nie potrzeba tu wklejać jeśli nie były modyfikowane bo każdy forumowicz ma je przy sobie <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=54">mirekk36</a> — 2 sie 2012, o 21:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2012-08-02T21:21:49+01:00</updated>
<published>2012-08-02T21:21:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11581#p11581</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11581#p11581"/>
<title type="html"><![CDATA[Re: I2C - RTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11581#p11581"><![CDATA[
hmmm prosze nie umieszczac kodów z książki i płyty na forum w całości <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 2 sie 2012, o 21:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gaza]]></name></author>
<updated>2012-08-02T21:30:30+01:00</updated>
<published>2012-08-02T21:13:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11579#p11579</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11579#p11579"/>
<title type="html"><![CDATA[Re: I2C - RTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=11579#p11579"><![CDATA[
Witam.<br />Mam podobny problem jak twórca wątku.<br />Też mam przy odczycie trzy razy 165, przy czym ja używam biblioteki soft.<br />Może od pczątku.<br />procesor atmega 162 taktowany 11059200Hz<br />SDA na PD5, SCL na PD4<br /><br /><br />W sumie to nie mam pomysłu jak podejść do debugowania tego kodu.<br />próbowałem odczytać rejestr kontrolny, ale otzymuje tylko zero.<br />Być może mój opis jest zbyt prosty, ale chętnie uzupełnię<br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=503">gaza</a> — 2 sie 2012, o 21:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[grubson89]]></name></author>
<updated>2012-01-02T17:24:41+01:00</updated>
<published>2012-01-02T17:24:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1060#p1060</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1060#p1060"/>
<title type="html"><![CDATA[Re: I2C - RTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1060#p1060"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Oczywiście masz rację, że prób ujesz sam stworzyć ze zrozumieniem bibliotekę swoją własną - SUPER ! .... sam przyznasz, że dzięki takiemu podejściu jednak człowiek się najwięcej uczy prawda ?<br /></div><br /><br /><br />Zdecydowanie dużo więcej człowiek się nauczy i przynajmniej wie co się dzieje w jego programie, a nawet jeśli wszystkiego nie rozumie to i tak to sporo daje, a z czasem się pewnie i zrozumie <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=113">grubson89</a> — 2 sty 2012, o 17:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2011-12-31T14:00:35+01:00</updated>
<published>2011-12-31T14:00:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1043#p1043</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1043#p1043"/>
<title type="html"><![CDATA[Re: I2C - RTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1043#p1043"><![CDATA[
Żaden kłopot <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> po to jest to forum żeby pytać i dostać odpowiedź .... Oczywiście masz rację, że prób ujesz sam stworzyć ze zrozumieniem bibliotekę swoją własną - SUPER ! .... sam przyznasz, że dzięki takiemu podejściu jednak człowiek się najwięcej uczy prawda ?<br /><br />Również życzę do siego roku <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=54">mirekk36</a> — 31 gru 2011, o 14:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[grubson89]]></name></author>
<updated>2011-12-31T13:25:02+01:00</updated>
<published>2011-12-31T13:25:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1040#p1040</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1040#p1040"/>
<title type="html"><![CDATA[Re: I2C - RTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1040#p1040"><![CDATA[
Ten mój własny twór jest przepisaniem tych bibliotek z TWI (przepisuje ręcznie żeby wiedzieć co tam jest i mniej więcej zrozumieć jak to działa). <br />Jednak rzeczywiście musiałem tam gdzieś popełnić błąd (zaraz postaram się go znaleźć), bo przekopiowałem Pana bibliotekę i działa.<br /><br />Dziękuję za pomoc i przepraszam za kłopot <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />I przy okazji życzę Wszystkich Szczęśliwego Nowego Roku! <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=113">grubson89</a> — 31 gru 2011, o 13:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2011-12-31T09:00:28+01:00</updated>
<published>2011-12-31T09:00:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1039#p1039</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1039#p1039"/>
<title type="html"><![CDATA[Re: I2C - RTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1039#p1039"><![CDATA[
A po co inkludujesz to: ???<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">#include &quot;I2C_SOFT/i2c_soft.h&quot;</div><br /><br />i co to jest: ?????????<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">#include &quot;i2c.h&quot;</div><br /><br />oj, oj - no masz przykład z płyty z książki, piszesz że działa dobrze - jak rozumiem - a sam coś mieszasz na maxa <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Z jakiego I2C korzystasz - zastanów się - ze<strong> sprzętowego TWI</strong> ? czy z programowego czyli <strong>soft_I2C</strong> ???<br /><br />Zobacz, że masz do tego dwie oddzielne lekcje. Niby z kodu wynika że korzystasz ze sprzętowego TWI - ale inkludy masz częściowo od soft_I2C plus jakiś własny twór ten i2c.h.<br /><br />Uporządkuj to wszystko - bo sam kod w main() wygląda że jest OK.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 31 gru 2011, o 09:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[grubson89]]></name></author>
<updated>2011-12-31T00:46:14+01:00</updated>
<published>2011-12-31T00:46:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1038#p1038</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1038#p1038"/>
<title type="html"><![CDATA[Re: I2C - RTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1038#p1038"><![CDATA[
Witam ponownie,<br /><br />Napisałem już program w oparciu o przerwanie, w wyniku poszukiwania błędu zdążyłem go już zmienić na prawie bliźniaczy do przykładowego (sama część komunikacji z RTC - bez EEPROM). Jednak na Pana przykładzie ładnie wyświetla mi godzinę, a przy moim programie mam na wyświetlaczu (&quot;00:00:1033&quot; czasem się zmienia któreś zero na jedynkę). Częstotliwość taktowania ustawiałem na 8MHz i na 11MHz i bez różnicy. Podłączenia muszą być dobrze bo przykładowy program działa. <br /><br />Kod programu:<br />[syntax=c]<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br /><br />#include &quot;I2C_SOFT/i2c_soft.h&quot;<br />#include &quot;LCD/lcd44780.h&quot;<br />#include &quot;i2c.h&quot;<br /><br />volatile uint8_t rtc_int =1;<br /><br />uint8_t dec2bcd(uint8_t dec);<br />uint8_t bcd2dec(uint8_t bcd);<br /><br /><br />int main()<br />{<br />//ustawienie LCD<br />lcd_init();<br />DDRB |= (1&lt;&lt;PB7);<br />PORTB |= (1&lt;&lt;PB7);<br />lcd_cls();<br /><br />//ustawienie dla przerwania<br />PORTD |= (1&lt;&lt;PD2);//podciagniecie do VCC<br />GICR |= (1&lt;&lt;INT0);//zezwolenie<br />MCUCR |= (1&lt;&lt;ISC01);//przy zboczu opadajacym INT0<br /><br />i2cSetBitrate(100);<br /><br />sei();<br /><br />enum{ss,mm,hh};  //tryb wyliczeniowy ss=0 mm=1 hh=2<br />uint8_t bufor[3];<br />uint8_t sekundy, minuty, godziny;<br /><br /><br />while(1)<br />{<br /><br />if (rtc_int)<br />{<br />TWI_read_buf(0xA2, 0x02, 3, bufor);<br /><br />sekundy = bcd2dec(bufor[ss]);<br />minuty = bcd2dec(bufor[mm]);<br />godziny = bcd2dec(bufor[hh]);<br /><br />lcd_locate(0,4);<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 />rtc_int = 0;<br />}<br /><br /><br />}<br />}<br /><br /><br /><br />ISR( INTO_vect )<br />{<br />rtc_int = 1;<br />}<br /><br /><br />//zamiana liczb dziesietnych na kod BCD<br />uint8_t dec2bcd(uint8_t dec)<br />{<br />return((dec/10)&lt;&lt;4) | (dec%10);<br />}<br /><br />//zamiana BCD na dziesietne<br />uint8_t bcd2dec(uint8_t bcd)<br />{<br />return((((bcd)&gt;&gt;4) &amp; 0x0F) * 10) + ((bcd) &amp; 0x0F);<br />}[/syntax]<br /><br /><br /><br />Widzi ktoś tu jakiś błąd lub brak?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=113">grubson89</a> — 31 gru 2011, o 00:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[grubson89]]></name></author>
<updated>2011-12-30T23:06:14+01:00</updated>
<published>2011-12-30T23:06:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1037#p1037</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1037#p1037"/>
<title type="html"><![CDATA[Re: I2C - RTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1037#p1037"><![CDATA[
No teraz już wiem że bez sensu podłączanie tego GND, ale jak coś nie działa to automatycznie człowiek szuka nawet najgłupszych przyczyn <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br /><br />Jak najbardziej chce się nauczyć obsługi przerwań zamiast _delay_ jednak właśnie chciałem na początku sprawdzić na szybko czy w ogóle dobrze myślę i zrobiłem tak byle jak - kolejnym etapem miało być właśnie przerobienie tego na przerwanie i tak się właśnie stanie <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=113">grubson89</a> — 30 gru 2011, o 23:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2011-12-30T22:22:54+01:00</updated>
<published>2011-12-30T22:22:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1036#p1036</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1036#p1036"/>
<title type="html"><![CDATA[Re: I2C - RTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1036#p1036"><![CDATA[
1. Pewnie że można zostawić. <br /><br />2. No można, ale tylko do takiego pierwszego testu. Później bez takiej techniki z przerwaniem jak pokazałem w książce to będziesz miał same schody pod górkę i różne dziwne efekty, aż mi się nie chce tłumaczyć wszystkich <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> sorki<br /><br />to goldpin GND przy PCF'ie jest tylko po to żeby do niego i do BAT podłączyć zewnętrzną baterię <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> bez sensu jest go podłączać pod jakiś GND w zestawie - bo przecież to to samo GND.<br /><br />4. I Bardzo dobrze kombinuj - tylko nie idź na łatwiznę z tym _delayem, bo to cię od razu na manowce sprowadza jak widzę. Toż użycie przerwania w tym przypadku jest po pierwsze proste jak drut, przy okazji ćwiczysz i oswajasz się z korzystaniem z takich przerwań a po kolejne - masz idealnie zorganizowany odczyt czasu z PCF'a - więc SAME ZALETY<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 gru 2011, o 22:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[grubson89]]></name></author>
<updated>2011-12-30T20:48:16+01:00</updated>
<published>2011-12-30T20:48:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1035#p1035</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1035#p1035"/>
<title type="html"><![CDATA[Re: I2C - RTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1035#p1035"><![CDATA[
Przepraszam ze tak późno odpisuje. Nie jest to spowodowane brakiem zainteresowania, tylko niestety zakręconym dniem jak to bywa przed Sylwestrem <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />1) Patcha nie pobrałem - nie skojarzyłem ze to właśnie do tej lekcji wiec zaraz sobie poprawie te biblioteki <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Częstotliwość mam ustawioną na 11MHz (zworki na kwarc zewnętrzny i nastawione w Eclipse) - jeszcze pytanie czysto techniczne czy jeśli nastawię 8MHz to zworki JK1, JK2, JK3 należy zdjąć czy można zostawić? (bo nigdy wcześniej nie miałem przyjemności korzystania z zewnętrznego kwarcu więc nasunęło mi się takie pytanie choć może wydawać się idiotycznie proste).<br /><br />2) Właśnie zastanawiałem się czy trzeba wykorzystywać te przerwania od INT, czy używa się ich żeby program był ze tak to nazwę lepszy <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> dlatego pytanie było: &quot;Czy taki kod wystarczy&quot;  - zastosowałem nieszczęsnego _delay_ bo chciałem na szybko właśnie sprawdzić czy da się w taki prymitywny sposób to obsłużyć  ( i tu nie wiem czy dobrze zrozumiałem - można tak zrobić, tzn bez przerwania tylko ze nie wypada?) <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />GND właśnie dołączałem do GND układu, z myślą czy przypadkiem jest nie podłączone ścieżkami i trzeba podpiąć przewodem <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />3)Ten nawias klamrowy zamyka pętle while(1), następny zamyka main() a później są zdefiniowane dwie procedury<br /><br />4)Staram się od podstaw wiedzieć na jakiej zasadzie cos działa i jak działa i napisać coś &quot;własnymi słowami&quot; w oparciu o podane informacje <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />  Aczkolwiek nie mówię ze w ogóle nie korzystam z gotowych programów, ale wtedy chociaż staram się je przepisać własnoręcznie ze zrozumieniem mniej więcej co się dzieje po kolei. Tu akurat próbowałem napisać coś na szybko samemu - nie wyszło, urodziły się pytania i bedę kombinował dalej <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=113">grubson89</a> — 30 gru 2011, o 20:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2011-12-30T17:21:22+01:00</updated>
<published>2011-12-30T17:21:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1032#p1032</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1032#p1032"/>
<title type="html"><![CDATA[Re: I2C - RTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1032#p1032"><![CDATA[
No wiesz w sumie żadna <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />  ale  ... zaraz dzióbkowy  ?? <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=58">SunRiver</a> — 30 gru 2011, o 17:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2011-12-30T16:07:37+01:00</updated>
<published>2011-12-30T16:07:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1030#p1030</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1030#p1030"/>
<title type="html"><![CDATA[Re: I2C - RTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1030#p1030"><![CDATA[
SunRiver uspokój się please <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> bo padnę ze śmiechu - a w sumie to co to za różnica czy dzióbkowy czy tam koci klamrowy <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=54">mirekk36</a> — 30 gru 2011, o 16:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2011-12-30T14:33:54+01:00</updated>
<published>2011-12-30T14:33:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1029#p1029</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1029#p1029"/>
<title type="html"><![CDATA[Re: I2C - RTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1029#p1029"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />Po trzecie:<br /><br />co w twoim kodzie do odczytu godzin robi nawias dzióbkowy } pod koniec - za poleceniem _delay_ms(1000);<br /></div><br /><br /><br />Człowiek całe życie się uczy do tej pory myślałem zawsze ze to nawias klamrowy jest <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=58">SunRiver</a> — 30 gru 2011, o 14:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2011-12-30T08:49:23+01:00</updated>
<published>2011-12-30T08:49:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1028#p1028</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1028#p1028"/>
<title type="html"><![CDATA[Re: I2C - RTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1028#p1028"><![CDATA[
Po pierwsze:<br /><br />- czy kolega pobrał patche do lekcji stąd:  <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic27.html">topic27.html</a><!-- l --><br /><br />bo dla lekcji 08_TWI pojawiła się nowa funkcja, <strong><span style="color: #0040FF">i2cSetBitrate( uint16_t bitrateKHz )</span></strong>, którą trzeba ustawić prędkość magistrali I2C w kHz, najlepiej ze 100kHz o tak: <strong>i2cSetBitrate(100)</strong>;<br />Nie podałeś z jaką częstotliwością taktujesz procka a to właśnie może być ważne, bo przy 8MHz nawet nie trzeba stosować tej funkcji i też będzie działać PCF - przypadkowo <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ale przy większym taktowaniu już może być problem.<br /><br />Po drugie:<br /><br />w lekcji zdaje się widać, że zostało użyte przerwanie INT0 - do którego zostało podpięte właśnie wyjście INT z układu PCF8583. Na wyjściu tym generowane jest po jego włączeniu przerwanie z częstotliwością 1Hz (czyli równo co sekundę) i właśnie co sekundę warto odczytywać dane z PCF'a a nie tak jak ty próbujesz to robić w pętli głównej while(1) . Tylko że ty zamiast tak jak w lekcji - wykorzystać wyjście INT - zrobiłeś sobie kocie _delay_ms() <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> - troszkę to przejaskrawiam (no bo to akurat nie powoduje tych problemów) ale mam nadzieję, że widzisz błąd. Zresztą - hmmmm pisałem o tym dokładnie w książce i opisywałem wykorzystanie tego wyjścia INT z PCF'a. A w zestawie są jeszcze piny BAT oraz GND. Ale na Zeusa - kolego - bo pisałeś że próbowałeś podłączać GND - do czego próbowałeś podłączać to GND ? przecież to po prostu MASA układu, więc co miałoby ci to dać ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... w pin BAT służy ew do podłączenia zewnętrznej baterii podtrzymującej dłużej zegarek PCF. Zresztą w takich sytuacjach zawsze trzeba zajrzeć na schemat - a masz przecież ładne - śliczne schematy wszystkich modułów w zestawie ATB na stronie:<br /><br /><!-- m --><a class="postlink" href="http://atnel.pl/atb_sch/schematy_atb.htm">http://atnel.pl/atb_sch/schematy_atb.htm</a><!-- m --><br /><br />Po trzecie:<br /><br />co w twoim kodzie do odczytu godzin robi nawias dzióbkowy } pod koniec - za poleceniem _delay_ms(1000);<br /><br /><br />Po CZWARTE:<br /><br />czy nie lepiej najpierw odpalić sobie na żywca kod który jest z książki na DVD i sprawdzić że działa i dobrze działa - a potem kombinować swoje przeróbki ? to tylko taka sugestia podpowiedź.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 gru 2011, o 08:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[grubson89]]></name></author>
<updated>2011-12-30T00:38:15+01:00</updated>
<published>2011-12-30T00:38:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1027#p1027</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1027#p1027"/>
<title type="html"><![CDATA[I2C - RTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=114&amp;p=1027#p1027"><![CDATA[
Witam, <br />jestem właśnie w trakcie przerabiania przykładów z książki i zatrzymałem się obsłudze RTC. Chciałem się spytać czy poniższy kod powinien wystarczyć do wpisania godziny do pamięci RTC?<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;I2C_SOFT/i2c_soft.h&quot;  <br /><br />uint8_t dec2bcd(uint8_t dec);<br />uint8_t bcd2dec(uint8_t bcd);<br /><br /><br />int main()<br />{<br /><br />char bufor[4];<br />bufor[0]=0;<br />bufor[1]=dec2bcd(35);<br />bufor[2]=dec2bcd(16);<br />bufor[3]=dec2bcd(20);<br /><br />I2C_write_buf(0xA2, 0x01, 4, bufor);<br />}<br /><br /><br />//zamiana licz dziesietnych na kod BCD<br />uint8_t dec2bcd(uint8_t dec)<br />{<br />return((dec/10)&lt;&lt;4) | (dec%10);<br />}[/syntax]<br /><br /><br />Ponieważ w następnej kolejności próbuje odczytać godzinę z RTC i wyskakuje mi na LCD: &quot;    165:165:165 &quot;<br />Do odczytu używam kodu:<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;I2C_SOFT/i2c_soft.h&quot;<br />#include &quot;LCD/lcd44780.h&quot;<br /><br />uint8_t dec2bcd(uint8_t dec);<br />uint8_t bcd2dec(uint8_t bcd);<br /><br />int main()<br />{<br /><br />lcd_init();<br />DDRB |= (1&lt;&lt;PB7);<br />PORTB |= (1&lt;&lt;PB7);<br />lcd_cls();<br /><br /><br />DDRD |= (1&lt;&lt;PD1);<br />PORTD |= (1&lt;&lt;PD1);<br /><br />while(1)<br />{<br />////enum{ss,mm,hh}; //tryb wyliczeniowy ss=0 mm=1 hh=2<br />uint8_t bufor[3];<br />uint8_t sekundy, minuty, godziny;<br /><br />I2C_read_buf(0xA2, 0x02, 3, bufor);<br /><br /><br />sekundy = bcd2dec(bufor[0]);<br />minuty = bcd2dec(bufor[1]);<br />godziny = bcd2dec(bufor[2]);<br /><br />PORTD ^= (1&lt;&lt;PD1); //to tak dodatkowo żeby widzieć że program działa w petli<br /><br />lcd_locate(0,4);<br />lcd_int(godziny);<br />lcd_str(&quot;:&quot;);<br />lcd_int(minuty);<br />lcd_str(&quot;:&quot;);<br />lcd_int(sekundy);<br /><br />_delay_ms(1000);<br />}<br />}<br /><br /><br />//zamiana licz dziesietnych na kod BCD<br />uint8_t dec2bcd(uint8_t dec)<br />{<br />return((dec/10)&lt;&lt;4) | (dec%10);<br />}<br /><br /><br />//zamiana BCD na dziesietne<br />uint8_t bcd2dec(uint8_t bcd)<br />{<br />return((((bcd)&gt;&gt;4) &amp; 0x0F) * 10) + ((bcd) &amp; 0x0F);<br />}[/syntax]<br /><br /><br />Oraz chciałem się jeszcze dowiedzieć czy trzeba do tego celu podłączać któreś z wyprowadzeń od RTC (tzn INT,BAT lub GND)?  Osobiście próbowałem zarówno z podłączonym jak i niepodłączonym GND - efekt ten sam. Pozostałych dwóch nie podłączałem. <br /><br />Pozdrawiam Tomek<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=113">grubson89</a> — 30 gru 2011, o 00:38</p><hr />
]]></content>
</entry>
</feed>