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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-10-01T14:06:39+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=3937&amp;mode</id>
<entry>
<author><name><![CDATA[elektor18]]></name></author>
<updated>2014-10-01T14:06:39+01:00</updated>
<published>2014-10-01T14:06:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=97230#p97230</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=97230#p97230"/>
<title type="html"><![CDATA[Re: I2C - komunikacja z układem PCF8583.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=97230#p97230"><![CDATA[
Kolego <strong>robert95</strong> odpisz czy wszystko działa, tak to nie wiadomo czy tylko tu był problem (choc prawdopodobnie tak).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1397">elektor18</a> — 1 paź 2014, o 14:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-08-22T19:26:00+01:00</updated>
<published>2013-08-22T19:26:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46705#p46705</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46705#p46705"/>
<title type="html"><![CDATA[Re: I2C - komunikacja z układem PCF8583.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46705#p46705"><![CDATA[
<div class="quotetitle">robert95 napisał(a):</div><div class="quotecontent"><br />Możecie przybliżyć zagadnienie, tzn. jaką część bajtu jako opóźnienie przyporządkować Q_DEL i H_DEL lub ewentualnie gdzie tego szukać ?<br /></div><br /><br />No pomyśl - dwa razy większe taktowanie to można wydłużyć o drugie tyle opóźnienia<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 22 sie 2013, o 19:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[robert95]]></name></author>
<updated>2013-08-22T18:25:52+01:00</updated>
<published>2013-08-22T18:25:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46692#p46692</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46692#p46692"/>
<title type="html"><![CDATA[Re: I2C - komunikacja z układem PCF8583.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46692#p46692"><![CDATA[
Możecie przybliżyć zagadnienie, tzn. jaką część bajtu jako opóźnienie przyporządkować Q_DEL i H_DEL lub ewentualnie gdzie tego szukać ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1427">robert95</a> — 22 sie 2013, o 18:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[robert95]]></name></author>
<updated>2013-08-22T15:43:19+01:00</updated>
<published>2013-08-22T15:43:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46670#p46670</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46670#p46670"/>
<title type="html"><![CDATA[Re: I2C - komunikacja z układem PCF8583.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46670#p46670"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />a jakie masz taktowanie procka ?<br /></div> <br />Mam większe niż 8MHz, mianowicie 16MHz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1427">robert95</a> — 22 sie 2013, o 15:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-08-22T14:54:37+01:00</updated>
<published>2013-08-22T14:54:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46661#p46661</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46661#p46661"/>
<title type="html"><![CDATA[Re: I2C - komunikacja z układem PCF8583.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46661#p46661"><![CDATA[
<div class="quotetitle">robert95 napisał(a):</div><div class="quotecontent"><br />Ciekawi mnie jednak, dlaczego programowa obsługa I2C przy odczycie nie przynosi rezultatu? (<br /></div><br /><br />a jakie masz taktowanie procka ? jeśli 8MHz tak jak tworzona była ta biblioteka to musi działać wszystko. A jeśli większe np 16MHz to niestety trzeba sobie lekko zmienić kod opóźnień w tej bibliotece aby dostosować do taktowania procka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 22 sie 2013, o 14:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[robert95]]></name></author>
<updated>2013-08-22T12:42:20+01:00</updated>
<published>2013-08-22T12:42:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46634#p46634</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46634#p46634"/>
<title type="html"><![CDATA[Re: I2C - komunikacja z układem PCF8583.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46634#p46634"><![CDATA[
<div class="quotetitle">Antystatyczny napisał(a):</div><div class="quotecontent"><br />i2c_init(100) o ile dobrze pamietam. Nie przekazałeś prędkości do funkcji inicjalizującej i2c.<br /></div><br />Chyba znowu przeoczyłem jakąś aktualizację, ponieważ w książce argument funkcji i2c_init jest typu <strong><span style="color: #FF40FF">void</span></strong>.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: kilkunastu sekundach ]</span></strong><br /><br /><div class="quotetitle">acid3 napisał(a):</div><div class="quotecontent"><br />i2cSetBitrate(100);<br /></div><br />Dzięki, poszukam w dostępnych aktualizacjach do bluebook'a.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 6 minutach ]</span></strong><br /><br />Niestety, po dodaniu funkcji i2cSetBitrate(100); nic się nie dzieje, nadal to samo - przypuszczam, że jest problem z przerwaniem. Proszę o pomoc ! <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 35 minutach ]</span></strong><br /><br />Zegarek zaczął tykać po zamienieniu fukncji I2C_read_buf(); na TWI_read_buf();. Ciekawi mnie jednak, dlaczego programowa obsługa I2C przy odczycie nie przynosi rezultatu? (przy zapisie jest OK).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1427">robert95</a> — 22 sie 2013, o 12:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[acid3]]></name></author>
<updated>2013-08-22T12:40:45+01:00</updated>
<published>2013-08-22T12:40:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46633#p46633</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46633#p46633"/>
<title type="html"><![CDATA[Re: I2C - komunikacja z układem PCF8583.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46633#p46633"><![CDATA[
<div class="quotetitle">Antystatyczny napisał(a):</div><div class="quotecontent"><br />i2c_init(100) o ile dobrze pamietam. Nie przekazałeś prędkości do funkcji inicjalizującej i2c.<br /></div><br /><br /><br />i2cSetBitrate(100);<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=944">acid3</a> — 22 sie 2013, o 12:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[robert95]]></name></author>
<updated>2013-08-22T12:39:54+01:00</updated>
<published>2013-08-22T12:39:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46632#p46632</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46632#p46632"/>
<title type="html"><![CDATA[Re: I2C - komunikacja z układem PCF8583.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46632#p46632"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />A komunikujesz się po sprzętowym I2C czy po programowym ?<br />W nagłówkach deklarujesz użycie obydwu.<br /></div><br />Wcześniej próbowałem ze sprzętowym, ale nic się nie działo, tzn. nic nie wyświetlało. Oczywiście zapomniałem usunąć nagłówek z użyciem TWI, w tym przypadku komunikuję się po programowym I2C.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1427">robert95</a> — 22 sie 2013, o 12:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[acid3]]></name></author>
<updated>2013-08-22T12:39:08+01:00</updated>
<published>2013-08-22T12:36:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46630#p46630</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46630#p46630"/>
<title type="html"><![CDATA[Re: I2C - komunikacja z układem PCF8583.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46630#p46630"><![CDATA[
A komunikujesz się po sprzętowym I2C czy po programowym ?<br />W nagłówkach deklarujesz użycie obydwu.<br /><br /><br />W swoim kodzie odczytujesz programowe I2C.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=944">acid3</a> — 22 sie 2013, o 12:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[robert95]]></name></author>
<updated>2013-08-22T12:18:00+01:00</updated>
<published>2013-08-22T12:18:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46629#p46629</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46629#p46629"/>
<title type="html"><![CDATA[I2C - komunikacja z układem PCF8583.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3937&amp;p=46629#p46629"><![CDATA[
Witam.<br />Postanowiłem troszkę pobawić się układem PCF8583, jednakże niefortunnie nic nie idzie zgodnie z moim planem. <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br />Komunikacja z układem zachodzi, gdy chcę ustawić godzinę jest ona poprawnie wyświetlana na LCD, jednak problem pojawia się podczas odczytu. Zamiast prawidłowej godziny widzę 165:165:165, dodam tylko, iż zaglądałem do kodu pana Mirosława i jak na chwilę obecną, nie mogę znaleźć błędu... Zamiast przerwania INT0 użyłem INT1, ponieważ INT0 nie działało, zresztą jak i INT1 również nie działa (sprawdziłem za pomocą diody LED, co widać na poniższym kodzie). Układ RTC generuje przerwanie dokładnie co jedną sekundę, co również sprawdziłem na uniwersalnym debuggerze, czyli diodzie LED). Baterii/kondensatora podtrzymującego na chwilę obecną nie używam. Problem tkwi w przerwaniu, ponieważ nie pracuje prawidłowo (praktycznie wogóle) oraz w funkcji odczytu danych z RTC, czyli I2C_read_buf(...).<br />Szukałem w internecie, na forum i nic nie wskórałem, próbowałem zmieniać adres z 0xA2 na 0xA0, dodam, że pin A0 układu RTC zwarty jest z VCC (tak wynika ze schematu płytki testowej EvB 4.3 firmy And-Tech, którą zakupiłem jeszcze ucząc się Bascoma).<br />Proszę o pomoc, czy też porady, gdyż wszelkie starania są znikome...<br /><br />Kod programu:<br />[syntax=c]//**************************************<br />//ZEGAR CZASU RZECZYWISTEGO RTC (I2C)<br />//**************************************<br /><br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br />#include &quot;LCD44780/lcd44780.h&quot;<br />#include &quot;I2C_SOFT/i2c_soft.h&quot;<br />#include &quot;I2C_TWI/i2c_twi.h&quot;<br /><br />#define PCF8583_ADDR 0xA2<br />#define LED_ONPORTD &amp;= (1&lt;&lt;PD7)<br />#define LED_OFFPORTD |= (1&lt;&lt;PD7)<br /><br /><br />volatile uint8_t int1_flag=1;// flaga zmieniana w przerwaniu i sprawdzana w pętli głównej<br />uint8_t bcd2dec(uint8_t bcd);<br />uint8_t dec2bcd(uint8_t dec);<br />int main(void)<br />{<br />lcd_init();<br />i2c_init();<br /><br />// Przerwanie INT1<br />MCUCR |= (1&lt;&lt;ISC11);// wyzwalanie zboczem opadającym<br />GICR |= (1&lt;&lt;INT1);// odblokowanie przerwania<br />PORTD |= (1&lt;&lt;PD3);// podciągnięcie pinu INT1 do VCC<br /><br />//LED<br />DDRD |= (1&lt;&lt;PD7);<br /><br /><br />sei();//zewzwolenie globalne na przerwanie<br /><br /><br />// ***************<br />// PROGRAM GŁÓWNY<br />// ***************<br /><br /><br />uint8_t sekundy, minuty, godziny;<br />enum {sek=1,min,godz};<br />uint8_t bufor_odczyt&#91;4&#93;;<br /><br /><br /><br />while(1) {<br />if ( int1_flag ) {<br />//odczyt 4 bajtów do bufora od adresu 0x01 z pamięci RAM naszego RTC<br />I2C_read_buf( PCF8583_ADDR, 0x01, 4, bufor_odczyt );<br /><br />sekundy = bcd2dec( bufor_odczyt&#91;sek&#93; );<br />minuty = bcd2dec( bufor_odczyt&#91;min&#93; );<br />godziny = bcd2dec( bufor_odczyt&#91;godz&#93; );<br /><br />// wyświetlenie czasu na LCD<br />lcd_locate(1,3);<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 /><br />LED_OFF;              //sprawdzenie działania przerwania INT1<br />int1_flag=0;<br /><br />}<br /><br />}<br /><br />}<br /><br />// procedura obsługi przerwania INT 0<br />ISR( INT1_vect ) {<br />int1_flag = 1;<br />LED_ON;         //sprawdzenie działania przerwania INT1<br />}<br /><br />// konwersja liczby dziesiętnej na BCD<br />uint8_t dec2bcd(uint8_t dec) {<br />return ((dec / 10)&lt;&lt;4) | (dec % 10);<br />}<br /><br />// konwersja liczby BCD na dziesiętną<br />uint8_t bcd2dec(uint8_t bcd) {<br />    return ((((bcd) &gt;&gt; 4) &amp; 0x0F) * 10) + ((bcd) &amp; 0x0F);<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1427">robert95</a> — 22 sie 2013, o 12:18</p><hr />
]]></content>
</entry>
</feed>