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

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

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=18752&amp;mode</id>
<entry>
<author><name><![CDATA[Jarecki]]></name></author>
<updated>2017-07-05T07:12:36+01:00</updated>
<published>2017-07-05T07:12:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191696#p191696</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191696#p191696"/>
<title type="html"><![CDATA[Re: Mega 328P problem z uruchomieniem ADC.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191696#p191696"><![CDATA[
<div class="quotetitle">iTTiny napisał(a):</div><div class="quotecontent"><br /><div class="quotetitle">Daro69 napisał(a):</div><div class="quotecontent">[syntax=c]ADCSRA |= ADEN;[/syntax]<br />Czy ?<br />[syntax=c]ADCSRA |= (1&lt;&lt; ADEN);[/syntax]<br />itd.<br /></div><br /><br />I tu był pies pogrzebany, DZIAŁA <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> !! Dzięki panowie !<br />No tak bez wstawiania jedynki jak miało by to ustawić ten bit na 1... <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> no cóż, kolejna dobra lekcja.<br /><br />Edit: Jednak przedwczesna radość, teraz cały czas zwraca max wartość ADC:1023<br /><br /><strong>KOD: (po zmianach)</strong><br />[syntax=c]// dołączanie systemowych plików nagłówkowych<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />//#include &lt;avr/interrupt.h&gt;<br />//#include &lt;stdlib.h&gt;<br />//#include &lt;avr/pgmspace.h&gt;<br />#include &quot;LCD/lcd44780.h&quot;<br /><br />uint16_t value = 0;<br /><br />// Głowna funkcja programu<br />int main( void ) {<br /><br />//ADC PORTC 4 i 5, na poczatek tylko 5<br />ADCSRA |= (1&lt;&lt;ADEN); //Włączenie ADC<br />ADCSRA |= (ADPS2 | ADPS1 | ADPS0);//Włączenie prescalera 128  (pozostale bity |ADPS1|ADPS0)<br />ADMUX |= (REFS1| REFS0); //Napięcie odniesienia - 1,1V wewnętrzne z podłączonym kondensatorem do AVCC<br /><br /><br />lcd_init();<br />lcd_cls();<br /><br />lcd_locate(0,0);<br />lcd_str(&quot;Wartosc ADC&quot;);<br />uint16_t pomiar (uint8_t kanal);<br />DDRC |= 1&lt;&lt;PC4;<br />// Główna pętla programu - while(1)<br />while(1)<br />{<br />value = pomiar(PC5);//Pomiar ADC<br />lcd_locate(1,0);<br />lcd_int(value);<br />_delay_ms(400);<br />PORTC ^= 1&lt;&lt;PC4;//Zmiana stanu diody debug*<br />}<br />// Koniec Głównej pętli programu - while(1)<br />}<br />//\\\\\\\\\\\\\\\\\\\\\\\\\\_Koniec Main &amp; While_///////////////////////////////<br /><br />uint16_t pomiar (uint8_t kanal)<br />{<br />ADMUX = (ADMUX &amp; 0b11110000) | kanal;<br />ADCSRA |= (1&lt;&lt;ADSC);<br />while(ADCSRA &amp; (1&lt;&lt;ADSC));<br />return ADCW;<br />}[/syntax]</div><br /><br />Dlaczego deklarujesz funkcję pomiar w funkcji main? Linia 25<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2511">Jarecki</a> — 5 lip 2017, o 07:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2017-07-05T05:32:30+01:00</updated>
<published>2017-07-05T05:32:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191694#p191694</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191694#p191694"/>
<title type="html"><![CDATA[Re: Mega 328P problem z uruchomieniem ADC.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191694#p191694"><![CDATA[
<div class="quotetitle">iTTiny napisał(a):</div><div class="quotecontent"><br />1. Wyczyściłem fusy w MKavrcalculator<br /></div><br />Nie wiem co to znaczy wyczyścić fusy <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ale ok - załóżmy że masz na myśli przywrócenie fabrycznych ... chociaż one nie mają za dużo wspólnego z działaniem bądź nie działaniem ADC<br /><br /><div class="quotetitle">iTTiny napisał(a):</div><div class="quotecontent"><br />2. Wyczyściłem flash -||-<br /></div><br />To jest jedna z przenajdziwniejszych operacji, najdziwniejszy pomysł na który wpadają początkujący ... ostatnio mi też w mailach sporo się takich pytań zdarza - typu:<br /><br />&quot;jak skasować w MkAvrCalculatorze stary wsad przed wgraniem nowego?&quot;<br /><br />i ja zawsze pytam <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... &quot;a skąd taki kosmmiczny pomysł, żeby jakoś specjalnie kasować ten wsad przed wgraniem nowego?&quot;<br /><br />zwykle tutaj nie pada żadna odpowiedź albo taka: &quot;no myślałem, że tak trzeba&quot;<br /><br />... nie, nie trzeba <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Panowie - zapamiętajcie .... wgranie NOWEGO wsadu ZAWSZE KASUJE całkowicie w 100% całą pamięć FLASH procka i nigdy nie trzeba i nie robi się tego specjalnie i jako oddzielny krok.<br /><br />Tak samo w tym przypadku nie mogło pomóc ani żadne &quot;czyszczenie fusów&quot; <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> a już tym bardziej czyszczenie Flasha<br /><br /><br />Pewnie jak zwykle był błąd w kodzie albo w połączeniach, i nie warto szukać przyczyn czy też rozwiązań poprzez rzekome kasowanie flasha - że to niby pomaga - bo zawsze będzie ciężko dojść do przyczyn własnych błędów w innych kolejnych przypadkach.<br /><br />To taka moja podpowiedź, wyjaśnienie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 5 lip 2017, o 05:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[iTTiny]]></name></author>
<updated>2017-07-04T22:52:12+01:00</updated>
<published>2017-07-04T22:52:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191686#p191686</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191686#p191686"/>
<title type="html"><![CDATA[Re: Mega 328P problem z uruchomieniem ADC.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191686#p191686"><![CDATA[
Wiem wiem, znalazłem to po chwili ale dalej nie działało.<br />W końcu działa zrobiłem tak :<br />1. Wyczyściłem fusy w MKavrcalculator<br />2. Wyczyściłem flash -||-<br />3. Na nowo fusy wrzuciłem<br />4. Wrzuciłem inny program dla sprawdzenia<br />5. Wgrałem ten do ADC <br />I działa <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Dzięki za pomoc ! <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14220">iTTiny</a> — 4 lip 2017, o 22:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2017-07-04T22:42:36+01:00</updated>
<published>2017-07-04T22:42:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191684#p191684</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191684#p191684"/>
<title type="html"><![CDATA[Re: Mega 328P problem z uruchomieniem ADC.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191684#p191684"><![CDATA[
Przyjrzyj się na resztę kodu. <br />Tam dalej też masz zalaczanie bitów bez jedynek i przesunięć. <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=11549">Daro69</a> — 4 lip 2017, o 22:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[iTTiny]]></name></author>
<updated>2017-07-04T22:25:46+01:00</updated>
<published>2017-07-04T22:25:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191681#p191681</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191681#p191681"/>
<title type="html"><![CDATA[Re: Mega 328P problem z uruchomieniem ADC.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191681#p191681"><![CDATA[
<div class="quotetitle">Daro69 napisał(a):</div><div class="quotecontent"><br />[syntax=c]ADCSRA |= ADEN;[/syntax]<br />Czy ?<br />[syntax=c]ADCSRA |= (1&lt;&lt; ADEN);[/syntax]<br />itd.<br /></div><br /><br />I tu był pies pogrzebany, DZIAŁA <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> !! Dzięki panowie !<br />No tak bez wstawiania jedynki jak miało by to ustawić ten bit na 1... <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> no cóż, kolejna dobra lekcja.<br /><br />Edit: Jednak przedwczesna radość, teraz cały czas zwraca max wartość ADC:1023<br /><br /><strong>KOD: (po zmianach)</strong><br />[syntax=c]// dołączanie systemowych plików nagłówkowych<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />//#include &lt;avr/interrupt.h&gt;<br />//#include &lt;stdlib.h&gt;<br />//#include &lt;avr/pgmspace.h&gt;<br />#include &quot;LCD/lcd44780.h&quot;<br /><br />uint16_t value = 0;<br /><br />// Głowna funkcja programu<br />int main( void ) {<br /><br />//ADC PORTC 4 i 5, na poczatek tylko 5<br />ADCSRA |= (1&lt;&lt;ADEN); //Włączenie ADC<br />ADCSRA |= (ADPS2 | ADPS1 | ADPS0);//Włączenie prescalera 128  (pozostale bity |ADPS1|ADPS0)<br />ADMUX |= (REFS1| REFS0); //Napięcie odniesienia - 1,1V wewnętrzne z podłączonym kondensatorem do AVCC<br /><br /><br />lcd_init();<br />lcd_cls();<br /><br />lcd_locate(0,0);<br />lcd_str(&quot;Wartosc ADC&quot;);<br />uint16_t pomiar (uint8_t kanal);<br />DDRC |= 1&lt;&lt;PC4;<br />// Główna pętla programu - while(1)<br />while(1)<br />{<br />value = pomiar(PC5);//Pomiar ADC<br />lcd_locate(1,0);<br />lcd_int(value);<br />_delay_ms(400);<br />PORTC ^= 1&lt;&lt;PC4;//Zmiana stanu diody debug*<br />}<br />// Koniec Głównej pętli programu - while(1)<br />}<br />//\\\\\\\\\\\\\\\\\\\\\\\\\\_Koniec Main &amp; While_///////////////////////////////<br /><br />uint16_t pomiar (uint8_t kanal)<br />{<br />ADMUX = (ADMUX &amp; 0b11110000) | kanal;<br />ADCSRA |= (1&lt;&lt;ADSC);<br />while(ADCSRA &amp; (1&lt;&lt;ADSC));<br />return ADCW;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14220">iTTiny</a> — 4 lip 2017, o 22:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[iTTiny]]></name></author>
<updated>2017-07-04T14:58:17+01:00</updated>
<published>2017-07-04T14:58:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191664#p191664</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191664#p191664"/>
<title type="html"><![CDATA[Re: Mega 328P problem z uruchomieniem ADC.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191664#p191664"><![CDATA[
Aktualnie jestem w pracy, jak wrócę to sprawdzę i dam znać <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Wysłane z mojego HTC U Play przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14220">iTTiny</a> — 4 lip 2017, o 14:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2017-07-04T13:31:42+01:00</updated>
<published>2017-07-04T13:31:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191661#p191661</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191661#p191661"/>
<title type="html"><![CDATA[Re: Mega 328P problem z uruchomieniem ADC.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191661#p191661"><![CDATA[
[syntax=c]ADCSRA |= ADEN;[/syntax]<br />Czy ?<br />[syntax=c]ADCSRA |= (1&lt;&lt; ADEN);[/syntax]<br />itd.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 4 lip 2017, o 13:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jarecki]]></name></author>
<updated>2017-07-04T12:31:28+01:00</updated>
<published>2017-07-04T12:31:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191657#p191657</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191657#p191657"/>
<title type="html"><![CDATA[Re: Mega 328P problem z uruchomieniem ADC.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191657#p191657"><![CDATA[
[syntax=c]// dołączanie systemowych plików nagłówkowych<br />    #include &lt;avr/io.h&gt;<br />    #include &lt;util/delay.h&gt;<br />    //#include &lt;avr/interrupt.h&gt;<br />    //#include &lt;stdlib.h&gt;<br />    //#include &lt;avr/pgmspace.h&gt;<br />    #include &quot;LCD/lcd44780.h&quot;<br />     <br />    uint16_t value = 0;<br />    <br />    uint16_t pomiar (uint8_t kanal);<br />     <br />    // Głowna funkcja programu<br />    int main( void ) {<br />     <br />            //ADC PORTC 4 i 5, na poczatek tylko 5<br />                    ADCSRA |= ADEN;                                         //Włączenie ADC<br />                    ADCSRA |= (ADPS2 | ADPS1 | ADPS0);      //Włączenie prescalera 128  (pozostale bity |ADPS1|ADPS0)<br />                    ADMUX |= (REFS1| REFS0);                        //Napięcie odniesienia - 1,1V wewnętrzne z podłączonym kondensatorem do AVCC<br />     <br />     <br />                    lcd_init();<br />                    lcd_cls();<br />     <br />                    lcd_locate(0,0);<br />                    lcd_str(&quot;Wartosc ADC&quot;);<br />               <br />                    <br />                    DDRC |= 1&lt;&lt;PC4;<br />    // Główna pętla programu - while(1)<br />    while(1)<br />            {<br />            value = pomiar(PC5);            //Pomiar ADC<br />            lcd_locate(1,0);<br />            lcd_int(value);<br />            _delay_ms(400);<br />            PORTC ^= 1&lt;&lt;PC4;                        //Zmiana stanu diody debug*<br />            }<br />    // Koniec Głównej pętli programu - while(1)<br />    }<br />    //\\\\\\\\\\\\\\\\\\\\\\\\\\_Koniec Main &amp; While_///////////////////////////////<br />     <br />    uint16_t pomiar (uint8_t kanal)<br />    {<br />            ADMUX = (ADMUX &amp; 0b11110000) | kanal;<br />            ADCSRA |= (1&lt;&lt;ADSC);<br />            while(ADCSRA &amp; (1&lt;&lt;ADSC));<br />            return ADCW;<br />    }[/syntax]<br /><br />Sprawdź<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2511">Jarecki</a> — 4 lip 2017, o 12:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[iTTiny]]></name></author>
<updated>2017-07-04T11:24:36+01:00</updated>
<published>2017-07-04T11:24:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191653#p191653</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191653#p191653"/>
<title type="html"><![CDATA[Mega 328P problem z uruchomieniem ADC.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18752&amp;p=191653#p191653"><![CDATA[
Witam,<br /><br />Jak w tytule, mam problem z uruchomieniem ADC na 328p, teoretycznie lecę równo z poradnikiem o ADC cz.3 (1h:20min mniej więcej w poradniku). Tam mniej więcej Mirek zaczyna mieć pomiar po wgraniu wsadu, u mnie - 0.<br />Wynik wrzucam na LCD z tym nie ma większego problemu. Ustawiłem wewnętrzny RC na 8MHz, prescaler do ADC na 16 (500KHz - Teoretycznie za dużo skoro max to 200) po czym zmieniłem na 128 co daje 62,5KHz więc mieszczę się w zakresie podanym w nocie.<br />Napięcie mierzone mam z potencjometru pomiędzy VCC = 5V i GND a dokładniej drugiego potencjometru, który ma na wejściu ustawione 1,1V co daje możliwość regulacji napięcia na wejściu ADC tym właśnie drugim pot. od zera do max.<br />Trochę szukałem ale koniec końców nie doszukałem się tego swojego &quot;paskudnego babola&quot; <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><strong>KOD:</strong><br />[syntax=c]// dołączanie systemowych plików nagłówkowych<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />//#include &lt;avr/interrupt.h&gt;<br />//#include &lt;stdlib.h&gt;<br />//#include &lt;avr/pgmspace.h&gt;<br />#include &quot;LCD/lcd44780.h&quot;<br /><br />uint16_t value = 0;<br /><br />// Głowna funkcja programu<br />int main( void ) {<br /><br />//ADC PORTC 4 i 5, na poczatek tylko 5<br />ADCSRA |= ADEN; //Włączenie ADC<br />ADCSRA |= (ADPS2 | ADPS1 | ADPS0);//Włączenie prescalera 128  (pozostale bity |ADPS1|ADPS0)<br />ADMUX |= (REFS1| REFS0); //Napięcie odniesienia - 1,1V wewnętrzne z podłączonym kondensatorem do AVCC<br /><br /><br />lcd_init();<br />lcd_cls();<br /><br />lcd_locate(0,0);<br />lcd_str(&quot;Wartosc ADC&quot;);<br />uint16_t value = 0;<br />uint16_t pomiar (uint8_t kanal);<br />DDRC |= 1&lt;&lt;PC4;<br />// Główna pętla programu - while(1)<br />while(1)<br />{<br />value = pomiar(PC5);//Pomiar ADC<br />lcd_locate(1,0);<br />lcd_int(value);<br />_delay_ms(400);<br />PORTC ^= 1&lt;&lt;PC4;//Zmiana stanu diody debug*<br />}<br />// Koniec Głównej pętli programu - while(1)<br />}<br />//\\\\\\\\\\\\\\\\\\\\\\\\\\_Koniec Main &amp; While_///////////////////////////////<br /><br />uint16_t pomiar (uint8_t kanal)<br />{<br />ADMUX = (ADMUX &amp; 0b11110000) | kanal;<br />ADCSRA |= (1&lt;&lt;ADSC);<br />while(ADCSRA &amp; (1&lt;&lt;ADSC));<br />return ADCW;<br />}[/syntax]<br /><br />Pomocy... <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14220">iTTiny</a> — 4 lip 2017, o 11:24</p><hr />
]]></content>
</entry>
</feed>