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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-01-17T18:37:29+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=10229&amp;mode</id>
<entry>
<author><name><![CDATA[Morcinek92]]></name></author>
<updated>2015-01-17T18:37:29+01:00</updated>
<published>2015-01-17T18:37:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114579#p114579</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114579#p114579"/>
<title type="html"><![CDATA[Re: Przerwanie INT2 - ATmega128]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114579#p114579"><![CDATA[
Heh, doszedłem do tego ;D <br />Program był okej, tylko przy lutowaniu układu (smd)  pin gnd nie był dokładnie przylutowany... na oko tego nie zauyważyłem bo cyna na nim była... przy oględzinach miernikiem problem się ujawnił !<br /><br />Dziękuję za zainteresowanie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=903">Morcinek92</a> — 17 sty 2015, o 18:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2015-01-17T09:43:48+01:00</updated>
<published>2015-01-17T09:43:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114470#p114470</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114470#p114470"/>
<title type="html"><![CDATA[Re: Przerwanie INT2 - ATmega128]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114470#p114470"><![CDATA[
Miernikiem<br /><br />Namazane ze smarta.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 17 sty 2015, o 09:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Morcinek92]]></name></author>
<updated>2015-01-17T06:54:17+01:00</updated>
<published>2015-01-17T06:54:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114464#p114464</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114464#p114464"/>
<title type="html"><![CDATA[Re: Przerwanie INT2 - ATmega128]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114464#p114464"><![CDATA[
jak to sprawdzic kiedy uklad juz jest polutowany ??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=903">Morcinek92</a> — 17 sty 2015, o 06:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[krish]]></name></author>
<updated>2015-01-16T23:40:09+01:00</updated>
<published>2015-01-16T23:40:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114456#p114456</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114456#p114456"/>
<title type="html"><![CDATA[Re: Przerwanie INT2 - ATmega128]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114456#p114456"><![CDATA[
Sprawdź czy RTC wysyła przerwanie na właściwy pin procesora..<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2273">krish</a> — 16 sty 2015, o 23:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Morcinek92]]></name></author>
<updated>2015-01-16T22:43:17+01:00</updated>
<published>2015-01-16T22:43:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114448#p114448</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114448#p114448"/>
<title type="html"><![CDATA[Re: Przerwanie INT2 - ATmega128]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114448#p114448"><![CDATA[
Tak wylaczony ten fuse bit. Nawet jtag. wyswietlacz dziala prawidlowo kiedy wyswietlam jakis tekst ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=903">Morcinek92</a> — 16 sty 2015, o 22:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2015-01-16T19:45:13+01:00</updated>
<published>2015-01-16T19:45:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114415#p114415</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114415#p114415"/>
<title type="html"><![CDATA[Re: Przerwanie INT2 - ATmega128]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114415#p114415"><![CDATA[
Na pewno kompilator nie głupieje z braku return.<br /><br />A działa ci w ogóle wyświetlacz na tej medze128? Wyświetl w main po inicjalizacji wyświetlacza jakiś tekst. <br /><br />Fusebit M103 masz wyłączony?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 16 sty 2015, o 19:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szopler]]></name></author>
<updated>2015-01-16T18:42:39+01:00</updated>
<published>2015-01-16T18:42:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114400#p114400</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114400#p114400"/>
<title type="html"><![CDATA[Re: Przerwanie INT2 - ATmega128]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114400#p114400"><![CDATA[
Racja - spojrzałem na pdf od Megi1284...<br /><br />Może kompilator głupieje bo w main nie ma return?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=82">szopler</a> — 16 sty 2015, o 18:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Morcinek92]]></name></author>
<updated>2015-01-16T17:06:46+01:00</updated>
<published>2015-01-16T17:06:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114372#p114372</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114372#p114372"/>
<title type="html"><![CDATA[Re: Przerwanie INT2 - ATmega128]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114372#p114372"><![CDATA[
Ja stosuje Atmege128. <br />INT2 jest na pinie PD2 a nie PB2 tak jak to jest w At32. <br /><br />Zamieniłem na <br /><br /><br />    ISR(INT2_vect) {<br />    }<br /><br />Ale nic to nie dało..<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=903">Morcinek92</a> — 16 sty 2015, o 17:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szopler]]></name></author>
<updated>2015-01-15T20:33:49+01:00</updated>
<published>2015-01-15T20:33:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114248#p114248</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114248#p114248"/>
<title type="html"><![CDATA[Re: Przerwanie INT2 - ATmega128]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114248#p114248"><![CDATA[
Ustawiasz PD2 a to pin od INT0, INT2 jest na PB2.<br />[syntax=c]PORTD |= (1&lt;&lt;PD2); // Jest<br />PORTB |= (1&lt;&lt;PB2); // Powinno być jak korzystamy z INT2, a nie INT0[/syntax]<br /><br />Oraz:<br />[syntax=c]SIGNAL(SIG_INTERRUPT2)  {<br />            int0_flag = 1;<br />    }[/syntax]<br /><br />Tak się tego nie robi już od dawna, tylko:<br />[syntax=c]ISR(INT2_vect) {<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=82">szopler</a> — 15 sty 2015, o 20:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Morcinek92]]></name></author>
<updated>2015-01-15T19:50:24+01:00</updated>
<published>2015-01-15T19:50:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114241#p114241</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114241#p114241"/>
<title type="html"><![CDATA[Re: Przerwanie INT2 - ATmega128]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114241#p114241"><![CDATA[
NIestety nadal nic to nie dało.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=903">Morcinek92</a> — 15 sty 2015, o 19:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[peter507]]></name></author>
<updated>2015-01-15T19:34:15+01:00</updated>
<published>2015-01-15T19:34:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114237#p114237</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114237#p114237"/>
<title type="html"><![CDATA[Re: Przerwanie INT2 - ATmega128]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114237#p114237"><![CDATA[
Ustaw PD2 jako wejście, widzę że jest tylko podciągnięty do VCC. Rejestry od przerwania zewnętrznego ustawione są dobrze.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=800">peter507</a> — 15 sty 2015, o 19:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Morcinek92]]></name></author>
<updated>2015-01-15T19:22:13+01:00</updated>
<published>2015-01-15T19:22:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114235#p114235</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114235#p114235"/>
<title type="html"><![CDATA[Przerwanie INT2 - ATmega128]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10229&amp;p=114235#p114235"><![CDATA[
Witam , <br />Jako że nie otrzymałem odpowiedzi w moim poprzednim temacie (może przyczyną było zbyt wiele pytań i nie odpowiedni dział), więc ponawiam je: <br /><br />Nie działa mi zegar na układzie PCF8583. <br />Na zestawie ATB program działa zegar wskazuje poprawną godzinę natomiast to przeniesieniu na procesor Atmega128 już on nie działa, nie wyświetla się nic na LCD . <br />Program został zmieniony tzn. zmieniłem inicjalizację przerwania. <br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />    //#include &lt;avr/iom128.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             // gdy A1 --&gt; GND<br />    #define PCF8583_ADDR 0xA2               // gdy A1 --&gt; VCC<br />     <br />     <br />     <br />    // utworzenie typu u08, odpowiednika uint8_t aby kod był bardziej czytelny<br />    typedef unsigned char  u08;<br />    typedef unsigned short u16;<br />     <br />     <br />     <br />    volatile uint8_t int0_flag=1;   // flaga zmieniana w przerwaniu i sprawdzana w pętli głównej<br />     <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 />     <br />    int main(void) {<br />     <br />            DDRB |= (1&lt;&lt;PB4);       // ustawiamy kierunek linii podświetlenia LCD jako WYJŚCIE<br />            PORTB |= (1&lt;&lt;PB4);      // załączamy podświetlenie LCD - stan wysoki<br />     <br />            // Przerwanie INT0<br />            EICRA |= (1&lt;&lt;ISC21);    // wyzwalanie zboczem opadającym<br />            EIMSK |= (1&lt;&lt;INT2);              // odblokowanie przerwania<br />            PORTD |= (1&lt;&lt;PD2);<br />     <br />     <br />            // definiujemy sobie dla polepszenia czytelności programu typ wyliczeniowy<br />            // wskazujący nam później na odpowiednie indeksy w tablicy (buforze)<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 />     <br />            lcd_init();<br />     <br />            i2cSetBitrate( 100 ); // USTAWIAMY prędkość 100 kHz na magistrali I2C<br />     <br />            sei();<br />     <br />     <br />     <br />     <br />            while(1) {<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&#91;ss&#93; );<br />                            minuty = bcd2dec( bufor&#91;mm&#93; );<br />                            godziny = bcd2dec( bufor&#91;hh&#93; );<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 />     <br />                            int0_flag=0;<br />                    }<br />     <br />            }<br />    }<br />     <br />     <br />    // procedura obsługi przerwania INT 0<br />    SIGNAL(SIG_INTERRUPT2)  {<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 />Nie jestem pewny co do tego fragmentu: <br /><br />[syntax=c]// Przerwanie INT2<br />    EICRA |= (1&lt;&lt;ISC21);    // wyzwalanie zboczem opadającym       <br />    EIMSK |= (1&lt;&lt;INT2);              // odblokowanie przerwania     <br />    PORTD |= (1&lt;&lt;PD2);[/syntax]<br /><br />SCL - PD0<br />SDA - PD1<br />INT_RTC - PD2<br /><br />Schemat:<br /><img src="http://forum.atnel.pl/_obrazki/o/903/70e271147a6d03dd5c18fad8dad5a9f4.PNG" alt="Obrazek" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=903">Morcinek92</a> — 15 sty 2015, o 19:22</p><hr />
]]></content>
</entry>
</feed>