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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-12-31T10:53:54+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=47&amp;t=5350&amp;mode</id>
<entry>
<author><name><![CDATA[emo94]]></name></author>
<updated>2013-12-31T10:53:54+01:00</updated>
<published>2013-12-31T10:53:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5350&amp;p=63061#p63061</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5350&amp;p=63061#p63061"/>
<title type="html"><![CDATA[Re: wybudzenie atmegi32 ze sleep mode power save]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5350&amp;p=63061#p63061"><![CDATA[
no dokładnie to miałem na myśli <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=1787">emo94</a> — 31 gru 2013, o 10:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ursmar]]></name></author>
<updated>2013-12-31T01:30:01+01:00</updated>
<published>2013-12-31T01:30:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5350&amp;p=63036#p63036</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5350&amp;p=63036#p63036"/>
<title type="html"><![CDATA[Re: wybudzenie atmegi32 ze sleep mode power save]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5350&amp;p=63036#p63036"><![CDATA[
<div class="quotetitle">emo94 napisał(a):</div><div class="quotecontent"><br />...w Arduino po zastąpieniu komend setup i loop, komendą void(main) i while, znów potrzebny był preskaler 1024 i prąd jest taki sam jak z Eclipsa..<br /></div><br />chyba miałeś na myśli main(void) <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Swoją drogą ciekawe z czego wynikają te różnice poboru prądu, które opisujesz gdy zamieniłeś te komendy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=716">ursmar</a> — 31 gru 2013, o 01:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[emo94]]></name></author>
<updated>2013-12-31T00:47:55+01:00</updated>
<published>2013-12-31T00:47:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5350&amp;p=63034#p63034</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5350&amp;p=63034#p63034"/>
<title type="html"><![CDATA[Re: wybudzenie atmegi32 ze sleep mode power save]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5350&amp;p=63034#p63034"><![CDATA[
ok, znalazłem:)<br />[syntax=cpp]#include &lt;avr/sleep.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br />#define ledPin 16<br /><br />volatile int i = 0;<br /><br />void setup()<br />{<br />  pinMode(ledPin, OUTPUT);<br />  set_sleep_mode (SLEEP_MODE_PWR_SAVE);<br /><br />  // initialize timer2 <br />  noInterrupts();                       // disable all interrupts<br />  /* zewnetrzny kwarc 32,768 kHz na Timer2 */<br />  TCCR2 |= (1&lt;&lt;WGM21);        // tryb CTC (Clear Timer on Compare Match<br />  TCCR2 |= (0&lt;&lt;CS22)|(0&lt;&lt;CS21)|(1&lt;&lt;CS20);//brak preskalera<br />  OCR2 = 30;// zliczanie tylko 32 razy<br />  ASSR |= (1&lt;&lt;AS2);// AS2 ust. na jeden (timer taktowany z TOSC1)<br />  TIMSK |= (1&lt;&lt;OCIE2);<br /><br />  interrupts();                           // enable all interrupts<br />}<br /><br />ISR(TIMER2_COMP_vect)                   // timer compare interrupt service routine<br />{<br /><br />  i++;<br />  if (i&gt;=1)<br />  {<br />    digitalWrite(ledPin, digitalRead(ledPin) ^ 1);   // toggle LED pin<br />    i=0;<br />  }<br />}<br /><br /><br />void loop()<br />{<br />  sleep_mode();<br />}[/syntax]<br /><br />pomocny był temat <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic1905.html" >topic1905.html</a><!-- l --><br /><br /><br />kod do eclipsa<br />[syntax=cpp]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/sleep.h&gt;<br /><br />#define LED1 (1&lt;&lt;PC0)<br /><br />#define LED1_ON PORTC &amp;= ~LED1<br />#define LED1_OFF PORTC |= LED1<br />#define LED1_TOG PORTC ^= LED1<br /><br />volatile uint16_t licznik = 0;<br />volatile uint8_t Timer2_flag = 0;<br /><br />int main(void) {<br />/* ustawienia trybu oszczedzania energi */<br />//MCUCR |= (1&lt;&lt;SM1)|(1&lt;&lt;SM0);// tryb POWER SAVE<br />set_sleep_mode(SLEEP_MODE_PWR_SAVE);<br /><br />/* przerwanie INT0 */<br /><br />DDRC |= LED1;<br /><br />/* zewnetrzny kwarc 32,768 kHz na Timer2 */TCCR2 |= (1 &lt;&lt; WGM21); // tryb CTC (Clear Timer on Compare Match<br />TCCR2 |= (1 &lt;&lt; CS22) | (1 &lt;&lt; CS21) | (1 &lt;&lt; CS20); // preskaler 1024<br />OCR2 = 32; // zliczanie tylko 32 razy<br />ASSR |= (1 &lt;&lt; AS2); // AS2 ust. na jeden (timer taktowany z TOSC1)<br />TIMSK |= (1 &lt;&lt; OCIE2); // zezwolenie na przerwanie w trybie CTC<br /><br />sei();<br /><br />while (1) {<br />sleep_mode(); // instrukcja(funkcja) usypiająca<br /><br />if (Timer2_flag) {<br /><br />LED1_TOG;<br />Timer2_flag = 0;<br />}<br /><br />}<br />}<br /><br />ISR(TIMER2_COMP_vect) {<br /><br />licznik++;<br />Timer2_flag = 1;<br />}[/syntax]<br /><br /><br />co ciekawe prawie ten sam kod w eclipsie i pobór prądu to 12uA<br />natomiast w Arduino IDE 1.05 pobór prądu to 120uA i preskaler trzeba było wyłączyć<br />w Arduino po zastąpieniu komend setup i loop, komendą void(main) i while, znów potrzebny był preskaler 1024 i prąd jest taki sam jak z Eclipsa..<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1787">emo94</a> — 31 gru 2013, o 00:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[emo94]]></name></author>
<updated>2013-12-30T20:59:24+01:00</updated>
<published>2013-12-30T20:59:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5350&amp;p=62993#p62993</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5350&amp;p=62993#p62993"/>
<title type="html"><![CDATA[wybudzenie atmegi32 ze sleep mode power save]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5350&amp;p=62993#p62993"><![CDATA[
mógłby mi ktoś pomóc?<br />walczę z minimalizacją poboru prądu przez atmege32.<br />na podstawie<br /><!-- m --><a class="postlink" href="http://letsmakerobots.com/node/28278" >http://letsmakerobots.com/node/28278</a><!-- m --><br />uruchomiłem timer2 w procku.<br />atmega nie wybudza się z Power-save, pomimo, że na pinach TOSC1, TOSC2 jest kwarc 34kHz. (tak pisze w nocie, że trzeba użyć kwarca zewnętrznego). <br />Przy IDLE układ działa dobrze.<br /><br />[syntax=cpp]#include &lt;avr/sleep.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br />#define ledPin 16<br /><br />volatile int i = 0;<br /><br />void setup()<br />{<br />  pinMode(ledPin, OUTPUT);<br />  <br />  // initialize timer2 <br />  noInterrupts();           // disable all interrupts<br />  TCCR2  = 0;               <br />  TCNT2  = 250;  <br />  ASSR  |= (1 &lt;&lt; AS2);                              //kwarc zewnętrzny do timera<br />  TCCR2 |= (1 &lt;&lt; CS20)|(1 &lt;&lt; CS21)|(1 &lt;&lt; CS22);     // 1024 prescaler <br />  TIMSK |= (1 &lt;&lt; TOIE2);                            // Timer/Counter2 Overflow Interrupt Enable<br />  interrupts();                                     // enable all interrupts<br />}<br /><br />ISR(TIMER2_OVF_vect)          // timer compare interrupt service routine<br />{<br />  TCNT2  = 250;<br />  i++;<br />  if (i&gt;=3)<br />  {<br />  digitalWrite(ledPin, digitalRead(ledPin) ^ 1);   // toggle LED pin<br />  i=0;<br />  }<br />}<br /><br /><br />void loop()<br />{<br />//  set_sleep_mode (SLEEP_MODE_PWR_SAVE);<br />set_sleep_mode (SLEEP_MODE_IDLE);<br /><br />sleep_mode();<br /><br />}[/syntax]<br /><br /><!-- m --><a class="postlink" href="http://www.atmel.com/devices/ATMEGA32A.aspx" >http://www.atmel.com/devices/ATMEGA32A.aspx</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1787">emo94</a> — 30 gru 2013, o 20:59</p><hr />
]]></content>
</entry>
</feed>