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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2011-12-07T17:05:07+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=76&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2011-12-07T17:05:07+01:00</updated>
<published>2011-12-07T17:05:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=753#p753</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=753#p753"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=753#p753"><![CDATA[
<div class="quotetitle">Michal_PB1 napisał(a):</div><div class="quotecontent"><br />aczkolwiek w obecnej sytuacji nie jest az tak wazne te 2 bajty<br /></div><br /><br />No dokładnie to też pisałem wyżej, nie mniej jednak jak się pisze programy dla procków to od dzieciństwa powinien się wyrabiać nawyk oszczędnej gospodarki każdym bajtem pamięci RAM.  O to tutaj chodzi. Bo sam widzisz, jak będzie później większy projekt i w 100 funkcjach pozwolisz sobie na taką nonszalancję <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> to może być kiepsko - sam przyznasz chyba. A o wiele gorzej jest szukać później błędu czy optymalizować program. Niż od początku zwracać uwagę na tak istotną rzecz. I to jest właśnie ta jedna z istotnych różnic pomiędzy językiem C dla PC a językiem c dla mikrokontrolerów i to wcale nie tylko AVR <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> — 7 gru 2011, o 17:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Michal_PB1]]></name></author>
<updated>2011-12-07T16:41:43+01:00</updated>
<published>2011-12-07T16:41:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=751#p751</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=751#p751"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=751#p751"><![CDATA[
ok. dziekuje za obszerne opisanie tej sytuacji.juz rozumiem, aczkolwiek w obecnej sytuacji nie jest az tak wazne te 2 bajty (bo to byla lekcja spr dzialanie tego przetwornka ADC), lecz nie wiem co moze byc kiedys, ale juz wiem jak sobie z tym poradzic <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Ciesze sie, ze moglem sie do czegos przydac  <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=97">Michal_PB1</a> — 7 gru 2011, o 16:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2011-12-07T16:20:09+01:00</updated>
<published>2011-12-07T16:20:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=749#p749</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=749#p749"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=749#p749"><![CDATA[
Już tłumaczę, bo hmm rzeczywiście jest pewna nieścisłość - albo hmm nawet jednak błąd w książce, ale teraz już go widzę wyraźnie i mogę podpowiedzieć co i jak. Otóż jest w książce dokładnie taka linijka kodu:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">wynik = pm * 25 * 13;      // wynik = 276250</div><br /><br />na stronie 243. I niestety pod spodem jest zdanie, cytuję: <br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />W efekcie takiego działania, na wyświetlaczu LCD uzyskamy wartość mierzonego napięcia w postaci: 27.62V.<br /></div><br /><br />tymczasem przy tak zapisanym kodzie nigdy nie ukaże się nam taka wartość i będzie dokładnie taki problem jaki pojawiał się u ciebie. Z tym, że nie jest on bezpośrednio związany z zakresem (typem) zmiennej pm. Chodzi o to, że AVR GCC standardowo robi promocję wyników obliczeń tego typu do zakresu 16 bitów. (Automatycznie nie zostanie ten zakres zmieniony) Stąd obliczenie wyrażenia: <span style="color: #0000FF"><strong>pm * 25 * 13</strong></span> będzie domyślnie zawężone do 16 bitów. I jak widać będziemy mieli problem.<br /><br />Jak to można rozwiązać ? na kilka sposobów. Jednym z nich (ale wg mnie nie najlepszym) jest właśnie zmiana typu zmiennej pm do 32 bitów jak to zrobiłeś. No ale tracimy niepotrzebnie (teoretycznie bo może to nie mieć żadnego znaczenia) dodatkowe dwa bajty cennej pamięci RAM (czy to w obszarze zmiennych globalnych czy też na stosie) prawda ?<br /><br />Dlatego w takim przypadku wystarczyłoby gdybyś tę linijkę napisał tak:<br /><br /><span style="color: #008000">wynik = pm * 25<strong>UL</strong> * 13<strong>UL</strong>;</span><br /><br />albo nawet tylko tak:<br /><br /><span style="color: #008040">wynik = pm * 25 * 13<strong>UL</strong>;</span><br /><br />albo także tak:<br /><br /><span style="color: #008040">wynik = <strong>(uint32_t)</strong>pm * 25 * 13;</span><br /><br />wtedy w sposób jawny za pomocą <span style="color: #008000"><strong>UL</strong></span> sugerujesz kompilatorowi aby domyślną promocję wyniku tego działania wykonał do typu jaki reprezentuje największy typ stałej lub zmiennej biorącej udział w obliczeniach. A jak wiesz UL oznacza unsigned long, a zatem dokładnie typ 32bitowy bez znaku. A w ostatniej linijce nie ma UL, ale robimy jawne rzutowanie zmiennej <span style="color: #008000"><strong>(uint32_t)</strong>pm</span>  na czas obliczania tego wyrażenia do typu 32-bitowego. Jednak nie musimy tracić 2 dodatkowych bajtów pamięci na zmienną - co też nieraz też bywa bardzo istotne gdy poszukujemy oszczędności co do bajtu i optymalizujemy swój program.<br /><br />Dlatego w efekcie końcowym to ja przyznaję się do błędu - ale tera gdy podałeś jasny przykład - łatwiej było mi go dostrzec i mam nadzieję, że mnie rozumiesz. A przy okazji mam nadzieję, że w tym miejscu udało mi się w miarę dobrze wyjaśnić co i skąd się bierze oraz jak sobie radzić w takich sytuacjach a jednocześnie jak lepiej gospodarować typami a co za tym idzie cenną pamięcią RAM <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Reasumując nieścisłość ta pozostaje tylko w książce a nie w kodach na DVD ponieważ tam przykłady są całkowicie inaczej skonstruowane.<br /><br />I w takim razie dziękuję że dzięki tobie udało się takiego babola wyłapać <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> — 7 gru 2011, o 16:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Michal_PB1]]></name></author>
<updated>2011-12-07T15:39:16+01:00</updated>
<published>2011-12-07T15:39:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=748#p748</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=748#p748"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=748#p748"><![CDATA[
A czy moglbym prosic o odp, dlaczego w takim kodzie jak ponizej po zmienie zmiennej pm na uint32_t program dziala prawidlowo ?<br />[syntax=c]<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;LCD/lcd44780.h&quot;<br /><br />uint16_t pomiar(uint8_t kanal);<br /><br />int main(void)<br />{<br />lcd_init();<br /><br />ADMUX |= (1&lt;&lt;REFS0) | (1&lt;&lt;REFS1);<br />ADCSRA |= (1&lt;&lt;ADEN) | (1&lt;&lt;ADPS2) | (1&lt;&lt;ADPS1) | (1&lt;&lt;ADPS0);<br /><br />uint32_t wynik;<br />uint32_t pm;<br />uint8_t cz_d, cz_u;<br /><br />while(1)<br />{<br />lcd_cls();<br />lcd_locate(0,0);<br />lcd_str(&quot;Napiecie:&quot;);<br />lcd_locate(0,10);<br />pm = pomiar(4);<br />wynik = pm * 25 * 10;<br />cz_d = wynik/10000;<br />cz_u = (wynik/100) % 100;<br />lcd_int(cz_d);<br />lcd_char('.');<br />lcd_int(cz_u);<br />lcd_str(&quot;V&quot;);<br />_delay_ms(1000);<br />}<br />}<br />uint16_t pomiar (uint8_t kanal)<br />{<br />ADMUX |= (ADMUX &amp; 0xF8) | kanal;<br />ADCSRA |= (1&lt;&lt;ADSC);<br />while(ADCSRA &amp; (1&lt;&lt;ADSC));<br />return ADCW;<br />}<br /><br />[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=97">Michal_PB1</a> — 7 gru 2011, o 15:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2011-12-07T15:33:39+01:00</updated>
<published>2011-12-07T15:33:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=747#p747</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=747#p747"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=747#p747"><![CDATA[
Nie nie, spokojnie żadne problemy, po prostu liczę na takie właśnie uczciwe i kulturalne dyskusje jak tutaj <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> A przypadku zauważenia błędu (bo nie mówię, że być może kolega gdzieś takiego nie znajdzie), poproszę o kontakt najpierw na PRIV, to potem oczywiście opiszę sam ten błąd wyraźnie albo podam aktualizację do kodów programów tak jak miało to miejsce z dwoma czy trzema projektami do których są przecież patche na naszym forum.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 7 gru 2011, o 15:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Michal_PB1]]></name></author>
<updated>2011-12-07T14:32:49+01:00</updated>
<published>2011-12-07T14:32:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=746#p746</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=746#p746"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=746#p746"><![CDATA[
Nie obrazam sie bo jak widac ewidentnie wina znowu lezy po mojej strony. Zwracam honor !! <br />Jako, ze jestem poczatkujacy to napisalem &quot;chyba mi sie zdaje&quot; - wiec to nie bylo stwierdzenie ze jest blad tylko informacja dla kogos kto sie zna o sprawdzenie tego. Sam teraz sie zastanawiam z czego wyciaglem takie stwierdzenie chyba z tego ze policzylem sobie wartosc zmiennej wynik  <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br />Przepraszam Panie Mirku ze znowu sa problemy przez moje nie dopatrzenie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=97">Michal_PB1</a> — 7 gru 2011, o 14:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2011-12-07T12:17:18+01:00</updated>
<published>2011-12-07T12:17:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=743#p743</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=743#p743"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=743#p743"><![CDATA[
<div class="quotetitle">Michal_PB1 napisał(a):</div><div class="quotecontent"><br />pewnie ciekaw kolega SunRiver jest co bylo przyczyna ?<br />a otóż nie wlasciwy typ zmiennej 'pw' (i chyba mi sie zdaje ze w ksiazce tez jest blad bo jest uint16_t a wychodzi liczba duzo wieksza, nie chce podważac umiejetnosci autora !!) zmienilem z 16 na 32 <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /></div><br /><br />....oj, oj .... panie kolego ... ja bardzo uprzejmie proszę o jasne i rzeczowe odniesienie się do tego błędu w kontekście zwrócenie uwagi o błędzie w książce. Nie chodzi tu o moją urażoną dumę, bo każdy może popełnić błąd, ja także - jestem tylko człowiekiem jak każdy.<br /><br />Jednak bardzo przepraszam, ale nie chciałbym na tym forum, takich stwierdzeń o błędach w książce i to bez żadnego poparcia. Nie żebym się czepiał ale proszę zwrócić przede wszystkim uwagę na to, że:<br /><br />1. po pierwsze w książce nie ma żadnej zmiennej pw tylko pm (ale rozumiem, że to może być literówka po prostu) dlatego przyjmuję, że kolega ma problemy właśnie z tą zmienną w kodach z książki.<br /><br />2. zmienna pm w książce jest typu uint16_t i jak najbardziej jest to prawidłowo dobrany typ dla tejże zmiennej<br /><br />[syntax=c]<br />uint32_t wynik;<br />uint16_t pm;<br /><br />pm = pomiar(5);// odczytana wartość ADC np. = 850<br /><br />wynik = pm * 1 * 2957;// wynik = 2.513.450[/syntax]<br /><br />w kodzie w książce występuje ona w takim użyciu i w takich linijkach kodu. Zwracając więc uwagę na błąd w książce, bardzo uprzejmie proszę się odnosić do faktów a nie do własnego kodu, który może być źle napisany. Szczególnie na tym forum. To nie forum elektroda i dlatego chciałbym aby tu każdy mógł znaleźć rzetelne informacje a nie domysły. Bo na elektrodzie to nie jeden temat rozpoczyna się o tym, że ktoś ma problem z kodami z naszej książki, gdyż tam są błędy albo dlatego pisze o swoim problemie bo &quot;słyszał&quot;, właśnie skąd słyszał? z takich właśnie postów o rzekomych problemach. Tylko proszę je poczytać dalej. To że na końcu zwykle się wszystko wyjaśnia i autor gdzieś na samym końcu nieraz (bo nie zawsze) odwołuje swoje słowa z początku tematu uznając, że to jego ewidentny błąd, to i tak później tego nikt nie czyta. Każdy widzi tylko nagłówek tematu:<br /><br />&quot;I znowu są problemy z kodami z książki z Atnela&quot;<br /><br />Po to powstało to forum. Proszę zatem na podstawie tego co jest pokazane (zaznaczam) jako przykład w książce - patrz linijki powyżej gdzie jest błąd z typem zmiennej pm ? i proszę spróbować, hmm pokusić się o precyzyjne uzasadnienie tego błędu.<br /><br />Bo to, że w trzeciej linijce kodu, który widać powyżej zakres obliczeń znacznie przekracza pojemność uint16_t to chyba oczywiste dla każdego, tyle że co ma tu do rzeczy typ zmiennej pm ?<br /><br />Wynik obliczeń trafia do zmiennej wynik, a ta już jest typu uint32_t !<br /><br />skąd więc pomysł o przekroczeniu pojemności typu dla pm, skoro ta zmienna na podstawie działania funkcji pomiar może w swoim całym życiu w programie przyjąć tylko i wyłącznie wartości od 0 do 1024 (bo taka jest maksymalna możliwa wartość do odczytania właśnie z pary rejestrów ADCH i ADCL - czyli jednym słowem z ADCW (<span style="color: #0040FF">to od razu jest odpowiedzią na kolejne pytanie szanownego kolegi.</span> AVR GCC przygotował specjalne makro ADCW na tę okoliczność, żeby od razu prosto odczytać wartość tych dwóch rejestrów, stąd wzięło się w kodzie ADCW)<br /><br />wracając do rzekomego błędu w książce - sorry że do tego wracam, ale jednak wielu ludzi czyta wątki które są tutaj, po przeczytaniu sugestii kolegi i bez mojego odniesienia się do rzeczy, będzie nosiło to w swojej głowie i podświadomości, a potem jak tylko zdarzy im się jakiś problem z ćwiczeniami ADC, to podświadomość od razu podpowie, że &quot; aaaaa gdzieś już czytałem, że w tej książce są błędy z ADC&quot; .... Tymczasem kolega pewnie sobie kod zaczął rozwijać po swojemu i użył zmiennej pm w inny sposób niż trzeba - popełniając błąd. Tego jednak nie wiem na pewno, więc nie zarzucam koledze też od razu błędu - tylko proszę w takich przypadkach o pokazanie kodu dokładnego miejsca gdzie wystąpił problem czy gdzie udało się go odnaleźć. Wtedy wszystkim będzie łatwiej OK ?<br /><br />dlatego tak się nie robi ok ???<br /><br />Jest odpowiedni dział na forum do zgłaszania błędów i prosiłbym jak już to w ten sposób to rozwiązywać albo najpierw podzielić się taką rewelacją ze mną na PRIV.<br /><br />Mam nadzieję, że kolega się nie obrazi za moje uwagi bo nie to było moim celem a po prostu wyjaśnienie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 7 gru 2011, o 12:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2011-12-07T09:30:32+01:00</updated>
<published>2011-12-07T09:30:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=740#p740</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=740#p740"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=740#p740"><![CDATA[
Widzisz nie zwróciłem uwagi na zmienną - uznałem , ze to pewnie masz dobre <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />ciekawostka w sumie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />co co programu C++  jak chcesz mogę ci zrobić bootloader arduino do m8 i albo podesłać hexa napisałem to tylko w celu sprawdzenia <br />na szybko więc rozumiesz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 7 gru 2011, o 09:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Michal_PB1]]></name></author>
<updated>2011-12-06T16:42:59+01:00</updated>
<published>2011-12-06T16:42:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=722#p722</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=722#p722"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=722#p722"><![CDATA[
ja nie moge wgrac tego kodu - bo chyba napisany w C++ ?? nawet z podpowiedzia kolegi woow dalej jest taki sam obiaw, moze to jednak wina procka ?<br />edit://<br /><br />PROBLEM ROZWIAZAŁEM   <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" />  <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> <br />pewnie ciekaw kolega SunRiver jest co bylo przyczyna ?<br />a otóż nie wlasciwy typ zmiennej 'pw' (i chyba mi sie zdaje ze w ksiazce tez jest blad bo jest uint16_t a wychodzi liczba duzo wieksza, nie chce podważac umiejetnosci autora !!) zmienilem z 16 na 32 <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> bo tak sobie mysle po sprawdzeniu juz all i spr z nota cos musi byc, ze nie chce mierzyc powyzej 5V czyli musi byc coz z liczba no i tak zmienilem all typy na 32 i patrze DZIAŁA  <img src="https://forum.atnel.pl/images/smilies/icon_e_surprised.gif" alt=":o" title="Zdziwiony" /><br /><br />Ale dziekuje wszystkim za pomoc  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />mam jeszcze jedna prosbe o wyjsnienie tego kawalku kodu (glownie to pierwsza linijke i ostatnia dlaczego jest ADCW)<br />[syntax=c]ADMUX |= (ADMUX &amp; 0xF8) | kanal;<br />ADCSRA |= (1&lt;&lt;ADSC);<br />while(ADCSRA &amp; (1&lt;&lt;ADSC));<br />return ADCW;[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=97">Michal_PB1</a> — 6 gru 2011, o 16:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2011-12-06T00:23:49+01:00</updated>
<published>2011-12-06T00:23:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=719#p719</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=719#p719"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=719#p719"><![CDATA[
w koncu zgłupiałem o co chodzi , ewidentnie cos mi w kodzie nie pasuje <br /><br />zeby wyjsc z załozenia  postanowiłem na szybko postawic duino na m168 i skrobnac mały sofcik:<br /><br />[syntax=cpp]<br />// biblioteki<br />#include &lt;LiquidCrystal.h&gt;<br /><br />// piny uzyte do podłaczenia LCD<br />LiquidCrystal lcd(7, 8, 9, 10, 11, 12);<br /><br />// zmienne dzielnika i ustawienie portu<br />  int analogInput = 1;<br />  float vout = 0.0;<br />  float vin = 0.0;<br />  float R1 = 50000.0;    //  rezystancja R1 w omach <br />  float R2 = 4400.0;     //  rezystancja R2 w omach <br /><br />// variable to store the value <br />  int value = 0;<br /><br />void setup(){<br />  // ustwienie wejścia<br />  pinMode(analogInput, INPUT);<br /><br />  // ustawienie rozmiaru LCD<br />  lcd.begin(16, 2);<br />  lcd.print(&quot;Vin=&quot;);<br />}<br /><br />void loop(){<br />  // odczut ADC<br />  value = analogRead(analogInput);<br /><br />  vout = (value * 5.0) / 1024.0;<br />  vin = vout / (R2/(R1+R2));  <br /><br />  // wyswietlanie rezultatu<br />  lcd.setCursor(4, 0);<br />  lcd.print(vin);<br />  lcd.print(&quot;V&quot;);<br /><br />  // oczekiwanie<br />  delay(500);<br />}<br /><br />[/syntax]<br /><br />działa bez błędnie <br /><br />dzielnik :<br /><br />Vin ---<br />        |<br />       R1<br />        |<br />         -----  duino AnalogIN 1<br />        |<br />       R2<br />        |<br />Gnd -------- GND<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 6 gru 2011, o 00:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2011-12-05T23:55:43+01:00</updated>
<published>2011-12-05T23:55:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=718#p718</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=718#p718"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=718#p718"><![CDATA[
ot właśnie .. tu moze byc problem - woow dobrze prawisz<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 5 gru 2011, o 23:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[woow]]></name></author>
<updated>2011-12-06T01:20:17+01:00</updated>
<published>2011-12-05T23:48:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=717#p717</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=717#p717"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=717#p717"><![CDATA[
ADMUX &amp;= ~(ADLAR); proponuję wstawić przed ustawianiem kanału przy pomiarze.<br />Jeżeli działasz na ATMEDZE 8.<br />Miałem podobny problem i to go rozwiązało.<br /><br /><br />-----------------------<br />edit: jak widać zapis ADMUX &amp;= ~(ADLAR); jest &quot;specyficzny&quot;, i po przejrzeniu swojego projektu ADC na atmega8 muszę przyznać, że mój problem dotyczył innej kwestii, a zapis ten &quot;przypadkowo&quot; pomógł w jej realizacji.<br />Zatem nie proponuję stosowania w swoim przypadku.<br />Gdzieś dzwoniło, niestety nie wiadomo w którym kościele. ;/<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=136">woow</a> — 5 gru 2011, o 23:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Michal_PB1]]></name></author>
<updated>2011-12-05T23:44:48+01:00</updated>
<published>2011-12-05T23:44:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=716#p716</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=716#p716"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=716#p716"><![CDATA[
no wiadomo ze jest tam pewna niedokładnosc ale nie kilka V. Jutro jeszcze raz na spokojnie przejze uklad i dam znac co i jak<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=97">Michal_PB1</a> — 5 gru 2011, o 23:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2011-12-05T23:38:29+01:00</updated>
<published>2011-12-05T23:38:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=715#p715</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=715#p715"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=715#p715"><![CDATA[
hmm dziwne u mnie poprawiło wskazania i to znacznie <br /><br />czy uwzgledniłeś  niedokładność rezystorów w dzielniku ??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 5 gru 2011, o 23:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Michal_PB1]]></name></author>
<updated>2011-12-05T23:24:33+01:00</updated>
<published>2011-12-05T23:24:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=714#p714</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=714#p714"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=714#p714"><![CDATA[
po pierwsze dzieki za propozcyje rozwiazania problemu, lecz to nie to <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=97">Michal_PB1</a> — 5 gru 2011, o 23:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2011-12-05T23:15:02+01:00</updated>
<published>2011-12-05T23:15:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=713#p713</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=713#p713"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=713#p713"><![CDATA[
kufa a może to to :<br /><br />masz w kodzie :<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/delay.h&gt;<br /> <br />[/syntax]<br /><br />widzisz bład ?? a włąściwie oszczeżenie <br />tez nie zwróciłem na to uwagi <br /><br />a powinno być<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /> <br />[/syntax]<br /><br />kompilator przepuszca , ale moze sie pluć juz procek<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 5 gru 2011, o 23:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Michal_PB1]]></name></author>
<updated>2011-12-05T23:05:02+01:00</updated>
<published>2011-12-05T23:05:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=712#p712</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=712#p712"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=712#p712"><![CDATA[
Tak mam dany.Tez dobrze ustawilem<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=97">Michal_PB1</a> — 5 gru 2011, o 23:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2011-12-05T23:00:17+01:00</updated>
<published>2011-12-05T23:00:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=711#p711</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=711#p711"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=711#p711"><![CDATA[
a czy masz wpiety kondensator na AREF ??<br />ja zwykle dla wewnetrznego źródła daje 100nF miedzy AREF i GND<br /><br />tak na wszelki wypadek przytaczam ustawienia z noty:<br /><br /><a href="http://img197.imageshack.us/i/4212613300981.jpg/"  class="postlink"><img src="http://img197.imageshack.us/img197/5079/4212613300981.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 5 gru 2011, o 23:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Michal_PB1]]></name></author>
<updated>2011-12-05T19:26:38+01:00</updated>
<published>2011-12-05T19:26:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=708#p708</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=708#p708"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=708#p708"><![CDATA[
zmiana napiecia odniesienia nic nie dala<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=97">Michal_PB1</a> — 5 gru 2011, o 19:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2011-12-05T19:05:51+01:00</updated>
<published>2011-12-05T19:05:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=706#p706</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=706#p706"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=706#p706"><![CDATA[
moze nie koniecznie odrazu nowy uC , ale moze skozystaj z zewnetrznego napiecia odniesienia na poczatek i staraj sie unikac wbudowanego ... ja jeszce patrze co mozna by było poprawic ew<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 5 gru 2011, o 19:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Michal_PB1]]></name></author>
<updated>2011-12-05T18:46:52+01:00</updated>
<published>2011-12-05T18:46:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=703#p703</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=703#p703"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=703#p703"><![CDATA[
hmm czyli mozna powiedziec ze to wina uC ? jakies propozycje rozwiazania czy po prostu kupic jakis lepszy uC ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=97">Michal_PB1</a> — 5 gru 2011, o 18:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2011-12-05T18:34:54+01:00</updated>
<published>2011-12-05T18:34:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=702#p702</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=702#p702"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=702#p702"><![CDATA[
hmm no ciekawe bo na m88 mam podobne wyniki jak kolega z ta róznicą że :<br /><br />dla 12V wynik 10.14 dla 8 = 5,22 , dla 9,5V  = 7,13 , dla 29V = 28,11<br />bardzo dziwne<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 5 gru 2011, o 18:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2011-12-05T18:27:48+01:00</updated>
<published>2011-12-05T18:27:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=701#p701</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=701#p701"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=701#p701"><![CDATA[
hmmm..m8 piszesz kurcze mam tylko megi 88/168/328  ale zaraz sprawdzę na którejs sa fakt lepsze od m8 , ale tego pokroju<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 5 gru 2011, o 18:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Michal_PB1]]></name></author>
<updated>2011-12-05T18:11:39+01:00</updated>
<published>2011-12-05T18:11:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=700#p700</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=700#p700"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=700#p700"><![CDATA[
po sprawdzalem polaczenie pomierzylem rozne wartosci i to do czego doszedlem:<br />wg mnie jezeli napiecie nie przekracza bynajmniej u mnie 5V to pomiary sie zgadzaja (wiadmomo minimalne roznice wzgledem miernika)<br />natomiast jezeli pomiary wykonywane sa na napieciu powyzej 5V (nie przekraszajace oczywiscie dopuszczalnego napiecia <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" />) to wyniki sie nie zgadzaja i to duzo np: dla 12V wynik 3,5V  dla 8V wynik 0,74V dla 19V  wynik  3,5V nie wiem co jest tego przyczyna. Kod raczej nie jeżeli kolega SunRiver spr i pomiary sie zgadzaly. Dodam, że używam Atmega8 <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=97">Michal_PB1</a> — 5 gru 2011, o 18:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Michal_PB1]]></name></author>
<updated>2011-12-05T17:35:23+01:00</updated>
<published>2011-12-05T17:35:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=76&amp;p=699#p699</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=699#p699"/>
<title type="html"><![CDATA[Re: ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=76&amp;p=699#p699"><![CDATA[
no ja rozumiem nikt tu inny winien niżeli ja nie jest. <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=97">Michal_PB1</a> — 5 gru 2011, o 17:35</p><hr />
]]></content>
</entry>
</feed>