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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-10-12T22:38:11+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=8762&amp;mode</id>
<entry>
<author><name><![CDATA[Atmegowiec]]></name></author>
<updated>2014-10-12T22:38:11+01:00</updated>
<published>2014-10-12T22:38:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98737#p98737</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98737#p98737"/>
<title type="html"><![CDATA[Re: Odp: Ustawienie trybu asynchronicznego na potrzeby Power]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98737#p98737"><![CDATA[
<div class="quotetitle">Krauser napisał(a):</div><div class="quotecontent"><br /><div class="quotetitle">Atmegowiec napisał(a):</div><div class="quotecontent">Zwyczjnie zapisanie &quot;1&quot; przy bicie PWN_DOWN w rejestrze 0x00 niee pomaga. Jkos trzeba do tego dojsc, bo głupio ze 330uA pobiera niepotrzebnie.<br /></div><br />Standby-II -------- CE = 0 -------------&gt; Standby-I (50 uA)<br />Standby-I -------- PWN_DOWN = 0 -------------&gt; Power Down (2,5 uA)<br />Power Down -------- PWN_DOWN = 1 -------------&gt; Standby-I</div><br />Właśnie widziałem w necie te schematy,  i że trzeba zmienić wymieniony przez Ciebie bit. Niestety zapis do rejestru i tego bity,  nie daje oczekiwanych rezultatów,  ale napewno da się z tym coś zrobić.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1123">Atmegowiec</a> — 12 paź 2014, o 22:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atmegowiec]]></name></author>
<updated>2014-10-12T22:33:15+01:00</updated>
<published>2014-10-12T22:33:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98736#p98736</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98736#p98736"/>
<title type="html"><![CDATA[Re: Ustawienie trybu asynchronicznego na potrzeby Power Save]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98736#p98736"><![CDATA[
Ale gdzie ja pisałem że po wgraniu wsadu robie clean jeszcze raz?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1123">Atmegowiec</a> — 12 paź 2014, o 22:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2014-10-11T13:05:38+01:00</updated>
<published>2014-10-11T13:05:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98548#p98548</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98548#p98548"/>
<title type="html"><![CDATA[Re: Ustawienie trybu asynchronicznego na potrzeby Power Save]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98548#p98548"><![CDATA[
<div class="quotetitle">Antystatyczny napisał(a):</div><div class="quotecontent"><br />Clean wystarczy robić raz i nie mam pojęcia dlaczego Ty musisz kilka razy powtarzać tę czynność. Moim zdaniem błąd nadal jest w kodzie/sprzęcie/połączeniach.<br /></div><br /><br />I to w dodatku tylko dla zmiany kwarca/procesora trzeba machać cleanem, przy zmianach w kodzie nie ma takiej potrzeby. W dodatku trzeba to robić tylko raz przed build, a nie jakieś herezje, że przed wgraniem, po wgraniu wsadu itp.<p>Statystyki: Napisane przez Gość — 11 paź 2014, o 13:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2014-10-10T19:23:34+01:00</updated>
<published>2014-10-10T19:23:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98472#p98472</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98472#p98472"/>
<title type="html"><![CDATA[Re: Ustawienie trybu asynchronicznego na potrzeby Power Save]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98472#p98472"><![CDATA[
<div class="quotetitle">Atmegowiec napisał(a):</div><div class="quotecontent"><br />Zwyczjnie zapisanie &quot;1&quot; przy bicie PWN_DOWN w rejestrze 0x00 niee pomaga. Jkos trzeba do tego dojsc, bo głupio ze 330uA pobiera niepotrzebnie.<br /></div><br />Standby-II -------- CE = 0 -------------&gt; Standby-I (50 uA)<br />Standby-I -------- PWN_DOWN = 0 -------------&gt; Power Down (2,5 uA)<br />Power Down -------- PWN_DOWN = 1 -------------&gt; Standby-I<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 10 paź 2014, o 19:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atmegowiec]]></name></author>
<updated>2014-10-10T15:38:22+01:00</updated>
<published>2014-10-10T15:38:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98444#p98444</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98444#p98444"/>
<title type="html"><![CDATA[Re: Ustawienie trybu asynchronicznego na potrzeby Power Save]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98444#p98444"><![CDATA[
możliwe, może tez ja coś namieszałem i program sie nie wgrał do procka i musiłem niby drugi raz Clean dawać. W każdym razie dobrze ze działa, bo ja już traciłem nadzieje bo kod niby ok,  a nie działa.<br /><br />Racja nie miałem jednoczesnego włączonego Clean przy bulid-owaniu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1123">Atmegowiec</a> — 10 paź 2014, o 15:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-10-10T14:34:57+01:00</updated>
<published>2014-10-10T14:34:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98432#p98432</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98432#p98432"/>
<title type="html"><![CDATA[Re: Ustawienie trybu asynchronicznego na potrzeby Power Save]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98432#p98432"><![CDATA[
<div class="quotetitle">Atmegowiec napisał(a):</div><div class="quotecontent"><br />w moim przypadku ze 3x na zmianę z kompilacją)<br /></div><br />tu skoryguję - nie opowiadaj bajek albo nie szerz plotek <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br /><br />CLEAN wystarczy zrobić TYLKO raz a po nim build tylko raz ... i wystarczy ... A jak się w Eclipse ma dobrze ustawione to RAZ się klika CLEAN i robi się jednocześnie build<br /><br />to wszystko - żadne 3x w moim przypadku bo to jakaś herezja <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> — 10 paź 2014, o 14:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atmegowiec]]></name></author>
<updated>2014-10-10T13:59:47+01:00</updated>
<published>2014-10-10T13:59:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98427#p98427</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98427#p98427"/>
<title type="html"><![CDATA[Re: Ustawienie trybu asynchronicznego na potrzeby Power Save]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98427#p98427"><![CDATA[
Udało się rozwiązać problem z trybem asynchronicznym i taktowaniem.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: kilkunastu sekundach ]</span></strong><br /><br />Kod jest dobry - okazało sie ze trzeba kilkakrotnie wcisnąć Clean ( w moim przypadku ze 3x na zmianę z kompilacją) i wgrać do procesora. Dzięki <span style="color: #008000"><strong>Anty</strong></span> za wskazówkę.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 4 minutach ]</span></strong><br /><br />pozostało jeszcz ewymysłem jak wprowadzić moduł rfm73 w tryb Power_Down. Zwyczjnie zapisanie &quot;1&quot; przy bicie PWN_DOWN w rejestrze 0x00 niee pomaga. Jkos trzeba do tego dojsc, bo głupio ze 330uA pobiera niepotrzebnie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1123">Atmegowiec</a> — 10 paź 2014, o 13:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atmegowiec]]></name></author>
<updated>2014-10-09T13:40:18+01:00</updated>
<published>2014-10-09T13:40:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98244#p98244</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98244#p98244"/>
<title type="html"><![CDATA[Ustawienie trybu asynchronicznego na potrzeby Power Save]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8762&amp;p=98244#p98244"><![CDATA[
Witam, mam problem z ustawieniem trybu asynchroniczego. Po wielu próbach kolegów na czacie m.in. SunRivera i Antystatycznego, w koncu załapałem o co chodzi w tym trybie. Rzeczywiście podłączanie kwarca do timera pod te same nózki co zwykłego kwarca dla uC było mylące.<br /><br />Czytałem, w datasheet ze tryb asynchroniczny ustawia się w rejestrze ASSR. Mój kod wygląda tak:<br /><br />[syntax=c]* main.c<br /> *<br /> *  Created on: 27-08-2014<br /> *      Author: Mateusz<br /> */<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;avr/sleep.h&gt;<br /><br />#include &quot;rfm73.h&quot;<br />//#include &quot;LCD/lcd44780.h&quot;<br />#include &quot;spi.h&quot;<br />#include &quot;MKUART/mkuart.h&quot;<br />#include &quot;1Wire/ds18x20.h&quot;<br /><br />uint8_t buff&#91;6&#93;= {0};//bufor nadawczy - nie uzywany jeszcze<br />uint8_t a,dane;// zmienne dla danych sprawdzających poprawnoć podłczeni rfm73 oraz zmienne dla odbioru drogą<br />// radiową<br />uint8_t cel, cel_fract_bits,subzero;<br /><br />uint8_t cnt=1;<br /><br />volatile uint8_t timer_rfm73;<br /><br />int main( void ){<br /><br /><br />ASSR = (1&lt;&lt;AS2);//tryb asynchroniczny<br />while (ASSR &amp; (1 &lt;&lt; OCR2UB));  // Wait for registers to update<br /><br />//Kwarc 32kHz w trybie asynchronicznym<br />TCCR2 |= (1&lt;&lt;CS20)|(1&lt;&lt;CS22);// set prescaler = 128 ---&gt; please check proper values in PDF<br />TIMSK  |= (1&lt;&lt;TOIE2);<br />SPI_Init();<br /><br />rfm73_init();//inicjacja rfm73<br />rfm73_mode_transmit();//wybór trybu pracy - nadajnik<br />rfm73_channel(4);//wybór kanału pracy - 4<br /><br />sei();// <br /><br />ACSR |= (1&lt;&lt;ACD);//wyłaczenie ACD<br />WDTCR = 0x00;//wyłczenie WDT<br /><br /><br /><br />while(1){<br /><br />if(!timer_rfm73){<br /><br />search_sensors();  //sprawdzanie liczby czujników<br /><br />DS18X20_start_meas( DS18X20_POWER_EXTERN, NULL );//rozpoczyna pierwszy pomiar temperatury<br />_delay_ms(750);<br />//odczekanie na pierwszy pomiar min. 750ms<br />if(DS18X20_OK == DS18X20_read_meas(gSensorIDs&#91;0&#93;, &amp;subzero, &amp;cel, &amp;cel_fract_bits) ){<br />buff&#91;0&#93; = cel;<br />buff&#91;1&#93; = cel_fract_bits;<br />}<br />if(DS18X20_OK == DS18X20_read_meas(gSensorIDs&#91;1&#93;, &amp;subzero, &amp;cel, &amp;cel_fract_bits) ){<br />buff&#91;3&#93; = cel;<br />buff&#91;4&#93; = cel_fract_bits;<br />}<br /><br /><br />buff&#91;2&#93; = cnt;// zmienna kontrolna<br /><br />rfm73_buffer_write(RFM73_CMD_W_TX_PAYLOAD_NOACK,buff,6);// wysłanie danych<br />cnt++;<br />timer_rfm73=2;//co 2s<br />}<br /><br />sleep_mode();<br /><br />}<br /><br />}<br /><br />}<br /><br /><br />// TimerX compareX interrupt<br />//ISR( TIMER1_COMPA_vect ) {<br />ISR( TIMER2_OVF_vect ) {<br /><br />uint8_t x; //podstawa timera programowego<br /><br />x = timer_rfm73;//timer programowy do ds18b20<br />if(x) timer_rfm73 = --x;//timer programowy do ds18b20<br /><br />}[/syntax]<br /><br />Wynik jest taki ze w odbiorniku wyświetlana jest temperatura oraz zmienna kontrolna, ale tylko raz. Nie odświeża się (zmienna kontrolna ma ciągle wartość 1). Zakomentowane fragmenty to próba ustawienia zwykłego timera - na nim wszystko działa idealnie, zmienna wzrasta co 2s, temperatura się odświeża.<br />Nie mogę dojść do tego dlaczego w trybie asynchronicznym nie działa.<br /><br />Co prawda nie mam kondensatorów przy kwarcu,ale gdzieś przeczytałem ze timer2 jest skalibrowany pod kwarc zegarkowy i kondensatory nie są wymagane.<br /><br />Mam jeszcze problem z przeniesieniem tego z częstotliwosci 8Mhz na 1Mhz, neistety nie działa poprawnie przesył temperatury ale moze sie uda. Tryb  asynchroniczny zaczał dizałac, dodałem poprostu jeszcze  polecenie usypiania, w rzuciłem do procesora i działa. W trybie uśpionym pobiera 0.35mA a w trybie aktywnym 6mA. I już widze ze popełniłem błąd, bo odpiałem rfm73 i pobór prdu spadł z 0.35mA do.... 12uA.... eh nie zdawałem sobie sprawy ze ten moduł radiowy gdy nic nie robi  az tyle zjada prądu - mogłem nózke VCC z modułu podpiac pod uC poprzez tranzystor i tak nim sterować.<br /><br />W w nocie jak wół stoi:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">Standby-II current 330 uA</div><br />Trzeba obmyslec jak to ustrojstwo wyłączyć gdy jest niepotrzebne<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1123">Atmegowiec</a> — 9 paź 2014, o 13:40</p><hr />
]]></content>
</entry>
</feed>