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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-12-28T21:10:42+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=9874&amp;mode</id>
<entry>
<author><name><![CDATA[Vitor Borba]]></name></author>
<updated>2014-12-28T21:10:42+01:00</updated>
<published>2014-12-28T21:10:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110926#p110926</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110926#p110926"/>
<title type="html"><![CDATA[Re: Problem z RTC ds 1307]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110926#p110926"><![CDATA[
Ok teraz działa, powodem były przerwa na połączeniu w RTC.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1652">Vitor Borba</a> — 28 gru 2014, o 21:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Kuźnia]]></name></author>
<updated>2014-12-27T21:17:18+01:00</updated>
<published>2014-12-27T21:17:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110734#p110734</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110734#p110734"/>
<title type="html"><![CDATA[Re: Problem z RTC ds 1307]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110734#p110734"><![CDATA[
Witam<br /><br />Walczyliśmy kiedyś z tym układem i okazał sie bardzo kapryśny.<br />Po pierwsze za nic na świecie nie chciał działać z programowym I2C.<br />Po drugie ustawienia w rejestrze kontrolnym (adres 0x07) nie dadzą żadnego rezultatu jeżeli bit 7 w rejestrze sekund (adres 0x00) nie będzie wyzerowany!!! Bit ten nazywa się Clock Halt i jego ustawienie na jeden powoduje zatrzymanie wewnętrznego oscylatora. Spośród kilku datascheet-ów w tym jest to najlepiej opisane <!-- m --><a class="postlink" href="https://www.sparkfun.com/datasheets/Components/DS1307.pdf" >https://www.sparkfun.com/datasheets/Com ... DS1307.pdf</a><!-- m --><br />(strona 4, akapit: CLOCK AND CALENDAR)<br /><br />Finalnie w inicjalizacji DS1307 zastosowaliśmy sprawdzanie stanu tego bitu i jeżeli jest równy 1 to najpierw go zerujemy a następnie konfigurujemy rejestr kontrolny.<br /><br />Oczywiscie weź pod uwagę to co koledzy napisali wcześniej odnośnie prawidłowego podłączenia szyny I2C<br /><br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2537">Kuźnia</a> — 27 gru 2014, o 21:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Shavo]]></name></author>
<updated>2014-12-27T13:36:55+01:00</updated>
<published>2014-12-27T13:36:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110677#p110677</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110677#p110677"/>
<title type="html"><![CDATA[Re: Problem z RTC ds 1307]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110677#p110677"><![CDATA[
<div class="quotetitle">Vitor Borba napisał(a):</div><div class="quotecontent"><br />Zmieniłem kod ale dalej nie działa. układ testowany na atmega32 (8 Mhz) a sygnał z Ds sprawdzam na diodzie podłączonej do pinu Ds i do vcc przez rezystor.<br /></div><br /><br />Jeżeli korzystasz z modułu który pokazałeś na stronie w pierwszym poście to nie dziwie się że ciągle pokazuje Ci 5V bo źle podpinasz diodę LED do pinu DS a on służy do odczytywania danych z czujnika temperatury którego tam pewnie nie masz wlutowanego, podepnij diodę LED przez rezystor do wyjścia SQ to wtedy powinno Ci mrygać co 1s<br /><br />tutaj masz schemat modułu który podałeś na początku, zapoznaj się z nim<br /><!-- m --><a class="postlink" href="http://propix.com.pl/pl/p/file/588187c72cfe30a4cc55dea8e42c1930/nps3FD1.pdf" >http://propix.com.pl/pl/p/file/588187c7 ... ps3FD1.pdf</a><!-- m --><br /><br />PS Kod kolegi wyżej jest dobry bo sam kiedyś z tego korzystałem i mi działa do dziś<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4330">Shavo</a> — 27 gru 2014, o 13:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matw]]></name></author>
<updated>2014-12-27T13:29:47+01:00</updated>
<published>2014-12-27T13:29:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110674#p110674</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110674#p110674"/>
<title type="html"><![CDATA[Re: Problem z RTC ds 1307]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110674#p110674"><![CDATA[
A może masz jakiś problem z magistrala i2c? Złe podłączenie, brak podciągnięcia do VCC linii SCL, SDA, problem z rezonatorem przy DS-ie.<br />Możesz też wypróbować mój mały patent na debugowanie i2c <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic9839.html#p110357" >topic9839.html#p110357</a><!-- l --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2394">matw</a> — 27 gru 2014, o 13:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[bogdanc]]></name></author>
<updated>2014-12-27T13:16:58+01:00</updated>
<published>2014-12-27T13:16:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110673#p110673</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110673#p110673"/>
<title type="html"><![CDATA[Re: Problem z RTC ds 1307]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110673#p110673"><![CDATA[
użyłeś to co wyżej podałem?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1319">bogdanc</a> — 27 gru 2014, o 13:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Vitor Borba]]></name></author>
<updated>2014-12-27T13:14:11+01:00</updated>
<published>2014-12-27T13:14:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110671#p110671</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110671#p110671"/>
<title type="html"><![CDATA[Re: Problem z RTC ds 1307]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110671#p110671"><![CDATA[
Zmieniłem i dalej nic , dioda nie mruga , na pinie ds  w rtc jest cały czas około 5 v.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1652">Vitor Borba</a> — 27 gru 2014, o 13:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[bogdanc]]></name></author>
<updated>2014-12-27T12:41:56+01:00</updated>
<published>2014-12-27T12:41:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110669#p110669</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110669#p110669"/>
<title type="html"><![CDATA[Re: Problem z RTC ds 1307]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110669#p110669"><![CDATA[
Na razie uporządkuj kod.<br />Wyrzuć wszystko z kodu poza:<br />i2cSetBitrate(100);<br /> inicjalizacją DS1307<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/eeprom.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;stdlib.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />// dołączenie bibliotek komunikcacji<br />#include &quot;I2C_TWI/i2c_twi.h&quot;<br /><br /><br />#defineDS1307_ADDR0xD0 //adres DS1307 na I2C<br /><br />void DS1307_init( void ); //deklaracja inicjalizacji Zegara RTC<br /><br />int main(void){<br /><br />i2cSetBitrate( 100 );// USTAWIAMY prędkość 100 kHz na magistrali I2C<br />DS1307_init();// Iinicjalizacja RTC DS1307<br /><br /><br />//główna pętla programu<br />while(1){<br /><br /><br />}<br />}<br /><br />//Inicjalizacja DS1307<br />    void DS1307_init( void ){<br />            uint8_t ctrl = 0x10; //Rejstr kontrolny, ustawiamy cześtotliwośc oscylatora etc. (u nas 1Hz)<br />            TWI_write_buf( DS1307_ADDR, 0x07, 1, &amp;ctrl );  //Adres DS1307 0xD0<br />            uint8_t CH = 0; //ustawienie bitu 7 w rejstrze o adresie 0x00 na 0 odblokowuje oscylator<br />            TWI_write_buf(DS1307_ADDR, 0, 1, &amp;CH);<br />    }[/syntax]<br /><br /><br />krok po kroku dojedziemy do migania:)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1319">bogdanc</a> — 27 gru 2014, o 12:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Vitor Borba]]></name></author>
<updated>2014-12-27T12:35:24+01:00</updated>
<published>2014-12-27T12:35:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110668#p110668</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110668#p110668"/>
<title type="html"><![CDATA[Re: Problem z RTC ds 1307]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110668#p110668"><![CDATA[
Zmieniłem kod ale dalej nie działa. układ testowany na atmega32 (8 Mhz) a sygnał z Ds sprawdzam na diodzie podłączonej do pinu Ds i do vcc przez rezystor.<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />//#include &quot;LCD/lcd44780.h&quot;<br />#include &quot;I2C_TWI/i2c_twi.h&quot;<br /><br />// **** UWAGA - wybierz właciwy adres jak niżej **************<br /><br />#define DS1307_ADDR 0xD0<br />#define DS1307_ADDR1 0xD1<br />// utworzenie typu u08, odpowiednika uint8_t aby kod był bardziej czytelny<br />typedef unsigned char  u08;<br />typedef unsigned short u16;<br /><br />volatile uint8_t int0_flag;<br />// konwersja liczby dziesiętnej na BCD<br />uint8_t dec2bcd(uint8_t dec);<br />// konwersja liczby BCD na dziesiętną<br />uint8_t bcd2dec(uint8_t bcd);<br /><br />int main(void)<br />{<br />       // Przerwanie INT0<br />        MCUCR |= (1&lt;&lt;ISC01);    // wyzwalanie zboczem op<br />        GICR |= (1&lt;&lt;INT0);              // odblokowanie przerwania<br />        PORTD |= (1&lt;&lt;PD2);<br />        DDRD |= (1&lt;&lt;PD6);<br /><br />    enum {ss=1, mm, hh};<br />    uint8_t bufor&#91;4&#93;;// rezerwacja bufora 4 bajty<br />    uint8_t sekundy, minuty, godziny;<br /><br />        i2cSetBitrate(100);<br />        sei();<br />        DS1307_init();<br />    // Ustawianie czasu na godzinę: 18:34:27<br /><br />    bufor&#91;0&#93; = 0;// setne części sekundy<br />    bufor&#91;1&#93; = dec2bcd(27);// sekundy<br />    bufor&#91;2&#93; = dec2bcd(34);// minuty<br />    bufor&#91;3&#93; = dec2bcd(18);// godziny<br />    // zapis 4 bajtów z bufora pod adres 0x01 w pamięci RAM naszego RTC<br />    TWI_write_buf( DS1307_ADDR, 0x00, 4, bufor );<br /><br /><br />        while (1) {<br />                if ( int0_flag ) {<br /><br />        PORTD ^= (1&lt;&lt;PD6);<br /><br />        int0_flag=0;<br />                }<br />        }<br />}<br /><br />ISR( INT0_vect ) {<br />        int0_flag = 1;<br />}<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 />}<br /><br />void DS1307_init(void){<br />          uint8_t ctrl = 0x10;<br />          TWI_write_buf( DS1307_ADDR, 0x07, 1, &amp;ctrl );<br />          uint8_t CH = 0;<br />          TWI_write_buf(DS1307_ADDR, 0, 1, &amp;CH);<br />  }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1652">Vitor Borba</a> — 27 gru 2014, o 12:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[bogdanc]]></name></author>
<updated>2014-12-27T12:07:02+01:00</updated>
<published>2014-12-27T12:07:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110666#p110666</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110666#p110666"/>
<title type="html"><![CDATA[Re: Problem z RTC ds 1307]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110666#p110666"><![CDATA[
Masz złą inicjalizacje DS1307. Zaglądałeś do noty tego układu?<br />I proponuje zmienić nazwę adresu na DS1307 z PCF bo to sie dziwnie czyta.<br /><br />[syntax=c]//Inicjalizacja DS1307<br />    void DS1307_init( void ){<br />            uint8_t ctrl = 0x10; //Rejstr kontrolny, ustawiamy cześtotliwośc oscylatora etc. (u nas 1Hz) <br />            TWI_write_buf( DS1307_ADDR, 0x07, 1, &amp;ctrl );  //Adres DS1307 0xD0<br />            uint8_t CH = 0; //ustawienie bitu 7 w rejstrze o adresie 0x00 na 0 odblokowuje oscylator<br />            TWI_write_buf(DS1307_ADDR, 0, 1, &amp;CH);<br />    }[/syntax]<br /><br /><br />Na czym to testujesz oprócz wspomnianego układu RTC?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1319">bogdanc</a> — 27 gru 2014, o 12:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Vitor Borba]]></name></author>
<updated>2014-12-27T11:14:03+01:00</updated>
<published>2014-12-27T11:14:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110660#p110660</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110660#p110660"/>
<title type="html"><![CDATA[Problem z RTC ds 1307]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9874&amp;p=110660#p110660"><![CDATA[
Witam od kilku dni walczę z modułem DS 1307. <a href="http://electropark.pl/rtc-zegary-czasu-rzeczywistego/3076-modul-rtc-ds1307-at24c32-5901003076007.html"  class="postlink">http://electropark.pl/rtc-zegary-czasu-rzeczywistego/3076-modul-rtc-ds1307-at24c32-5901003076007.html</a>.<br /><br />Na razie nie potrafię uzyskać na wyjściu DS układu Ds1307 sygnału co 1 s.<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />//#include &quot;LCD/lcd44780.h&quot;<br />#include &quot;I2C_TWI/i2c_twi.h&quot;<br /><br />// **** UWAGA - wybierz właciwy adres jak niżej **************<br />//#define PCF8583_ADDR 0xA0<br />#define PCF8583_ADDR 0xD0<br />#define PCF8583_ADDR1 0xD1<br />// utworzenie typu u08, odpowiednika uint8_t aby kod był bardziej czytelny<br />typedef unsigned char  u08;<br />typedef unsigned short u16;<br /><br />volatile uint8_t int0_flag;<br />// konwersja liczby dziesiętnej na BCD<br />uint8_t dec2bcd(uint8_t dec);<br />// konwersja liczby BCD na dziesiętną<br />uint8_t bcd2dec(uint8_t bcd);<br /><br />int main(void)<br />{<br />       // Przerwanie INT0<br />        MCUCR |= (1&lt;&lt;ISC01);    // wyzwalanie zboczem op<br />        GICR |= (1&lt;&lt;INT0);              // odblokowanie przerwania<br />        PORTD |= (1&lt;&lt;PD2);<br />        DDRD |= (1&lt;&lt;PD6);<br /><br />    enum {ss=1, mm, hh};<br />    uint8_t bufor&#91;4&#93;;// rezerwacja bufora 4 bajty<br />    uint8_t sekundy, minuty, godziny;<br /><br />        i2cSetBitrate(100);<br />        sei();<br />    // Ustawianie czasu na godzinę: 18:34:27<br /><br />    bufor&#91;0&#93; = 0;// setne części sekundy<br />    bufor&#91;1&#93; = dec2bcd(27);// sekundy<br />    bufor&#91;2&#93; = dec2bcd(34);// minuty<br />    bufor&#91;3&#93; = dec2bcd(18);// godziny<br />    // zapis 4 bajtów z bufora pod adres 0x01 w pamięci RAM naszego RTC<br />    TWI_write_buf( PCF8583_ADDR, 0x00, 4, bufor );<br /><br /><br />        while (1) {<br />                if ( int0_flag ) {<br /><br />        PORTD ^= (1&lt;&lt;PD6);<br /><br />        int0_flag=0;<br />                }<br />        }<br />}<br /><br />ISR( INT0_vect ) {<br />        int0_flag = 1;<br />}<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]<br /><br />Korzystam z bibliotek z niebieskiej książki.<br /><br />Schemat układu <a href="http://www.hobbyist.co.nz/sites/default/files/docs/RTC/Tiny_RTC_schematic.pdf"  class="postlink">http://www.hobbyist.co.nz/sites/default/files/docs/RTC/Tiny_RTC_schematic.pdf</a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1652">Vitor Borba</a> — 27 gru 2014, o 11:14</p><hr />
]]></content>
</entry>
</feed>