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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-11-13T18:18:33+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=4773&amp;mode</id>
<entry>
<author><name><![CDATA[t__d]]></name></author>
<updated>2013-11-13T18:18:33+01:00</updated>
<published>2013-11-13T18:18:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56711#p56711</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56711#p56711"/>
<title type="html"><![CDATA[Re: Atmega8 Power Down INT0 i budzenie uC.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56711#p56711"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />masz ładnie pokazany przykład w Bluebooku w rozdziale o pilocie RC5 - dlaczego tam nie zajrzysz ?<br /></div><br /><br />Jakoś nie doczytałem tego rozdziału ale zaraz to nadrobię <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />  Już myślałem, że będę musiał wstać z kanapy i iść do pułki po Bluebooka ale na szczęście zostawiłem go obok na fotelu. Dzięki  <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1066">t__d</a> — 13 lis 2013, o 18:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-11-13T17:41:27+01:00</updated>
<published>2013-11-13T17:41:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56706#p56706</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56706#p56706"/>
<title type="html"><![CDATA[Re: Atmega8 Power Down INT0 i budzenie uC.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56706#p56706"><![CDATA[
<div class="quotetitle">t__d napisał(a):</div><div class="quotecontent"><br />Gdy zamiast RTC ręcznie zwieram pin INT0 do masy to przerwanie wywołuje się i uC się budzi.<br /></div><br /><br />Panie .... od tego to trzeba było zacząć a nie od jakiegoś wywoływania przerwania z RTC ... to że wywołujesz je z RTC i masz wątpliwości że to dziwnie działa świadczy tylko o tym , że nie do końca poczytałeś i wiesz jak działa przerwanie wywoływane poziomem niskim. A jak nie wiesz to NIGDY go nie używaj ....<br /><br />Takie przerwanie jest wywoływane wciąż ..... więc nie ma co się dziwić że od RTC miałeś jakąś kiszkę a nie regularne miganie diodą LED - tak miało być i to jest prawidłowe.<br /><br />Jak przerwanie wystąpi to MUSISZ od razu je wyłączyć i jeszcze skasować flagę na wszelki wypadek<br /><br />a usypianie w pętli głównej którą pozostawiłeś pustą<br /><br />..... ale co tu dużo pisać - masz ładnie pokazany przykład w Bluebooku w rozdziale o pilocie RC5 - dlaczego tam nie zajrzysz ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 13 lis 2013, o 17:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[t__d]]></name></author>
<updated>2013-11-13T17:36:44+01:00</updated>
<published>2013-11-13T17:36:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56705#p56705</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56705#p56705"/>
<title type="html"><![CDATA[Re: Atmega8 Power Down INT0 i budzenie uC.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56705#p56705"><![CDATA[
Problem wydaje się raczej sprzętowy. Podłączyłem diodę i wywoływałem przerwanie z RTC co 1s. W przerwaniu zmieniałem stan diody na przeciwny. Czyli dioda powinna się świecić 1s i być zgaszona 1s i tak na zmianę. Tymczasem dioda raz świeci długo raz krótko, raz mocniej raz słabiej czyli przerwanie jest wywoływane nieregularnie. Gdy ustawię zamiast &quot;The low level of INT1 generates an interrupt request&quot; &quot;The falling edge of INT1 generates an interrupt request.&quot; to wszystko działa poprawnie ale wtedy uśpienie uC nic nie da więc zostaje tylko opcja low level. Gdy ustawię dłuższy czas  niż sekunda i low level np. przerwanie co 5 sekund to dioda zapala się na 5 sekund i gaśnie na 5 sekund i tak na zmianę. Jednak gdy włączę uśpienie to procesor się nie wybudza. Gdy zamiast RTC ręcznie zwieram pin INT0 do masy to przerwanie wywołuje się i uC się budzi. Drugim problemem jest to, że nie wiem jak go ponownie uśpić po wykonaniu przerwania.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1066">t__d</a> — 13 lis 2013, o 17:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-11-13T12:58:51+01:00</updated>
<published>2013-11-13T12:58:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56687#p56687</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56687#p56687"/>
<title type="html"><![CDATA[Re: Atmega8 Power Down INT0 i budzenie uC.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56687#p56687"><![CDATA[
A jeśli ruszy z diodą to potem już wiesz - jak za jej pomocą - dodawać kolejne rzeczy i testować aż złapiesz miejsce które powoduje błąd ...<br /><br />czekam więc na info co i jak<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 13 lis 2013, o 12:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[t__d]]></name></author>
<updated>2013-11-13T12:44:43+01:00</updated>
<published>2013-11-13T12:44:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56683#p56683</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56683#p56683"/>
<title type="html"><![CDATA[Re: Atmega8 Power Down INT0 i budzenie uC.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56683#p56683"><![CDATA[
Ok po południu sprawdzę wersję z diodą. Jak nie ruszy to napiszę a jak ruszy to też napiszę co było nie tak.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1066">t__d</a> — 13 lis 2013, o 12:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-11-13T12:38:58+01:00</updated>
<published>2013-11-13T12:38:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56681#p56681</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56681#p56681"/>
<title type="html"><![CDATA[Re: Atmega8 Power Down INT0 i budzenie uC.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56681#p56681"><![CDATA[
a po czym ty poznajesz że ci się wybudza czy nie ?<br /><br />Panowie dlaczego nie staracie się tworzyć prostej wersji kodu do testu tego co wam nie wychodzi (sorki że tak w liczbie mnogiej piszę ale to nie tylko twój przypadek ... a ja wciąż powtarzam o tym w poradnikach) .... tylko testujecie to na kobyle że tak powiem w której może być jeszcze 100 innych baboli<br /><br />Pomyśl teraz - w obsłudze przerwania INT0 - ja bym wstawił np TYLKO zapalenie jakiejś diody LED żeby sprawdzić  czy dojdzie do obsługi przerwania po wybudzeniu .... po co cały ten bagaż kodu ?<br /><br />Sprawdzaj małymi kroczkami a szybko dojdziesz co jest nie tak - ok ? bo te hektolitry kodu tylko zaciemniają obraz całości i komuś kto to ma czytać ale i tobie w znalezieniu przyczyny<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 13 lis 2013, o 12:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[t__d]]></name></author>
<updated>2013-11-13T11:46:34+01:00</updated>
<published>2013-11-13T11:46:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56673#p56673</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56673#p56673"/>
<title type="html"><![CDATA[Re: Atmega8 Power Down INT0 i budzenie uC.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56673#p56673"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />tyle że nie pokazałeś całości jak to testujesz to ciężko coś powiedzieć<br /></div><br /><br />Oto całość <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Może krótko o tym co robi program.  Program ustawia zegar w RTC i alarm. Gdy alarm wywoła przerwanie to program wypisuje datę godzinę i temperatury na terminalu. Wiem, że trochę za dużo dałem w obsłudze przerwania ale bez usypiania wszystko działa a po uśpieniu nie działa przerwanie.<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/sleep.h&gt;<br />#include &lt;stdlib.h&gt;<br />#include &quot;I2C_TWI/i2c_twi.h&quot;<br />#include &quot;1Wire/ds18x20.h&quot;<br /><br />#define BAUD 4800<br />#define UBRR (F_CPU / 16.0 / BAUD - 0.5)<br />#define PCF8583_ADDR 0xA0 //RTC<br /><br />uint8_t dec2bcd(uint8_t dec){<br />return ((dec / 10) &lt;&lt; 4) | (dec % 10);<br />}<br /><br />uint8_t bcd2dec(uint8_t bcd){<br />return ((((bcd) &gt;&gt;4) &amp; 0x0F) *10) + ((bcd) &amp; 0x0F);<br />}<br /><br />void USARTInit(uint8_t ubrr){<br />UBRRH = (unsigned char)(ubrr&gt;&gt;8);<br />UBRRL = (unsigned char)ubrr;<br />UCSRB = (1&lt;&lt;RXEN)|(1&lt;&lt;TXEN)|(1&lt;&lt;RXCIE);<br />UCSRC = (1&lt;&lt;URSEL)|(3&lt;&lt;UCSZ0);<br />}<br /><br />ISR (USART_RXC_vect){<br />char ReceivedByte = UDR;<br />UDR = ReceivedByte;<br />}<br /><br />uint8_t leapYear(uint16_t year){<br />if ((year%4 == 0 &amp;&amp; year%100 != 0) || year%400 == 0) return 0;<br />year--;<br />if ((year%4 == 0 &amp;&amp; year%100 != 0) || year%400 == 0) return 1;<br />year--;<br />if ((year%4 == 0 &amp;&amp; year%100 != 0) || year%400 == 0) return 2;<br />year--;<br />if ((year%4 == 0 &amp;&amp; year%100 != 0) || year%400 == 0) return 3;<br />return 0;<br />}<br /><br />void USARTSendChar(unsigned char c){<br />while(!(UCSRA &amp; (1&lt;&lt;UDRE)));<br />UDR = c;<br />}<br /><br />void USARTSendString(const char *s){<br />while(*s){<br />USARTSendChar(*s);<br />s++;<br />}<br />}<br /><br />void showMeasure(uint8_t t, uint8_t subzero, uint8_t cel, uint8_t cel_fract_bits){<br /><br />char bufor_c&#91;3&#93;;<br />USARTSendString(&quot; T&quot;);<br />if (t==1) USARTSendChar('1');<br />if (t==2) USARTSendChar('2');<br />USARTSendChar(' ');<br />if (subzero==1) USARTSendChar('-');<br />itoa(cel, bufor_c , 10);<br />USARTSendString(bufor_c);<br />USARTSendChar('.');<br />itoa(cel_fract_bits, bufor_c , 10);<br />USARTSendString(bufor_c);<br /><br />}<br /><br />void measureStart(){<br />uint8_t i, subzero, cel, cel_fract_bits;<br />search_sensors();<br />DS18X20_start_meas( DS18X20_POWER_EXTERN, NULL );<br />_delay_ms(750);<br /><br />for (i=0; i&lt;MAXSENSORS; i++){<br />if (DS18X20_OK == DS18X20_read_meas(gSensorIDs&#91;i&#93;, &amp;subzero, &amp;cel, &amp;cel_fract_bits )){<br />showMeasure(i+1, subzero, cel, cel_fract_bits);<br />}<br />}<br />}<br /><br />void setTime(uint8_t hh, uint8_t mm, uint8_t ss){<br />uint8_t bufor&#91;3&#93;;<br />bufor&#91;0&#93;=dec2bcd(ss);<br />bufor&#91;1&#93;=dec2bcd(mm);<br />bufor&#91;2&#93;=dec2bcd(hh);<br />TWI_write_buf(PCF8583_ADDR, 0x02, 3, bufor);<br />}<br /><br />void setAlarm(uint8_t hh, uint8_t mm, uint8_t ss){<br />uint8_t bufor&#91;4&#93;;<br />bufor&#91;0&#93;=dec2bcd(0); //s100<br />bufor&#91;1&#93;=dec2bcd(ss); //s<br />bufor&#91;2&#93;=dec2bcd(mm); //m<br />bufor&#91;3&#93;=dec2bcd(hh); //h<br />TWI_write_buf(PCF8583_ADDR, 0x09, 4, bufor );<br /><br />bufor&#91;0&#93;=0x90;<br />TWI_write_buf(PCF8583_ADDR, 0x08, 1, bufor );<br /><br />bufor&#91;0&#93;=0x04;<br />TWI_write_buf(PCF8583_ADDR, 0x00, 1, bufor );<br />}<br /><br />void showTime(){<br />uint8_t bufor&#91;3&#93;;<br />char bufor_c&#91;3&#93;;<br />USARTSendChar(' ');<br />TWI_read_buf(PCF8583_ADDR, 0x02, 3, bufor);<br />itoa(bcd2dec(bufor&#91;2&#93;), bufor_c , 10);<br />if (bcd2dec(bufor&#91;2&#93;) &lt; 10 ) USARTSendChar('0');<br />USARTSendString(bufor_c);<br />USARTSendChar(':');<br />itoa(bcd2dec(bufor&#91;1&#93;), bufor_c , 10);<br />if (bcd2dec(bufor&#91;1&#93;) &lt; 10 ) USARTSendChar('0');<br />USARTSendString(bufor_c);<br />USARTSendChar(':');<br />if (bcd2dec(bufor&#91;0&#93;) &lt; 10 ) USARTSendChar('0');<br />itoa(bcd2dec(bufor&#91;0&#93;), bufor_c , 10);<br />USARTSendString(bufor_c);<br />}<br /><br />void showDate(){<br />uint8_t bufor&#91;2&#93;;<br />char bufor_c&#91;4&#93;;<br />uint16_t year;<br />uint8_t month;<br />uint8_t day;<br />TWI_read_buf(PCF8583_ADDR, 0x05, 2, bufor);<br />year = (bufor&#91;0&#93; &gt;&gt; 6) ;<br />month = bcd2dec(bufor&#91;1&#93; &amp; 0x1F) ;<br />day = bcd2dec(bufor&#91;0&#93; &amp; 0x3F );<br />if (year==1) USARTSendString(&quot;2013&quot;);<br />if (year==2) USARTSendString(&quot;2014&quot;);<br />if (year==3) USARTSendString(&quot;2015&quot;);<br />if (year==0) USARTSendString(&quot;2016&quot;);<br />USARTSendString(&quot;-&quot;);<br />itoa(month, bufor_c , 10);<br />if (month&lt;10) USARTSendChar('0');<br />USARTSendString(bufor_c);<br />USARTSendString(&quot;-&quot;);<br />if (day&lt;10) USARTSendChar('0');<br />itoa(day, bufor_c , 10);<br />USARTSendString(bufor_c);<br />}<br /><br />void setDate(uint16_t year, uint8_t month, uint8_t day){<br />uint8_t y;<br />y = leapYear(year) &lt;&lt; 6;<br />day = dec2bcd(day);<br />uint8_t bufor&#91;2&#93;;<br />bufor&#91;0&#93;=y | day;<br />bufor&#91;1&#93;=dec2bcd(month &amp; 0x1F);<br />TWI_write_buf(PCF8583_ADDR, 0x05, 2, bufor);<br />}<br /><br />ISR(INT0_vect){<br />showDate();<br />showTime();<br />measureStart();<br />USARTSendString(&quot;\n\r&quot;);<br />setAlarm(16,30,20);<br />}<br /><br /><br /><br />void init(){<br />USARTInit(UBRR);<br />DDRD &amp;= ~(1&lt;&lt;PD2);<br />PORTD |= (1&lt;&lt;PD2);<br />MCUCR &amp;= ~((1 &lt;&lt; ISC01) | (1 &lt;&lt; ISC00));<br />GICR |= (1 &lt;&lt; INT0);<br />sei();<br /><br />i2cSetBitrate(100);<br />setTime(16,30,0);<br />setDate(2013,11,12);<br />setAlarm(16,30,10);<br />}<br /><br />int main(){<br />init();<br />    set_sleep_mode(SLEEP_MODE_PWR_DOWN);<br />sleep_mode();<br /><br />while(1);<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1066">t__d</a> — 13 lis 2013, o 11:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-11-13T11:26:28+01:00</updated>
<published>2013-11-13T11:26:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56668#p56668</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56668#p56668"/>
<title type="html"><![CDATA[Re: Atmega8 Power Down INT0 i budzenie uC.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56668#p56668"><![CDATA[
sorki nie spojrzałem dokładnie na kod ... ale też dlatego że jak bity mają mieć wartość 0 to ich nie zeruję bo po restarcie jak widzisz i tak są = 0 .... Nie mniej - oczywiście to że extra dodatkowo jest ustawiasz na zero nie jest powodem że to nie działa<br /><br />skoro masz dobrze ustawione to znaczy że gdzieś dalej w kodzie masz jakiś babol - tyle że nie pokazałeś całości jak to testujesz to ciężko coś powiedzieć<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 13 lis 2013, o 11:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[t__d]]></name></author>
<updated>2013-11-13T11:13:22+01:00</updated>
<published>2013-11-13T11:13:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56666#p56666</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56666#p56666"/>
<title type="html"><![CDATA[Re: Atmega8 Power Down INT0 i budzenie uC.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56666#p56666"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />trzeba ustawić wyzwalanie przerwania NISKIM POZIOMEM logicznym a nie zboczem bo się nie uda<br /></div><br /><br />MCUCR &amp;= ~((1 &lt;&lt; ISC01) | (1 &lt;&lt; ISC00));<br /><br />1 &lt;&lt; ISC01 = 0b00000010<br />1 &lt;&lt; ISC00 = 0b00000001<br /><br />1 &lt;&lt; ISC01 | 1 &lt;&lt; ISC00 = 0b00000011<br /><br />negacja 0b00000011 = 0b11111100<br /><br />MCUCR = MCUCR &amp; 0b11111100 = xxxxxx00<br /><br />czyli ISC00 = 0 i ISC01 = 0<br /><br />czyli wg tabeli z noty - The low level of INT0 generates an interrupt request<br /><br />Albo zrobiłem błąd w wyliczeniach albo nie znam angielskiego ale wydaje mi się, że ustawiłem yzwalanie przerwania niskim poziomem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1066">t__d</a> — 13 lis 2013, o 11:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-11-13T10:34:13+01:00</updated>
<published>2013-11-13T10:34:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56660#p56660</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56660#p56660"/>
<title type="html"><![CDATA[Re: Atmega8 Power Down INT0 i budzenie uC.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56660#p56660"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />To przerwanie nie wybudza uC. Proszę o pomoc w znalezieniu błędu<br /></div><br /><br />To trzeba jeszcze panie kochany zwrócić uwagę w nocie - że jeśli chcemy wybudzać procka sygnałem INTx to przed wprowadzeniem go w stan uśpienia trzeba ustawić wyzwalanie przerwania NISKIM POZIOMEM logicznym a nie zboczem bo się nie uda. Przecież to proces mocno asynchroniczny i nie da rady załatwić tego zboczem. A po wybudzeniu jeśli ci potrzeba to można przestawić int0 na zbocze znowu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 13 lis 2013, o 10:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[t__d]]></name></author>
<updated>2013-11-13T09:58:37+01:00</updated>
<published>2013-11-13T09:58:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56652#p56652</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56652#p56652"/>
<title type="html"><![CDATA[Atmega8 Power Down INT0 i budzenie uC.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4773&amp;p=56652#p56652"><![CDATA[
Witam.<br /><br />Mam problem z obudzeniem uC Atmega8L.<br /><br />Konfiguruję przerwanie tak:<br />[syntax=c]DDRD &amp;= ~(1&lt;&lt;PD2);<br />PORTD |= (1&lt;&lt;PD2);<br />MCUCR &amp;= ~((1 &lt;&lt; ISC01) | (1 &lt;&lt; ISC00));<br />GICR |= (1 &lt;&lt; INT0);<br />sei();[/syntax]<br /><br />Gdy na nóżce PD2(INT0) pojawia się stan niski to występuje przerwanie.<br /><br />Jednak gdy uśpię uC.<br /><br />[syntax=c]set_sleep_mode(SLEEP_MODE_PWR_DOWN);<br />sleep_mode()[/syntax]<br /><br />To przerwanie nie wybudza uC. Proszę o pomoc w znalezieniu błędu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1066">t__d</a> — 13 lis 2013, o 09:58</p><hr />
]]></content>
</entry>
</feed>