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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2012-07-09T08:24:39+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=806&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-07-09T08:24:39+01:00</updated>
<published>2012-07-09T08:24:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9410#p9410</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9410#p9410"/>
<title type="html"><![CDATA[Re: on/off jednym przerwaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9410#p9410"><![CDATA[
<div class="quotetitle">szopler napisał(a):</div><div class="quotecontent"><br />Trochę Was podpuściłem <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Delaye były potrzebne bo nie mam obecnie sprawnej baterii i zamiast zenerki wstawiłem przycisk normalnie zwarty żeby sumulować działanie układu... w docelowym kodzie tego nie będzie... <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /><br /></div><br /><br />Nie za bardzo rozumiem o co chodzi <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ale ok<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 9 lip 2012, o 08:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szopler]]></name></author>
<updated>2012-07-09T01:56:15+01:00</updated>
<published>2012-07-09T01:56:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9400#p9400</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9400#p9400"/>
<title type="html"><![CDATA[Re: on/off jednym przerwaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9400#p9400"><![CDATA[
Trochę Was podpuściłem <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Delaye były potrzebne bo nie mam obecnie sprawnej baterii i zamiast zenerki wstawiłem przycisk normalnie zwarty żeby sumulować działanie układu... w docelowym kodzie tego nie będzie... <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=82">szopler</a> — 9 lip 2012, o 01:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-07-08T21:55:55+01:00</updated>
<published>2012-07-08T21:55:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9380#p9380</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9380#p9380"/>
<title type="html"><![CDATA[Re: on/off jednym przerwaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9380#p9380"><![CDATA[
eeeeh zaraz - no toż ja nawet nie zauważyłem że tam po prawej jest napis SUPPLY a myślałem że tam jest podłączony klawisz, który zwiera do GND .... no tak to uffff ok rozumiem działanie D2 .... ale teraz - gdzie ten przycisk ??? <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> — 8 lip 2012, o 21:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2012-07-08T21:48:52+01:00</updated>
<published>2012-07-08T21:48:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9378#p9378</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9378#p9378"/>
<title type="html"><![CDATA[Re: on/off jednym przerwaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9378#p9378"><![CDATA[
Mirku przecież to proste przypatrz się  zasilanie na VPP masz  z 5V albo z BAT  <br />i teraz zależnie które jest/występuje to jest załączane  dlatego siedzą tam zaporowo shottkie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />  <br />strasznie malutki ten schemat wiec coś mogłem pominąć , ale taka jest idea by nie było zwarcia miedzy dwoma różnymi zasilaniami <br />i zachowana była ciągłość<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 8 lip 2012, o 21:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-07-08T21:43:41+01:00</updated>
<published>2012-07-08T21:43:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9376#p9376</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9376#p9376"/>
<title type="html"><![CDATA[Re: on/off jednym przerwaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9376#p9376"><![CDATA[
To teraz ja panowie mam pytanko do tego schematu (sorry za poziom pytanka - no ale to zahacza jakby o analogówkię <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... więc dlatego nie do końca rozumiem i dopytuję).<br /><br />VPP - to rozumiem, że napięcie zasilania np +5V z zasilacza, ale jak działa w tym układzie i spełnia swoją rolę dioda D2 ... ona mi coś w głowie nie chce przejść, hmm przetrawić się <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ktoś coś podpowie?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 8 lip 2012, o 21:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2012-07-08T21:39:07+01:00</updated>
<published>2012-07-08T21:39:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9372#p9372</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9372#p9372"/>
<title type="html"><![CDATA[Re: on/off jednym przerwaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9372#p9372"><![CDATA[
dokładnie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 8 lip 2012, o 21:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szopler]]></name></author>
<updated>2012-07-08T21:29:06+01:00</updated>
<published>2012-07-08T21:29:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9368#p9368</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9368#p9368"/>
<title type="html"><![CDATA[Re: on/off jednym przerwaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9368#p9368"><![CDATA[
Słucham propozycji... <img src="https://forum.atnel.pl/images/smilies/icon_question.gif" alt=":?:" title="Znak zapytania" /><br />Czyżby chodziło o marny &quot;debouncing&quot;?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=82">szopler</a> — 8 lip 2012, o 21:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2012-07-08T00:52:47+01:00</updated>
<published>2012-07-08T00:52:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9313#p9313</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9313#p9313"/>
<title type="html"><![CDATA[Re: on/off jednym przerwaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9313#p9313"><![CDATA[
No sprytnie kolego szopler sprytnie gratuluje rozwiązania <br />myślę że to załatwi problem , aczkolwiek mozna trochę skrócić <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 8 lip 2012, o 00:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szopler]]></name></author>
<updated>2012-07-07T23:56:40+01:00</updated>
<published>2012-07-07T23:56:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9308#p9308</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9308#p9308"/>
<title type="html"><![CDATA[Re: on/off jednym przerwaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=9308#p9308"><![CDATA[
Usypianie i budzenie procesora jednym i tym samym przerwaniem można zrobić tak:<br /><em>Nazwy rejestrów dotyczą procesora ATMega88PA - dla innych mogą się nieco różnić.</em><br />[syntax=c]ISR(INT0_vect)<br />{<br />sbi(EIFR, INTF0); //&quot;zerowanie&quot; flagi przerwania żeby prawidłowo uśpić i obudzić (bez tego nie za każdym razem działa)<br /> <br />if (bit_is_set(PIND, 2))<br />{<br />_delay_us(100);<br />if (bit_is_set(PIND, 2))<br />{<br />cbi(EICRA, ISC00); cbi(EICRA, ISC01); //Przestawienie przerwania Int0 na aktywację stanem niskim (żeby móc wybudzić)<br />sei(); //Włączenie przerwań - konieczne do obudzenia!<br /> <br />power_all_disable();<br />set_sleep_mode(SLEEP_MODE_PWR_DOWN);<br />sleep_mode();<br />}<br />}<br />else<br />{<br />_delay_us(100);<br />if (bit_is_clear(PIND, 2))<br />{<br />power_all_enable();<br />OLED_init();<br /> <br />sbi(EICRA, ISC00); sbi(EICRA, ISC01); //Aktywacja Int0: 11 - zbocze rosnące / 10 - zmiana stanu<br />}<br />}<br />}[/syntax]<br /><br />Oczywiście najpierw należy skonfigurować przerwanie do wyzwalania zboczem rosnącym lub zmianą stanu.<br />U mnie działa (raczej bezbłędnie - do tej pory nie zauważyłem błędów) i służy do usypiania procesora gdy padnie zasilanie główne.<br /><br />I jeszcze kawałek schematu do tego:<br /><a href="http://forum.atnel.pl/_obrazki/o/82_b07937f0e901bbae2808dbb6b0942f7d.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/82_b07937f0e901bbae2808dbb6b0942f7d.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=82">szopler</a> — 7 lip 2012, o 23:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[seba86]]></name></author>
<updated>2012-02-01T18:21:17+01:00</updated>
<published>2012-02-01T18:21:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=806&amp;p=2200#p2200</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=2200#p2200"/>
<title type="html"><![CDATA[Re: on/off jednym przerwaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=2200#p2200"><![CDATA[
Książkę zakupiłem niedawno i nie doczytałem wszystkiego. Co do wymienionych punktów:<br />1. nie wyświetlam niczego na lcd to jest komenda do wyłączenia lcd, która jak się okazało jest zbędna.<br />2. do odczytu eeproma w przerwaniu się przyznaję, nie wiem dlaczego to tam umieściłem. Co do funkcji odczytu to korzystam z wbudowanych plus makro:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">#define eeprom_rb(addr) eeprom_read_byte ((const unsigned char *)(addr))<br />#define eeprom_wb(addr, val) eeprom_write_byte ((unsigned char *)(addr), (unsigned char)(val))</div><br />w zasadzie zbędne i dobrze że zwrócił kolega na to uwagę. Część obecnego kodu pochodzi sprzed roku i ten fragment akurat jest zaczerpnięty gdzieś z sieci.<br />3. też się zgodzę.<br /><br />Reasumując - dlatego właśnie kupiłem tą książkę. Jak się okazało problem nie tkwił w ustawieniach przerwań od int0 a w samej funkcji wyłączającej/załączającej LCD (korzystam z bibliotek radzia). Co do funkcji SuperDebounce to na pewno skorzystam i przeanalizuje przy okazji realizacji nowego projektu.<br /> <br />Teraz jest ok poza jedną rzeczą. Przy pierwszym wciśnięciu klawisza onoff usypia się od razu, natomiast po wybudzeniu i kolejnym wciśnięciu trzeba przycisk trzymać już znaczny czas, nie wiem skąd to się bierze.<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">void after_stby(void)<br />{<br />   GICR|=(0&lt;&lt;INT0);//wyłączenie zezwolenia na przerwanie od int0<br />   pwm=eeprom_read_byte( (uint8_t  *) 0x09);<br />   }<br /><br />ISR(INT0_vect)<br />{<br />   after_stby();<br />   }</div><br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">      if(onoff_p)<br />      {<br />         _delay_ms(30);<br />         if(onoff_p)<br />         {<br />            GICR|=(1&lt;&lt;INT0);//zezwolenie na przerwanie od int0<br />            LCD_Clear();<br />            sbi(buz_port,buz_bit);<br />            _delay_ms(20);<br />            cbi(buz_port,buz_bit);<br />            pwm=0;//wylączenie podświetlenia lcd<br />            _delay_ms(20);<br />            set_sleep_mode(SLEEP_MODE_PWR_DOWN);//<br />            sleep_mode();<br />            }<br />         }</div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=205">seba86</a> — 1 lut 2012, o 18:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-01-30T23:00:15+01:00</updated>
<published>2012-01-30T23:00:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=806&amp;p=2174#p2174</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=2174#p2174"/>
<title type="html"><![CDATA[Re: on/off jednym przerwaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=2174#p2174"><![CDATA[
No pewnie bo się zapętlasz sam <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... wprowadzasz procka w uśpienie i praktycznie zanim puścisz przycisk już go budzisz.<br /><br />Nie wspomnę o karygodnych mega błędach <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> kto w przerwaniu robi takie rzeczy ???<br /><br />1. wyświetlanie czegoś na LCD !<br />2. co to za odczytywanie z eeproma i jakieś wait ???? nie słyszał kolega o wbudowanych funkcjach do obsługi eeprom'a jak np eeprom_read_xxxx() ???? żadnych waitów nie potrzeba - a tak to jest koszmar! Poza tym w przerwaniu w ogóle nie robi się dostępu do EEPROM'a<br />3. a wyłączenie przerwania to powinna być pierwsza instrukcja a nie ostatnia, przecież w trakcie wykonywania tych pierwszych linii kodu, przy wyzwalaniu poziomem - zostaną one wykonane miliony razy w trakcie wciśniętego przycisku<br /><br />Reasumując - polecam koledze przeczytanie dwóch/trzech rozdziałów z książki &quot;Mikrokontrolery AVR Język C Podstawy programowania&quot;<br /><br />1. pilot RC5<br />2. wstęp do systemów czasu rzeczywistego<br />3. opis zaawansowanej obsługi klawiszy - funkcja SuperDebounce<br /><br />Nie wspomnę o początku książki, gdzie dobitnie wyjaśniam i odradzam wszystkim próby dokonywania takich operacji jakie tu wyliczyłem w punktach w przerwaniu <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />Sorki - ale jak widać muszę odesłać do książki ponieważ zbyt duże zakresy informacji trzeba byłoby tu poruszać żeby kolegę wyprowadzić na właściwe tory.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 sty 2012, o 23:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[seba86]]></name></author>
<updated>2012-01-30T19:09:19+01:00</updated>
<published>2012-01-30T19:09:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=806&amp;p=2168#p2168</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=2168#p2168"/>
<title type="html"><![CDATA[Re: on/off jednym przerwaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=2168#p2168"><![CDATA[
Coś sobie nie mogę poradzić...<br /><br />Obsługa przycisku w pętli głównej:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">   if(onoff_p)<br />   {<br />      _delay_ms(10);<br />      if(onoff_p)<br />      {<br />         pwm=0;//wylączenie podświetlenia lcd<br />         LCD_Clear();<br />         LCD_WriteCommand(display_off);//wyłączenie lcd<br />         GICR|=(1&lt;&lt;INT0);//zezwolenie na przerwanie od int0<br />         //MCUCR |=((0&lt;&lt;ISC01)|(0&lt;&lt;ISC00));<br />         set_sleep_mode(SLEEP_MODE_PWR_DOWN);//<br />         sleep_mode();<br />      }<br />   }</div><br /><br />obsługa przerwania od int0<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">ISR(INT0_vect)<br />{<br />   pwm=eeprom_rb(0x09);//odczyt wartości pwm<br />   eeprom_busy_wait();//czekaj az odczyta<br />   LCD_WriteCommand(display_on);//załączenie lcd<br />   GICR|=(0&lt;&lt;INT0);//wyłączenie zezwolenia na przerwanie od int0<br />}</div><br /><br />mam też ustawione usypianie dla testów na osobnym przycisku i w tym wypadku wszystko działa, zasypia i wstaje bez problemów natomiast gdy używam tylko jednego przycisku to już się kaszani. Po resecie pierwsze naciśnięcie przycisku onoff powoduje zgaszenie lcd na chwile i nic poza tym. Procek to atmega32.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=205">seba86</a> — 30 sty 2012, o 19:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[seba86]]></name></author>
<updated>2012-01-30T18:35:47+01:00</updated>
<published>2012-01-30T18:35:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=806&amp;p=2167#p2167</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=2167#p2167"/>
<title type="html"><![CDATA[Re: on/off jednym przerwaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=2167#p2167"><![CDATA[
No ok, zaraz sprawdzę czy takie rozwiązanie zadziała. Rozumiem że zezwolenie na przerwanie od int0 włączam dopiero w funkcji obsługującej wciśnięcie przycisku? tylko pytanie teraz czy muszę je wyłączyć po wybudzeniu?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=205">seba86</a> — 30 sty 2012, o 18:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-01-30T18:23:42+01:00</updated>
<published>2012-01-30T18:23:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=806&amp;p=2166#p2166</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=2166#p2166"/>
<title type="html"><![CDATA[Re: on/off jednym przerwaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=2166#p2166"><![CDATA[
Przerwanie musi być wyzwalane poziomem niskim to po pierwsze. Po drugie to pozostaw przerwanie TYLKO do wybudzania, natomiast obsługę przycisku do przełączania w tryb PowerDown daj normalnie w pętli głównej programu i po kłopocie.<br /><br />Bardzo ciężko coś pomóc na podstawie tylko takiego opisu jaki podałeś.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 sty 2012, o 18:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[seba86]]></name></author>
<updated>2012-01-30T18:07:10+01:00</updated>
<published>2012-01-30T18:07:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=806&amp;p=2165#p2165</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=2165#p2165"/>
<title type="html"><![CDATA[on/off jednym przerwaniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=806&amp;p=2165#p2165"><![CDATA[
Próbuje napisać obsługę przycisku, który powodowałby przejście do trybu power down a po kolejnym naciśnięciu wybudzał procesor.<br />Przycisk podpięty pod int0 z podciągnięciem do VCC.<br />Inicjalizacja przerwania od int0:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">void Ext_Interrupt_Init(void)<br />{<br />    GICR|=(1&lt;&lt;INT0);<br />    MCUCR &amp;= ~((1&lt;&lt;ISC01)|(1&lt;&lt;ISC00));<br />    //MCUCR |=(1&lt;&lt;ISC00);<br />}<br /></div><br /><br />I teraz tak, pomysł był taki że w głównej funkcji programu mam zmienna ustawianą na wartość 1, po wejściu do obsługi przerwania if'a sprawdzającego czy jest 1 i jeśli jest to wykonuje if'a czyli ustawia zmienną na zero i usypia procka. Uspi się ale nie chce się wybudzić, kombinowałem też z zapisem tej zmiennej do eepromu ale za chiny nie chce działać. Może jakaś podpowiedź?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=205">seba86</a> — 30 sty 2012, o 18:07</p><hr />
]]></content>
</entry>
</feed>