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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-03-05T21:38:27+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=10929&amp;mode</id>
<entry>
<author><name><![CDATA[tec-dive]]></name></author>
<updated>2015-03-05T21:38:27+01:00</updated>
<published>2015-03-05T21:38:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10929&amp;p=122163#p122163</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10929&amp;p=122163#p122163"/>
<title type="html"><![CDATA[Re: Problem z przerwaniem INT1 w ATmega1284P]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10929&amp;p=122163#p122163"><![CDATA[
Myślę, że MIS(i)O zrobi wszystko żeby tylko uniknąć kolejnej &quot;narkozy&quot; i pocięcia <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />A tak właśnie patrzę sobie na ten zegarek na DS3231 i zatrzymał się na 01:11:11  <img src="https://forum.atnel.pl/images/smilies/icon_neutral.gif" alt=":|" title="Średnio zadowolony" /> <br />To już kolejna taka zawieszka, dlatego odpaliłem go od 00:00:00 i sprawdzę czy za każdym razem zatrzyma się w tym samym momencie. Przebiegi 32kHz i 1Hz śmigają... czyżby zawiodło I2C?... Ale poprawkę wgrałem... ciekawe czy ktoś miał podobny problem...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4916">tec-dive</a> — 5 mar 2015, o 21:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-03-05T21:28:17+01:00</updated>
<published>2015-03-05T21:28:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10929&amp;p=122161#p122161</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10929&amp;p=122161#p122161"/>
<title type="html"><![CDATA[Re: Problem z przerwaniem INT1 w ATmega1284P]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10929&amp;p=122161#p122161"><![CDATA[
Najważniejsze że się odmieszało i że MIS(i)O podpowiedział <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 5 mar 2015, o 21:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tec-dive]]></name></author>
<updated>2015-03-05T20:25:41+01:00</updated>
<published>2015-03-05T20:25:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10929&amp;p=122149#p122149</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10929&amp;p=122149#p122149"/>
<title type="html"><![CDATA[Re: Problem z przerwaniem INT1 w ATmega1284P]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10929&amp;p=122149#p122149"><![CDATA[
No właśnie w Eclipse Luna to jest pisane i nie podkreśliło...<br /><br />Nie wiem dlaczego tak się stało ale teraz sprawdziłem i podkreśliło. Coś musiałem wcześniej namieszać <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=4916">tec-dive</a> — 5 mar 2015, o 20:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-03-05T19:48:29+01:00</updated>
<published>2015-03-05T19:48:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10929&amp;p=122135#p122135</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10929&amp;p=122135#p122135"/>
<title type="html"><![CDATA[Re: Problem z przerwaniem INT1 w ATmega1284P]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10929&amp;p=122135#p122135"><![CDATA[
<div class="quotetitle">tec-dive napisał(a):</div><div class="quotecontent"><br />Cały dzień się wpatrywałem w ten kod i nie zauważyłem, że tam powinno być EICRA<br /></div><br />Ale w czym pan piszesz kod ? Chyba nie w Eclipse co? bo Eclipse pięknie by ci podkreśliło na CZERWONO tą nazwę jak błąd ortograficzny w MS Word <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> — 5 mar 2015, o 19:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tec-dive]]></name></author>
<updated>2015-03-05T18:46:32+01:00</updated>
<published>2015-03-05T18:46:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10929&amp;p=122113#p122113</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10929&amp;p=122113#p122113"/>
<title type="html"><![CDATA[Re: Problem z przerwaniem INT1 w ATmega1284P]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10929&amp;p=122113#p122113"><![CDATA[
Że się tak wyrażę - może trochę nie pasuje do tego postu - MIS(i)O jest wielki! <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Cały dzień się wpatrywałem w ten kod i nie zauważyłem, że tam powinno być EICRA<br /><br />Mirku, ocaliłeś włosy na mojej głowie, bo rwałem je już garściami. Dziękuję<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4916">tec-dive</a> — 5 mar 2015, o 18:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-03-05T18:01:11+01:00</updated>
<published>2015-03-05T18:01:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10929&amp;p=122104#p122104</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10929&amp;p=122104#p122104"/>
<title type="html"><![CDATA[Re: Problem z przerwaniem INT1 w ATmega1284P]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10929&amp;p=122104#p122104"><![CDATA[
a masz pan taki rejestr &quot;MCUCR&quot;  w tym procku ? <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> — 5 mar 2015, o 18:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tec-dive]]></name></author>
<updated>2015-03-05T18:47:37+01:00</updated>
<published>2015-03-05T16:42:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10929&amp;p=122089#p122089</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10929&amp;p=122089#p122089"/>
<title type="html"><![CDATA[Problem z przerwaniem INT1 w ATmega1284P]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10929&amp;p=122089#p122089"><![CDATA[
Witam serdecznie,<br /><br />to mój pierwszy post na tym forum więc jeśli czymś &quot;nabroję&quot; to proszę o tęgie baty i obiecuję poprawę <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Po oglądnięciu Mirkowego poradnika o DS3231 szybko zabrałem się za pisanie kodu według jego wskazówek z filmu.<br />Wszystko w oparciu o zestaw ATB i wyświetlacz LCD. Na pokładzie ATmega32. Wszystko ładnie działa.<br /><br />Postanowiłem przepisać kod na wspomnianą w tytule ATmegę1284P i wyświetlacz 7-segmentowy (6 cyfr + diody sekund).<br />No i tutaj poległem. DS3231 ładnie się inicjalizuje i generuje 1Hz na wyjściu - podaję to na INT1. Oscyloskopem sprawdziłem - sygnał dociera do nóżki PD3 (INT1).<br />Na początek (małymi kroczkami) próbowałem zamrugać diodami sekund w takt sygnału podawanego na INT1.<br />Użyłem do tego sprzętowej flagi flagi. Niestety nie zadziałało. Postanowiłem użyć procedury obsługi przerwania. I tu też brak rezultatów. Nie wiem gdzie popełniłem błąd, a na pewno go popełniłem <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Czy mogę liczyć na naprowadzenie mnie na właściwe tory?...<br />Poniżej kod main.c, biblioteki z książek poprawione z ERRATY:<br />[syntax=c]/*<br /> * main.c<br /> *<br /> */<br /><br />#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;I2C_TWI/i2c_twi.h&quot;<br /><br />#define DS3231_ADDR 0xD0// definicja adresu DS3231<br /><br />#define SEC_LED (1&lt;&lt;PD4)// Diody sekund<br /><br />#define SEC_LED_ON PORTD &amp;= ~SEC_LED<br />#define SEC_LED_OFF PORTD |= SEC_LED<br />#define SEC_LED_TOG PORTD ^= SEC_LED<br />#define SEC_LED_DDR DDRD<br /><br /><br />void DS3231_init( void );<br /><br />volatile uint8_t int1_flag=1;// flaga zmieniana w przerwaniu i sprawdzana w pętli głównej<br /><br />int main(void)<br />{<br />i2cSetBitrate(100);// ustawienie prędkości I2C na 100kHz<br />DS3231_init();// inicjalizacja DS3231<br /><br />/*----------------------------- inicjalizacja kierunków pinów  -------------------------*/<br />SEC_LED_DDR |= SEC_LED;// ustalamy kierunki pinów diod SECLED<br />DDRD &amp;= ~(1&lt;&lt;PD3);<br /><br />/*--------------------------------- inicjalizacja przerwań  ----------------------------*/<br />// przerwanie INT1<br />PORTD |= (1&lt;&lt;PD3); // podciągnięcie pinu INT1 do VCC<br />MCUCR |= (1&lt;&lt;ISC11)|(1&lt;&lt;ISC10); // wyzwalanie zboczem narastającym<br />EICRA |= (1&lt;&lt;INT1); // odblokowanie przerwania<br /><br /><br />SEC_LED_ON;<br />_delay_ms(500);<br />SEC_LED_OFF;<br />_delay_ms(500);<br />SEC_LED_ON;<br />sei();<br />while(1)<br />{<br />//<br />//if( EIFR &amp; (1&lt;&lt;INTF1)) // sprawdzenie sprzętowej flagi INT1<br />//{<br />//SEC_LED_TOG;<br />//<br />//EIFR |= (1&lt;&lt;INTF1); // kasowanie flagi sprzętowej INT1<br />//}<br />//<br />if ( int1_flag )<br />{<br />SEC_LED_TOG;<br /><br />int1_flag=0;<br />}<br /><br />}<br /><br />}<br /><br />// funkcja inicjalizacji DS3231<br />void DS3231_init( void )<br />{<br />uint8_t ctrl = 0;<br />TWI_write_buf( DS3231_ADDR, 0x0e, 1, &amp;ctrl );<br />}<br /><br />// procedura obsługi przerwania INT1<br />ISR( INT1_vect ) {<br />int1_flag = 1;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4916">tec-dive</a> — 5 mar 2015, o 16:42</p><hr />
]]></content>
</entry>
</feed>