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

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

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=7603&amp;mode</id>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2014-06-29T22:10:47+01:00</updated>
<published>2014-06-29T22:10:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7603&amp;p=86127#p86127</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7603&amp;p=86127#p86127"/>
<title type="html"><![CDATA[Re: Ćwiczenie z ADC z bluebooka - problem ze zmienną &quot;wynik&quot;]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7603&amp;p=86127#p86127"><![CDATA[
I obowiązkowo przeczytaj to <!-- m --><a class="postlink" href="http://atnel.pl/domyslna-promocja-do-typu-int.html" >http://atnel.pl/domyslna-promocja-do-typu-int.html</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 29 cze 2014, o 22:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-06-29T21:34:11+01:00</updated>
<published>2014-06-29T21:34:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7603&amp;p=86122#p86122</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7603&amp;p=86122#p86122"/>
<title type="html"><![CDATA[Re: Ćwiczenie z ADC z bluebooka - problem ze zmienną &quot;wynik&quot;]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7603&amp;p=86122#p86122"><![CDATA[
to zobacz zobacz - bo szczególnie tu czai się błąd/chochlik <br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />ADMUX <span style="color: #FF0000">|</span>= (ADMUX &amp; 0xF0) | kanal;<br /></div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 29 cze 2014, o 21:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Rafael86]]></name></author>
<updated>2014-06-29T20:54:19+01:00</updated>
<published>2014-06-29T20:54:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7603&amp;p=86113#p86113</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7603&amp;p=86113#p86113"/>
<title type="html"><![CDATA[Re: Ćwiczenie z ADC z bluebooka - problem ze zmienną &quot;wynik&quot;]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7603&amp;p=86113#p86113"><![CDATA[
Tak kupiłem książkę koło 3 lata temu ale dopiero od niedawna znalazłem czas aby się zająć programowaniem:)<br />Dziękuję za odpowiedź, od teraz będę sprawdzał tą stronkę zanim coś napiszę na forum,<br /><br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1392">Rafael86</a> — 29 cze 2014, o 20:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-06-29T14:28:27+01:00</updated>
<published>2014-06-29T14:28:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7603&amp;p=86074#p86074</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7603&amp;p=86074#p86074"/>
<title type="html"><![CDATA[Re: Ćwiczenie z ADC z bluebooka - problem ze zmienną &quot;wynik&quot;]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7603&amp;p=86074#p86074"><![CDATA[
widzę, że kolega w ogóle nie zagląda tutaj:<br /><br /><!-- m --><a class="postlink" href="http://atnel.pl/uaktualnienia-programow-do-dvd.html" >http://atnel.pl/uaktualnienia-programow-do-dvd.html</a><!-- m --><br /><br />a z kodu domyślam się, że masz starszą wersję książki - tą w miękkiej oprawie. Czyli przede wszystkim zaczynaj od tej strony ..<br /><br />Poza tym oglądaj poradniki na blogu a jeśli chodzi o ADC to szczególnie ten cykl:<br /><br /><!-- m --><a class="postlink" href="http://www.youtube.com/playlist?list=PLtXXWLsA5QNi_R9uDXpHRpo5hRnig_f23" >http://www.youtube.com/playlist?list=PL ... 5hRnig_f23</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 29 cze 2014, o 14:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Rafael86]]></name></author>
<updated>2014-06-29T13:51:06+01:00</updated>
<published>2014-06-29T13:51:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7603&amp;p=86070#p86070</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7603&amp;p=86070#p86070"/>
<title type="html"><![CDATA[Ćwiczenie z ADC z bluebooka - problem ze zmienną &quot;wynik&quot;]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7603&amp;p=86070#p86070"><![CDATA[
Witam,<br /><br />mam problem z ćwiczeniem z bluebooka autorstwa Pana Mirka. Problem dotyczy ćwiczenia z przetwornikiem ADC. Chce zrobić prosty woltomierz o wewnętrznym napięciu odniesienia 2,56 V mierzący napięcie z przedziału 0-32 V. <br />Napisałem kod tak jak w książce:<br /><br />[syntax=c]//biblioteczne pliki nagłówkowe<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;avr/eeprom.h&gt;<br /><br />#include &quot;lcd.h&quot;<br /><br />uint16_t pomiar(uint8_t kanal);//deklaracja funkcji pomiaru<br /><br />//definicje zmiennych<br />uint32_t wynik;<br />uint16_t pm;<br />uint8_t cz_d, cz_u;<br /><br />int main(void)<br />{<br /><br /><br /><br />//inicjalizacja LCD<br />lcd_init();<br /><br />//wybór napiecia odniesienia - internal 2.56 V<br />ADMUX |= (1&lt;&lt;REFS0)|(1&lt;&lt;REFS1);<br /><br />//włączenie modułu ADC oraz ustawienie preskalera na 128 (czestotliwosc probkowania 125 kHz)<br />ADCSRA |= (1&lt;&lt;ADEN)|(1&lt;&lt;ADPS2)|(1&lt;&lt;ADPS1)|(1&lt;&lt;ADPS0);<br /><br />while(1)<br />{<br />//wyczyszczenie wyswietlacza<br />lcd_cls();<br />//pomiar napiecia na wejsciu ADC5 i wyswietlenie wartosci na LCD<br /><br />pm = pomiar(5);//odczytana wartosc ADC np. = 850<br /><br />wynik = pm*25*13;//  wynik<br />cz_d = wynik/10000;//vxesc dziesietna<br />cz_u = (wynik/100) % 100;   // czesc ulamkowa<br />lcd_int( cz_d );<br />lcd_str(&quot;.&quot;);<br />lcd_int(cz_u);<br />lcd_str(&quot;V&quot;);<br /><br />//odczekanie czasu 1 sekundy<br />_delay_ms(1000);<br />}<br />}<br /><br />//Definicje funkcji<br />//funkcja dokonujaca pomiaru na wybranym kanale<br />uint16_t pomiar(uint8_t kanal)<br />{<br />//ustawienie wybranego kanału ADC<br />ADMUX |= (ADMUX &amp; 0xF0) | kanal;<br />//start pomiaru przez ustawienie bitu ADSC w rejestrze ADCSR<br />ADCSRA |= (1&lt;&lt;ADSC);<br />//oczekiwanie na koniec pomiaru (dopóki bit ADSC jest 1)<br />while( ADCSRA &amp; (1&lt;&lt;ADSC) );<br />//po zakończeniu pomiaru, gdy bit ADSC=0, zwrócenie wyniku w postaci<br />//16-bitowej wartosci z rejestrów ADCH oraz ADCL<br />return ADCW;<br />}[/syntax]<br /><br />W efekcie gdy kręce potencjometrem to na wyswietlaczu pojawiają się wartości 0.47, 5.17, 2,51, potem znowy 5.70 i tak cyklicznie wzrastają i maleją.<br /><br />Wyświetliłem samą wartośc pm i wszystko dobrze, pokazuje od 0 do 1024, naptomiast gdy wyswietliłem bez wartosci ułamkowej sam wynik to zaczęły pojawiac się dziwne wartości: na skrajnym polozeniu potencjometru jest 4795, kręcąc dalej wartosc wachają sie od ok. 15000 do - 15000 i tak skaczą od wartosci ujemnych do dodatnich kilka razy zanim<br />dojdę do drugiej skrajnej pozycji potencjometru.<br /><br />Następnie w programie juz z wartosciami ułamkowymi spróbowałem wpisać w zmienną wynik wartosc która ma mi dać napięcie maksymalne czyli : 332800 (bo 1024*25*13)<br />i na wyświetlaczu pojawiła się prawidłowa wartość 33.28 V.<br />Ale jest dla mnie bardzo dziwne, kiedy wpisałem w zmienna wynik zamiast 332800 to 1024*25*13 wtedy kompilator zaprotestował warningiem dając komunikat: <br />&quot;integer overflow in expression&quot;. Jest to dla mnie dziwne bo przecież zmienną zadeklarowałem jako uint32_t.<br /><br />Bardzo proszę o pomoc bo nie mam pojęcia gdzie robię błąd.<br /><br />Pozdrawiam serdecznie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1392">Rafael86</a> — 29 cze 2014, o 13:51</p><hr />
]]></content>
</entry>
</feed>