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

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

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=63&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2011-12-01T12:46:23+01:00</updated>
<published>2011-12-01T12:46:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=63&amp;p=612#p612</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=63&amp;p=612#p612"/>
<title type="html"><![CDATA[Re: ADC bład w wyswietlaniu napiecia na LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=63&amp;p=612#p612"><![CDATA[
Tak, tak warto przeanalizować dokładnie działanie tej funkcji...<br /><br />a na piechotę też mógł kolega to zrobić, ale to jest zawsze niepotrzebna grzebanina w kodzie i zawsze trzeba dodatkowe linie kodu wklepywać....<br /><br />wystarczyło bowiem zrobić warunek:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">if( liczba &lt; 10 ) lcd_str(&quot;0&quot;);</div><br /><br />o ile oczywiście miałyby być dwie liczby po przecinku. Bo dla trzech co zrozumiałe trzeba byłoby już inaczej....<br /><br />Jak widać, dla liczby mniejszej niż 10 najpierw taki warunek wyświetli to brakujące zero więc wynik będzie tego tyou:<br /><br /><strong>1.03</strong><br /><br />zamiast<br /><br /><strong>1.3</strong><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 1 gru 2011, o 12:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pawel2604]]></name></author>
<updated>2011-12-01T11:49:26+01:00</updated>
<published>2011-12-01T11:49:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=63&amp;p=611#p611</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=63&amp;p=611#p611"/>
<title type="html"><![CDATA[Re: ADC bład w wyswietlaniu napiecia na LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=63&amp;p=611#p611"><![CDATA[
Pomogło, chociaz jeszcze nie dokońca rozumiem działanie tej funkcji. Musze ja sobie na spokojnie przeanalizować. Teraz spróbuje zrobić aby na jednym wyswietlaczu LCD było wyświetlanych kilka pomiarów napiecia naraz.<br />Dziekuje za pomoc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=114">pawel2604</a> — 1 gru 2011, o 11:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2011-11-27T13:35:31+01:00</updated>
<published>2011-11-27T13:35:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=63&amp;p=509#p509</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=63&amp;p=509#p509"/>
<title type="html"><![CDATA[Re: ADC bład w wyswietlaniu napiecia na LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=63&amp;p=509#p509"><![CDATA[
A ja tam w książce tzn w przykładach na DVD (do których nie wiem dlaczego tak mało osób zagląda) umieściłem taką fajną sprytną <strong>funkcję </strong><strong><span style="color: #0040FF">int_to_str()</span></strong> .... dlaczego kolega się nią nie posłuży ??? dlaczego nie przeanalizuje jak ona działa ? a właśnie zrozumienie jej zasady działania pozwoliłoby szybko dojść do tego dlaczego tak a nie inaczej dzieje się w tym przypadku jaki kolega opisał.<br /><br />Proponuję zatem jak najszybciej zajrzeć do tego kodu i dać znać czy pomogło ok?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 27 lis 2011, o 13:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pawel2604]]></name></author>
<updated>2011-11-27T11:59:44+01:00</updated>
<published>2011-11-27T11:59:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=63&amp;p=507#p507</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=63&amp;p=507#p507"/>
<title type="html"><![CDATA[ADC bład w wyswietlaniu napiecia na LCD]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=63&amp;p=507#p507"><![CDATA[
Witam<br />Napisałem program na podstawie książki Pana Mirka. Program służy do mieżenia napięcia do 5V. Problem pojawia sie przy wyświetlaniu pierwszego miejsca po przecinku. <br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 2011-11-27<br /> *       Autor: Pawel<br /> */<br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/delay.h&gt;<br /><br />//załaczenie pliku do obsługi lcd h<br />#include &quot;lcd44780.h&quot;<br /><br />uint16_t pomiar(uint8_t kanal);//deklaracja funkvji pomiaru<br />int main(void)<br />{<br />//definicje zmienych<br />uint32_t wynik;<br />uint16_t pm;<br />uint8_t cz_d, cz_u;<br /><br />//inicjacja wyswietlacza<br />lcd_init();<br />//wybór napiecia odnmiesienia w postaci VCC<br />ADMUX |= (1&lt;&lt;REFS0);<br />//wlaczenie modulu ADC oraz ustawienie preskalera na 64<br />ADCSRA |=(1&lt;&lt;ADEN) | (1&lt;&lt;ADPS1) | (1&lt;&lt;ADPS0);<br /><br />//nieskonczona petla w której bedziemy dokonywac pomiaru i wyswietlac go na lcd<br />while(1)<br />{<br />lcd_cls();<br />//pomiar napiecia na ADC5<br />pm = pomiar(5);//odczytana wartosc ADC <br />wynik = pm * 25 *2;//przeliczenie wyniku<br />cz_d = wynik/10000;//czesc dziesietna<br />cz_u = (wynik/100) % 100;//czesc ułamkowa<br />lcd_int(cz_d);//wyswietlanie na LCD<br />lcd_char(',');<br />lcd_int(cz_u);<br />lcd_str(&quot;V&quot;);<br />_delay_ms(50);<br />}<br />}<br />uint16_t pomiar(uint8_t kanal)//definicja funkcji pomiaru na wybranym kanale<br />{<br />ADMUX |=(ADMUX &amp;0xf8) | kanal;//ustawienie ybranego kanału<br />ADCSRA |= (1&lt;&lt;ADSC);//start pomiaru<br />while(ADCSRA &amp; (1&lt;&lt;ADSC));//oczekiwanie na pomiar<br />return ADCW;//zwrócenie wyniku w postacji liczby 16-bit<br />}[/syntax]<br />Na wyświetlaczu zamiast np. wartosci 1,02V pojawia sie 1,2V. Zwiekszajac napiecie do wartosci 1,10 wskazania sa prawidłowe. Myśle że bład tkwi w tym że częsc ułamkowa jest to reszta z dzielenia, wiec jeśli :<br />(1,02 / 100) %100 = 2<br />Brakuje wiec zera przed 2, stad ten problem. Jak mozna go rozwiazac?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=114">pawel2604</a> — 27 lis 2011, o 11:59</p><hr />
]]></content>
</entry>
</feed>