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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2012-03-01T21:16:23+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=881&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-03-01T21:16:23+01:00</updated>
<published>2012-03-01T21:16:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3821#p3821</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3821#p3821"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3821#p3821"><![CDATA[
<div class="quotetitle">Klucha napisał(a):</div><div class="quotecontent"><br />Ok, wszystko już wiem, woltomierz już ładnie działa. Poprostu bezmyślnie przepisywałem z książki i nie dość tego nie patrzyłem na typ zmiennej. Mój tragiczny błąd, sory za bezmyślne zawracanie głowy i wielkie dzięki za podpowiedź:)<br /></div><br /><br />Żadne zawracanie - głowy - jeśli doszedłeś sam szybko do błędu to znaczy, że jednak wiesz co to typy - a błąd był rzeczywiście po prostu tzw: &quot;czeski&quot;<br /><br />jak coś to śmiało pytaj <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> — 1 mar 2012, o 21:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Klucha]]></name></author>
<updated>2012-03-01T20:44:32+01:00</updated>
<published>2012-03-01T20:44:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3805#p3805</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3805#p3805"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3805#p3805"><![CDATA[
Ok, wszystko już wiem, woltomierz już ładnie działa. Poprostu bezmyślnie przepisywałem z książki i nie dość tego nie patrzyłem na typ zmiennej. Mój tragiczny błąd, sory za bezmyślne zawracanie głowy i wielkie dzięki za podpowiedź:)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=232">Klucha</a> — 1 mar 2012, o 20:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-03-01T20:37:52+01:00</updated>
<published>2012-03-01T20:37:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3804#p3804</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3804#p3804"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3804#p3804"><![CDATA[
Na pierwszy rzut oka widać jak bardzo albo niestety nie dbasz o typy danych (zmiennych) albo niestety (co gorsze) w ogóle się nie orientujesz o co chodzi z tymi typami - więc w tym drugim przypadku musisz raczej o tym zacząć czytać i ćwiczyć od nowa, podam ci przykład tego co np zrobiłeś:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">uint8_t pm;</div><br /><br />a potem<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">pm = pomiar(5); </div><br /><br />No i teraz spróbuj dojść sam co tu jest tragicznie źle zrobione OK?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 1 mar 2012, o 20:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Klucha]]></name></author>
<updated>2012-03-01T20:01:50+01:00</updated>
<published>2012-03-01T20:01:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3801#p3801</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3801#p3801"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3801#p3801"><![CDATA[
Mam jeszcze taki problem,że mierzy mi ładnie napięcie do ok. 0,63V, a potem pokazuje bzdury. Włączone wewnętrzne napięcie AREF. Napięcie mierzone podane jest z zasilacza na dzielnik 2x 10k, czyli podział = 2. Czyli powinno być:<br />[syntax=c]wynik = pm * 25*2;             [/syntax]<br />A jak zrobie razy 2 to pokazuje mi wynik 2 razy większy, co właśnie powinien pokazywać wynik dobry, ponieważ jest dzielnik.<br />W programie mam napisane bez *2 i pokazuje dobrze do 0,63V. Zamieszczam owy program:<br />[syntax=c]//biblioteki<br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/delay.h&gt;<br /><br />//dołączenie moich plików LCD<br />#include &quot;LCD/lcd44780.h&quot;<br /><br /><br />uint16_t pomiar(uint8_t kanal);      //deklaracja funkcji pomiaru<br />uint16_t wynik;<br />uint8_t pm;<br />uint8_t cz_d, cz_u;<br /><br /><br />// główna funckja main<br />int main(void)<br />{<br />lcd_init();                       //inicjalizacja LCD<br />//napięcie odniesienia jako Vcc<br />ADMUX |= (1&lt;&lt;REFS0)|(1&lt;&lt;REFS1);<br />//włączenie modułu ADC oraz ustaiwnie prescala na 64<br />ADCSRA |= (1&lt;&lt;ADEN)|  (1&lt;&lt;ADPS1) | (1&lt;&lt;ADPS0);<br /><br />//nieksończona pętla, w której będzie dokonywany pomiar<br />// i wynik na LCDiku<br /><br />while(1)<br />{<br /><br />         pm = pomiar(5);                          //odczytywana wartość ADC5<br />         wynik = pm * 25;                   // wynik<br />         cz_d = wynik/10000;                     //część dziesiętna<br />         cz_u = (wynik/100) % 100;               //część ułamkowa<br />         lcd_locate(0,0);<br />         lcd_int(cz_d);<br />         lcd_char('.');<br />         lcd_int(cz_u);<br />         lcd_str(&quot;V&quot;);<br />         lcd_locate(1,0);<br />     lcd_int(pomiar(5) );                 //musi być _int bo tak jest w bilbiotekach LCD<br />         _delay_ms(500);<br />}<br />}<br /><br />//DEFINICJA funkncji, która dokonuje pomiaru na wybranym kanale/wejściu<br />uint16_t pomiar(uint8_t kanal)<br />{<br />//ustawienie wybranego kanału ADC w rejestrze ADCSRA<br />ADMUX = (ADMUX &amp; 0xF8) | kanal;<br />//Start pomiaru przez ustawienie bitu ADC w rejestrze ADCSRA<br />ADCSRA |= (1&lt;&lt;ADSC);<br />//oczekiwanie na koniec pomiaru (dopóki ADSC = 0 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-biowej wartości z rejestrów ADCH oraz ADCL<br />return ADCW;<br /><br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=232">Klucha</a> — 1 mar 2012, o 20:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-29T20:50:28+01:00</updated>
<published>2012-02-29T20:50:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3783#p3783</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3783#p3783"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3783#p3783"><![CDATA[
<div class="quotetitle">Klucha napisał(a):</div><div class="quotecontent"><br />Ale nadal nie rozumiem jak jest z tym ADCW. Przecież w całym programie wogóle go nie ma, a tu nagle na końcu funckcji się ujawnia?<br /></div><br /><br />Jeszcze raz zapytam - bo nie odpowiedziałeś:<br /><br />czy zaglądałeś do kodów źródłowych na DVD ????? tam przecież masz ADCW<br /><br />a ADCW to makro przygotowane już przez AVR GCC i właśnie po to żebyś nie musiał wciąż pisać <br /><br /><span style="color: #0000FF">Widzisz Pan jakbyś używał Eclipse to byś sobie wcisnął klawszi CTRL, najechał kursorem mychy na słowo ADCW i kliknął lewy klawisz mychy. To są te zalety, których ludzie nie doceniają - a szkoda bo potem się tak męczą i pytania zadają <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... tzn nie mam nic do pytań - skądże ale szkoda mi was panowie że moglibyście od razu się tego dowiedzieć po takim kliknięciu -  bo Eclipse od razu przeniosłoby was do odpowiedniego pliku nagłówkowego gdzie jest zdefiniowane to ADCW i od razu sam byś wiedział co to jest, proszę to się ukazało po kliknięciu:</span><br /><br />[syntax=c]/* ADC */<br />#ifndef __ASSEMBLER__<br />#define ADC     _SFR_IO16(0x04)<br />#endif<br />#define ADCW    _SFR_IO16(0x04)<br />#define ADCL    _SFR_IO8(0x04)<br />#define ADCH    _SFR_IO8(0x05)<br />#define ADCSRA  _SFR_IO8(0x06)<br />#define ADMUX   _SFR_IO8(0x07)[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 29 lut 2012, o 20:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[miszczo]]></name></author>
<updated>2012-02-29T20:48:38+01:00</updated>
<published>2012-02-29T20:48:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3782#p3782</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3782#p3782"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3782#p3782"><![CDATA[
<div class="quotetitle">Klucha napisał(a):</div><div class="quotecontent"><br />Dobra sorki, problem rozwiązany. Za pętlą while(1) zrobiłem ; Usunąłem go i sprawa rozwiązana. Trchę głupi błąd;/<br />Ale nadal nie rozumiem jak jest z tym ADCW. Przecież w całym programie wogóle go nie ma, a tu nagle na końcu funckcji się ujawnia?<br /></div><br />ADCW to jakieś makro upraszczające które samo łączy rejestry adcl i adch, tak samo jak masz makra do przesunięć bitowych np 1&lt;&lt;PB5 i przesuwa ci jedynkę na 6 miejsce.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=78">miszczo</a> — 29 lut 2012, o 20:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-29T20:44:27+01:00</updated>
<published>2012-02-29T20:44:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3780#p3780</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3780#p3780"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3780#p3780"><![CDATA[
<div class="quotetitle">miszczo napisał(a):</div><div class="quotecontent"><br />Jeżeli wywołując funkcję obsługującą adc z parametrem 5 ustawiasz rejestr ADMUX do postaci XXXX 0101 czyli wybierasz piąty kanał adc.<br /><br />I według mnie w tej linii<br />ADMUX |= (ADMUX &amp; 0XF8) | kanal;<br />powinna być wartość 0xF0 bo tutaj są cztery bity mux, a tym wpisem zerujesz tylko trzy najmłodsze.<br /></div><br /><br />Tylko do jednego mam uwagę, otóż maskowanie jak niżej:<br /><br />ADMUX |= (ADMUX &amp; 0XF8) | kanal;<br /><br />w przypadku prostych pomiarów jest jak najbardziej poprawne pomimo 4 bitów . Warto jednak zajrzeć do noty i zobaczyć że TYLKO trzy najmłodsze bity biorą udział w podstawowym przełączaniu kanałów od 0 do 7 prawda ? za to błąd jest w tym że nie powinien być tu użyty dwuczłonowy operator |= , ta linia powinna wyglądać tak:<br /><br />ADMUX = (ADMUX &amp; 0XF8) | kanal;<br /><br />oczywiście z punktu widzenia programu autora wątku nie ma to żadnego znaczenia to jednak gdyby chcieć przełączać się pomiędzy dwoma kanałami i mierzyć np dwa napięcia - to już byłaby niestety ogromna kiszka - to jest mały błąd albo niedopowiedzenie w książce.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 29 lut 2012, o 20:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-29T20:40:44+01:00</updated>
<published>2012-02-29T20:40:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3778#p3778</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3778#p3778"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3778#p3778"><![CDATA[
A ja dodam to tego co napisał wyżej kolega miszczo jedno:<br /><br />BARDZO DZIĘKUJĘ !!!! że kolega tak fajnie mnie wyręczył w odpowiedziach. Szalenie trafne uwagi i sugestie co musisz zrobić żeby pójść dalej a szczególnie ta - żebyś najpierw darował sobie ADC - a zajął się normalnym odpaleniem LCD.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 29 lut 2012, o 20:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Klucha]]></name></author>
<updated>2012-02-29T20:40:27+01:00</updated>
<published>2012-02-29T20:40:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3777#p3777</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3777#p3777"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3777#p3777"><![CDATA[
Dobra sorki, problem rozwiązany. Za pętlą while(1) zrobiłem ; Usunąłem go i sprawa rozwiązana. Trchę głupi błąd;/<br />Ale nadal nie rozumiem jak jest z tym ADCW. Przecież w całym programie wogóle go nie ma, a tu nagle na końcu funckcji się ujawnia?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=232">Klucha</a> — 29 lut 2012, o 20:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[miszczo]]></name></author>
<updated>2012-02-29T20:03:44+01:00</updated>
<published>2012-02-29T20:03:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3765#p3765</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3765#p3765"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3765#p3765"><![CDATA[
ADCW równa się tyle co (ADCH&lt;&lt;8)|ADCL  czyli 10bitowy wynik pomiaru.<br /><br />Co do załączania plików nagłowkowych wyświetlacza to jak w projekcie będziesz miał folder LCD a w nim pliki to wtedy użyjesz pierwszego sposobu, a jak pliki będą się znajdować w tym samym katalogu co plik main.c to drugiego.<br /><br />Spróbuj najpierw wyświetlić cokolwiek na wyświetlaczu i później uruchom adc.<br /><br /><br />Jeżeli wywołując funkcję obsługującą adc z parametrem 5 ustawiasz rejestr ADMUX do postaci XXXX 0101 czyli wybierasz piąty kanał adc.<br /><br />I według mnie w tej linii<br />ADMUX |= (ADMUX &amp; 0XF8) | kanal;<br />powinna być wartość 0xF0 bo tutaj są cztery bity mux, a tym wpisem zerujesz tylko trzy najmłodsze.<br /><br />PS.Jak robisz listing kodu to w syntax wybieraj c.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=78">miszczo</a> — 29 lut 2012, o 20:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Klucha]]></name></author>
<updated>2012-02-29T19:56:52+01:00</updated>
<published>2012-02-29T19:56:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3764#p3764</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3764#p3764"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3764#p3764"><![CDATA[
To jest cały kod:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">//biblioteki<br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/delay.h&gt;<br /><br />//dołączenie moich plików LCD<br />#include &quot;LCD/lcd44780.h&quot;<br /><br /><br />uint16_t pomiar(uint8_t kanal);      //deklaracja funkcji pomiaru<br /><br />// główna funckja main<br />int main(void)<br />{<br />   lcd_init();                       //inicjalizacja LCD<br />   //napięcie odniesienia jako Vcc<br />   ADMUX |= (1&lt;&lt;REFS0);<br />   //włączenie modułu ADC oraz ustaiwnie prescala na 64<br />   ADCSRA |= (1&lt;&lt;ADEN) | (1&lt;&lt;ADPS1) | (1&lt;&lt;ADPS0);<br /><br />   //nieksończona pętla, w której będzie dokonywany pomiar<br />   // i wynik na LCDiku<br /><br />   while(1);<br />   {<br />       lcd_cls();<br />      //pomiar napięcia na wejściu ADC5 i wyświetlenie wartości na LCD<br />      lcd_locate(0,0);<br />      lcd_int(pomiar(5) );                 //musi być _int bo tak jest w bilbiotekach LCD<br />      lcd_locate(0,8);<br />      lcd_str(&quot;V&quot;);<br />      // odczekanie 1s.<br />      _delay_ms(1000);<br /><br />   }<br />}<br /><br />//DEFINICJA funkncji, która dokonuje pomiaru na wybranym kanale/wejściu<br />uint16_t pomiar(uint8_t kanal)<br />{<br />   //ustawienie wybranego kanału ADC w rejestrze ADCSRA<br />   ADMUX |= (ADMUX &amp; 0XF8) | kanal;<br />   //Start pomiaru przez ustawienie bitu ADC w rejestrze ADCSRA<br />   ADCSRA |= (1&lt;&lt;ADSC);<br />   //oczekiwanie na koniec pomiaru (dopóki ADSC = 0 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-biowej wartości z rejestrów ADCH oraz ADCL<br />   return ADCW;<br /><br />}<br /><br /><br /></div><br /><br />A tutaj zmieny *.h w LCD Nowe zassane były tylko *.c<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">#define LCD_Y 2      // ilość wierszy wyświetlacza LCD<br />#define LCD_X 16   // ilość kolumn wyświetlacza LCD<br /><br />// tu ustalamy za pomocą zera lub jedynki czy sterujemy pinem RW<br />//   0 - pin RW podłączony na stałe do GND<br />//   1 - pin RW podłączony do mikrokontrolera<br />#define USE_RW 0<br /><br />//----------------------------------------------------------------------------------------<br />//<br />//      Ustawienia sprzętowe połączeń sterownika z mikrokontrolerem<br />//<br />//----------------------------------------------------------------------------------------<br />// tu konfigurujemy port i piny do jakich podłączymy linie D7..D4 LCD<br />#define LCD_D7PORT  C<br />#define LCD_D7 5<br />#define LCD_D6PORT  C<br />#define LCD_D6 4<br />#define LCD_D5PORT  C<br />#define LCD_D5 3<br />#define LCD_D4PORT  C<br />#define LCD_D4 2<br /><br /><br />// tu definiujemy piny procesora do których podłączamy sygnały RS,RW, E<br />#define LCD_RSPORT C<br />#define LCD_RS 0<br /><br />#define LCD_RWPORT C<br />#define LCD_RW 1<br /><br />#define LCD_EPORT C<br />#define LCD_E 1</div><br /><br />A tak opromo jak już piszę to mam takie pytanka:<br />-Powinno być <div class="codetitle"><b>Code:</b></div><div class="codecontent">#include &quot;LCD/lcd44780.h&quot;</div> czy <div class="codetitle"><b>Code:</b></div><div class="codecontent">#include &quot;lcd44780.h&quot;</div><br />Bo przy tym drugim mi wyskakuje błąd, a tak jest w książce.<br />-Co to znaczy return ADCW? Jak ta funkcja zwraca rezulaltat? Przecież chcemy odczytać ADCH oraz ADCL, a nie wiem co to znaczy ADCW (myślałem, że chodzi o rejestr, ale takiego wogóle nie ma)?<br />- pomiar(5) to znaczy, że 5 kanał, czyli ADC5?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=232">Klucha</a> — 29 lut 2012, o 19:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-29T19:30:03+01:00</updated>
<published>2012-02-29T19:30:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3762#p3762</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3762#p3762"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3762#p3762"><![CDATA[
No no no - ładnie - a gdzie widziałeś czy wyczytałeś żeby wejście AREF (nazwałeś je chyba Uref) podłączać do VCC ???? toż jeśli programowo załączyłeś wewn źródło odniesienia 2,56V to właśnie smażysz procka ogniem piekielnym.<br /><br />Poza tym podeślij mi swój spakowany projekt do ZIP'a na <!-- e --><a href="mailto:biuro@atnel.pl">biuro@atnel.pl</a><!-- e --> to zobaczę co tam namodziłeś jeszcze OK <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> — 29 lut 2012, o 19:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Klucha]]></name></author>
<updated>2012-02-29T19:20:30+01:00</updated>
<published>2012-02-29T19:20:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3761#p3761</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3761#p3761"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3761#p3761"><![CDATA[
-Pin RW nie wykorzystuje. O tym, że dwa razy mam C1 to wiem. A w *.h mam<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">#define USE_RW 0</div><br />-Zassałem nowe biblioteki i nadal nic nie wyświetla. Ale jak testowałem stare biblioteki na innym programie to dobrze sprawował się LCDik. Poprostu wyświetlacem się bawiłem i było ok, aż do momentu tego programu.<br />-Przepisałem pierwszy program z ADC (pomiar napięcia) tak jak jest w książce i nic. Poprostu wyświetlacz nie chce rechnąć. Mam podłaczone AVCC oraz Uref do +Ucc w procku.<br />Połączenia LCD=&gt; uP jest ok i tak samo jest w programie zmienione na moje piny.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=232">Klucha</a> — 29 lut 2012, o 19:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-28T23:20:20+01:00</updated>
<published>2012-02-28T23:20:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3721#p3721</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3721#p3721"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3721#p3721"><![CDATA[
Po pierwsze - czy korzystasz z pinu RW wyświetlacza LCD podłączonego do GND czy do procesora ? Bo jeśli do procesora to zobacz jakiego babola zrobiłeś <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />#define LCD_RWPORT C<br />#define LCD_RW 1<br /><br />#define LCD_EPORT C<br />#define LCD_E 1<br /><br />obydwa sygnały zdefiniowałeś na tym samym pinie PC1 <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />a jeśli masz RW podłączone do GND to jest OK - tylko że nie zauważyłeś w tym pliku *.h oraz w opisie w książce że jest tam jeszcze jeden parametr, który mówi bibliotece czy ma korzystać z pinu RW czy nie<br /><br />#define USE_RW 0     &lt;---- pin RW podłączony do GND<br /><br />#define USE_RW 1      &lt;---- pin RW podłączony do mikrokontrolera<br /><br />i nie wspomnę już tego czy zassałeś aktualizację do biblioteki LCD ?????? a przecież jest do pobrania na naszym forum:<br /><br /><!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic27.html">topic27.html</a><!-- l --><br /><br />w co drugim prawie poście już przypominam szanownym czytelnikom o tych aktualizacjach<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 28 lut 2012, o 23:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Klucha]]></name></author>
<updated>2012-02-28T22:04:47+01:00</updated>
<published>2012-02-28T22:04:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3718#p3718</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3718#p3718"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3718#p3718"><![CDATA[
A ja mam takie pytanko. Próbwałem wgrać program przetworniku ADC  z płytki CD do mojego procka Atmega32, fusy ustawione na 8Mhz. W programie LCDika zmieniłem linie sterujące na włsnej, tak jak mam podłączone w swojej płytce:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">// tu konfigurujemy port i piny do jakich podłączymy linie D7..D4 LCD<br />#define LCD_D7PORT  C<br />#define LCD_D7 5<br />#define LCD_D6PORT  C<br />#define LCD_D6 4<br />#define LCD_D5PORT  C<br />#define LCD_D5 3<br />#define LCD_D4PORT  C<br />#define LCD_D4 2<br /><br /><br />// tu definiujemy piny procesora do których podłączamy sygnały RS,RW, E<br />#define LCD_RSPORT C<br />#define LCD_RS 0<br /><br />#define LCD_RWPORT C<br />#define LCD_RW 1<br /><br />#define LCD_EPORT C<br />#define LCD_E 1</div><br />Wgrałem program przetwornika ADC do mojego procka z zmienionymi tymi parametrami LCD i nic nie chce wyświetlić. Dodam, że wyświetlacz oraz podłączenie wyświetlacza jest sprawdzone w innych program z obsługą LCD. Pomógłby ktoś o co może chodzić?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=232">Klucha</a> — 28 lut 2012, o 22:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tomekpop]]></name></author>
<updated>2012-02-27T22:16:34+01:00</updated>
<published>2012-02-27T22:16:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3666#p3666</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3666#p3666"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3666#p3666"><![CDATA[
Podpowiedzi pomogły, układ działa, bardzo dziękuję.<br />Miały być fotki ale płytki dzisiaj nie przyszły, może jutro się uda.<br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=237">tomekpop</a> — 27 lut 2012, o 22:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tomekpop]]></name></author>
<updated>2012-02-27T08:10:44+01:00</updated>
<published>2012-02-27T08:10:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3605#p3605</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3605#p3605"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3605#p3605"><![CDATA[
Dzięki, wieczorem na pewno dam znać, może nawet będą fotki gotowego układu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=237">tomekpop</a> — 27 lut 2012, o 08:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-27T07:54:59+01:00</updated>
<published>2012-02-27T07:54:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3604#p3604</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3604#p3604"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3604#p3604"><![CDATA[
<div class="quotetitle">tomekpop napisał(a):</div><div class="quotecontent"><br />Do źródeł na DVD czasami nie zaglądam ale chcę żeby program był jak najbardziej moim dziełem a nie był przepisany żywcem z książki albo DVD.<br /></div><br />Ale ja to bardzo dobrze rozumiem i wręcz doceniam takie podejście - bo zresztą liczyłem wręcz na taką postawę jako autor książki. Za to może się zdarzyć, że coś nie będzie działać (to jedno) - wtedy są pod ręką kody źródłowe. Ale jest jeszcze jedna ważna sprawa za którą przemawia przyjrzenie się im gdy zrealizuje się już podstawowe ćwiczenia z książki nawet samodzielnie - one się różnią w wielu miejscach i bywają bardziej rozwinięte czy rozbudowane - dzięki temu z nich także można się czegoś nowego nauczyć podglądając jak są pisane - o to chodzi.<br /><br /><div class="quotetitle">tomekpop napisał(a):</div><div class="quotecontent"><br />Dziś wieczorem sprawdzę jak to działa, a narazie dwa czujniki mam podłączone pod jeden kanał, wstawione dwie diody i rezystor podciągający do GND.<br />Działą dobrze ale wolę dwa czujniki na osobnych kanałach bo daje to większą możliwość na zastosowanie różnego rodzaju efektów świetlnych.<br /></div><br /><br />Myślę, że po tych podpowiedziach których udzieliłem wyżej już wszystko powinno być jasne i ci zadziała.<br /><br />Zresztą spróbuj sobie przeanalizować jak działa linijka<br /><br />ADCSRA |= .....<br /><br />a jak działa ta prawidłowa jej wersja<br /><br />ADCSRA = .....<br /><br />bo jak przeanalizujesz bit po bicie każdą operację to zobaczysz ogromną różnicę<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 27 lut 2012, o 07:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tomekpop]]></name></author>
<updated>2012-02-27T07:50:10+01:00</updated>
<published>2012-02-27T07:50:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3603#p3603</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3603#p3603"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3603#p3603"><![CDATA[
Do źródeł na DVD czasami nie zaglądam ale chcę żeby program był jak najbardziej moim dziełem a nie był przepisany żywcem z książki albo DVD.<br />Dziś wieczorem sprawdzę jak to działa, a narazie dwa czujniki mam podłączone pod jeden kanał, wstawione dwie diody i rezystor podciągający do GND.<br />Działą dobrze ale wolę dwa czujniki na osobnych kanałach bo daje to większą możliwość na zastosowanie różnego rodzaju efektów świetlnych.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=237">tomekpop</a> — 27 lut 2012, o 07:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-26T23:00:14+01:00</updated>
<published>2012-02-26T23:00:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3590#p3590</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3590#p3590"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3590#p3590"><![CDATA[
No już mam - powinna być jeszcze jedna pozycja w ERRACIE do książki bo nie powinno być tak:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">ADMUX |= (ADMUX &amp; 0xF8) | kanal;</div><br /><br />tylko tak<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">ADMUX = (ADMUX &amp; 0xF8) | kanal;</div><br /><br />Ale wiecie co Panowie ? nie dam tego do erraty - i pomimo iż uznaję, że to jest błąd w kodzie w książce to potraktuję go jako pułapkę na szanownych czytelników ? A dlaczego ? <br /><br />A dlatego, że nikt nie chce się pokusić zajrzeć do kodów z DVD a tam tego błędu nie ma hmmm ale też nie ma jak patrzę pomiarów na dwóch kanałach <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> ... za to na DVD jest inny mniejszy błąd w kodach bo tam z kolei jest tak:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">while( !(ADCSRA &amp; (1&lt;&lt;ADSC)) );</div><br /><br />a powinno być tak:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">while( ADCSRA &amp; (1&lt;&lt;ADSC) );</div><br /><br /><br />Tak czy inaczej mam nadzieję, że ten post rozwiąże te zagadki na temat pomiarów na kilku kanałach - musicie mnie jednak zrozumieć że nie wszystkie kody z książki które pisałem jako czysto dydaktyczne przykłady - po to tylko aby czytelnik mógł zrozumieć jak to działa a nie po to żeby używać tego jako bibliotek bo to duże nieporozumienie.<br /><br />A co najgorsze - te osoby, które przepisują kod z książki zamiast zajrzeć do źródeł na DVD popełniają największe przestępstwo na sobie - ponieważ nie stosują uśredniania, które jest bardzo dobrze pokazane w kodach na DVD nie wspominając o fajnej funkcji zamiany liczby na string....<br /><br />tak czy inaczej mam nadzieję, że tym skłonię jednak do zaglądania na DVD OK ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />proszę dać znać czy wszystko teraz poszło dobrze ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 26 lut 2012, o 23:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tomekpop]]></name></author>
<updated>2012-02-26T20:49:54+01:00</updated>
<published>2012-02-26T20:49:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3584#p3584</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3584#p3584"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3584#p3584"><![CDATA[
działający kod z jednym czujnikiem<br />[syntax=c]while(1)<br />{<br />if(pomiar(5)&gt;1000)<br />{<br />PORTD &amp;= ~(1&lt;&lt;PD0);<br />_delay_ms(500);<br />PORTD |= (1&lt;&lt;PD0);<br />}<br />else<br />{<br />PORTD &amp;= ~(1&lt;&lt;PD1);<br />_delay_ms(500);<br />PORTD |= (1&lt;&lt;PD1);<br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=237">tomekpop</a> — 26 lut 2012, o 20:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tomekpop]]></name></author>
<updated>2012-02-26T20:48:42+01:00</updated>
<published>2012-02-26T20:48:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3583#p3583</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3583#p3583"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3583#p3583"><![CDATA[
kod z dwoma czujnikami<br />[syntax=c]while(1)<br />{<br />lcd_cls();<br />lcd_int(pomiar(5));<br />_delay_ms(100);<br />if(pomiar(5)&gt;1000)<br />{<br />PORTC &amp;= ~(1&lt;&lt;PC0);<br />_delay_ms(100);<br />PORTC |= (1&lt;&lt;PC0);<br />}<br />else{<br />PORTC &amp;= ~(1&lt;&lt;PC1);<br />_delay_ms(50);<br />PORTC |= (1&lt;&lt;PC1);<br />}<br />lcd_cls();<br />lcd_locate(1,0);<br />lcd_int(pomiar(6));<br />if(pomiar(6)&gt;1000)<br />{<br />PORTC &amp;= ~(1&lt;&lt;PC2);<br />_delay_ms(100);<br />PORTC |= (1&lt;&lt;PC2);<br />}<br />else{<br />PORTC &amp;= ~(1&lt;&lt;PC1);<br />_delay_ms(50);<br />PORTC |= (1&lt;&lt;PC1);<br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=237">tomekpop</a> — 26 lut 2012, o 20:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-26T20:43:49+01:00</updated>
<published>2012-02-26T20:43:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3582#p3582</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3582#p3582"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3582#p3582"><![CDATA[
ale proszę umieszczaj kody źródłowe w znacznikach syntax = c <br /><br />jak klikniesz w ODPOWIEDZ to nad polem do wpisywania tekstu i kodu masz takie rozwijane pole &quot;listing kodu&quot; - wystarczy go zaznaczyć i wybrać z tego pola język C - pokażę ci na przykładzie tego pierwszego twojego listingu a ty popraw tak drugi jak wyedytujesz wiadomość OK ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 26 lut 2012, o 20:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tomekpop]]></name></author>
<updated>2012-02-26T20:22:10+01:00</updated>
<published>2012-02-26T20:22:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3580#p3580</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3580#p3580"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3580#p3580"><![CDATA[
[syntax=c]while(1)<br />{<br />if(pomiar(5)&gt;1000)<br />{<br />PORTD &amp;= ~(1&lt;&lt;PD0);<br />_delay_ms(500);<br />PORTD |= (1&lt;&lt;PD0);<br />}<br />else<br />{<br />PORTD &amp;= ~(1&lt;&lt;PD1);<br />_delay_ms(500);<br />PORTD |= (1&lt;&lt;PD1);<br />}<br />}[/syntax]<br /><br />To jest działająca wersja programu, pętla else tylko do celów testowych chociaż w urządzeniu końcowym może się przydać do wstępnej diagnostyki.<br />A tu wersja z dwoma czujnikami:<br /><br />[syntax=c]while(1)<br />{<br />lcd_cls();<br />lcd_int(pomiar(5));<br />_delay_ms(100);<br />if(pomiar(5)&gt;1000)<br />{<br />PORTC &amp;= ~(1&lt;&lt;PC0);<br />_delay_ms(100);<br />PORTC |= (1&lt;&lt;PC0);<br />}<br />else{<br />PORTC &amp;= ~(1&lt;&lt;PC1);<br />_delay_ms(50);<br />PORTC |= (1&lt;&lt;PC1);<br />}<br />lcd_cls();<br />lcd_locate(1,0);<br />lcd_int(pomiar(6));<br />if(pomiar(6)&gt;1000)<br />{<br />PORTC &amp;= ~(1&lt;&lt;PC2);<br />_delay_ms(100);<br />PORTC |= (1&lt;&lt;PC2);<br />}<br />else{<br />PORTC &amp;= ~(1&lt;&lt;PC1);<br />_delay_ms(50);<br />PORTC |= (1&lt;&lt;PC1);<br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=237">tomekpop</a> — 26 lut 2012, o 20:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-02-26T19:45:04+01:00</updated>
<published>2012-02-26T19:45:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3574#p3574</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3574#p3574"/>
<title type="html"><![CDATA[Re: Pomiar napięcia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=881&amp;p=3574#p3574"><![CDATA[
Spróbuj pokazać fragment kodu który sprawia ci problem ok ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 26 lut 2012, o 19:45</p><hr />
]]></content>
</entry>
</feed>