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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-02-25T20:12:35+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=14618&amp;mode</id>
<entry>
<author><name><![CDATA[Hannibal9]]></name></author>
<updated>2016-02-25T20:12:35+01:00</updated>
<published>2016-02-25T20:12:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154726#p154726</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154726#p154726"/>
<title type="html"><![CDATA[Re: ADC ATMega 32 pomiar napięcia na dwóch kanałach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154726#p154726"><![CDATA[
Brnę dalej i chciałem zrobić jednocześnie pomiar napięcia na jednym kanale, oraz pomiar różnicowy na ADC1 i ADC0 ze wzmocnieniem 10,<br />Mam następującą funkcję do pomiaru różnicowego:<br />[syntax=c]uint16_t pomiar_roz (void){<br />ADMUX = (ADMUX &amp; 0b11110000)|0b00001001; // wzmocnienie 10<br />ADCSRA|=(1&lt;&lt;ADSC);<br />while (ADCSRA &amp; (1 &lt;&lt; ADSC));<br />return ADCW;<br />}[/syntax]<br /><br />i funkcję do pomiaru pojedynczego kanału<br /><br />[syntax=c]uint16_t pomiar(uint8_t kanal) {<br />ADMUX = (ADMUX &amp; 0xF8) | kanal;<br />ADCSRA |= (1 &lt;&lt; ADSC);<br />while (ADCSRA &amp; (1 &lt;&lt; ADSC));<br />return ADCW;[/syntax]<br /><br />odczyt w pętli głównej<br /><br />[syntax=c]adc2 = pomiar(4); // wykonanie drugiego pomiaru<br />adc3=pomiar_roz();[/syntax]<br /><br />Niestety dziwnie mi się to zachowuje, zmieniając napięcie różnicowe czyli adc3 zmienia mi się jednocześnie tak samo napięcie na kanale 4, natomiast zmieniając napięcie na kanale 4 nic się nie dzieje.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 18 minutach ]</span></strong><br /><br />:), już wiem trzeba zmienić maskę w funkcji pomiar<br /><br />[syntax=c]ADMUX = (ADMUX &amp; 0xF8) | kanal;[/syntax]<br /><br />trzeba zmienić na<br /><br />[syntax=c]ADMUX = (ADMUX &amp; 0xF0) | kanal;[/syntax]<br /><br />nie wiem tylko dlaczego przy pomiarze różnicowym ADC osiąga maksymalnie  496 a nie 511.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7324">Hannibal9</a> — 25 lut 2016, o 20:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2016-02-25T09:59:29+01:00</updated>
<published>2016-02-25T09:59:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154640#p154640</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154640#p154640"/>
<title type="html"><![CDATA[Re: ADC ATMega 32 pomiar napięcia na dwóch kanałach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154640#p154640"><![CDATA[
<div class="quotetitle">Marhef napisał(a):</div><div class="quotecontent"><br />... a ten &quot;nowy&quot; link nie<br /></div><br />...sorry - w podanym adresie brakowało &quot;l&quot; w &quot;html&quot;<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 25 lut 2016, o 09:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Marhef]]></name></author>
<updated>2016-02-25T08:55:43+01:00</updated>
<published>2016-02-25T08:55:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154636#p154636</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154636#p154636"/>
<title type="html"><![CDATA[Re: ADC ATMega 32 pomiar napięcia na dwóch kanałach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154636#p154636"><![CDATA[
A u mnie dziwnie, wcześniej się otwierało a ten &quot;nowy&quot; link nie...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12752">Marhef</a> — 25 lut 2016, o 08:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2016-02-25T09:57:52+01:00</updated>
<published>2016-02-24T23:31:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154623#p154623</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154623#p154623"/>
<title type="html"><![CDATA[Re: ADC ATMega 32 pomiar napięcia na dwóch kanałach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154623#p154623"><![CDATA[
Witam<br /><div class="quotetitle">Hannibal9 napisał(a):</div><div class="quotecontent"><br />...nie uruchamia mi się odnośnik<br /></div><br />...a teraz?<br /><a href="http://mirekk36.blogspot.com/2013/04/eclipse-wasne-skroty-wasny-szablon.html"  class="postlink">http://mirekk36.blogspot.com/2013/04/eclipse-wasne-skroty-wasny-szablon.html</a><br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 24 lut 2016, o 23:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Hannibal9]]></name></author>
<updated>2016-02-24T20:24:55+01:00</updated>
<published>2016-02-24T20:24:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154603#p154603</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154603#p154603"/>
<title type="html"><![CDATA[Re: ADC ATMega 32 pomiar napięcia na dwóch kanałach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154603#p154603"><![CDATA[
<div class="quotetitle">kicajek napisał(a):</div><div class="quotecontent"><br />Witam<br /><a href="http://mirekk36.blogspot.com/2013/04/eclipse-wasne-skroty-wasny-szablon.html"  class="postlink">OBEJRZYJ/POSŁUCHAJ</a> - zobaczysz jakie są i jakie możesz jeszcze mieć.<br /><br />Pozdr.<br /></div><br />nie uruchamia mi się odnośnik <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 13 minutach ]</span></strong><br /><br />Stworzyłem taki kod, pokazuje mi napięcie na 2 kanałach na lcd i terminalu <br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;LCD/lcd44780.h&quot;// w ustawieniach wyzwietlacza sprawdzic czy RW do GND czy procesora<br />#include &quot;MKUART/mkuart.h&quot;<br />#include &quot;MK_TERMINAL/mk_term.h&quot;<br /><br />#define SR 8// definicja ile danych w tablicy do usredniania<br /><br />#define REF_256 (1&lt;&lt;REFS1)|(1&lt;&lt;REFS0)// makrodefinicja ustawienie napiecia odniesienia na 256<br />#define REF_VCC (1&lt;&lt;REFS0)// ustawinie napiecia odniesienia na Vcc<br />//przy zmianie napiecia odniesienia trzeba zminic we wzorze napiecie=((ADCW*50)) 25 dla REF_256 50 dla REF_VCC<br /><br />uint16_t pomiar(uint8_t kanal);<br /><br />uint16_t adc1, adc2;<br />uint32_t napiecie1, napiecie2;<br />uint8_t cz_d1, cz_u1, cz_d2, cz_u2;<br /><br />int main(void) {<br />lcd_init(); //inicjalizacja wyświetlacza<br />USART_Init(__UBRR); // inicjalizacja UART<br /><br />// inicjalizacja modulu ADC<br />//Uruchomienie ADC, wewnętrzne napiecie odniesienia, tryb pojedynczej konwersji, preskaler 128, wejście PIN5, wynik do prawej<br />ADCSRA = (1 &lt;&lt; ADEN) //ADEN: ADC Enable (uruchomienie przetwornika)<br />| (1 &lt;&lt; ADPS0) //ADPS2:0: ustawienie preskalera, preskaler= 128<br />| (1 &lt;&lt; ADPS1) | (1 &lt;&lt; ADPS2);<br />ADMUX |= REF_VCC;<br />//tr_cls(1);<br /><br />sei();<br />//włączenie przerwań zaremowane<br />while (1) {<br />adc1 = pomiar(3); // wykonanie pierwszego pomiaru<br />adc2 = pomiar(4); // wykonanie drugiego pomiaru<br />// wyswietlanie ADC na LCD<br />lcd_cls();<br />lcd_locate(0, 1);<br />lcd_int(adc1);<br />lcd_locate(0, 10);<br />lcd_int(adc2);<br />//      obliczanie napięc<br />napiecie1 = ((adc1 * 50));<br />// wzor (adc*napiecie odniesienia)/1024<br />//w oim przypadku (adc*napiecie odniesienia*10)/(1024*10) 10 aby sie pozbyc ulamkow zwlaszca prz nap odniesienia 2,56<br />napiecie2 = ((adc2 * 50));<br />cz_d1 = napiecie1 / 10000;<br />cz_u1 = (napiecie1 / 100) % 100;<br /><br />cz_d2 = napiecie2 / 10000;<br />cz_u2 = (napiecie2 / 100) % 100;<br /><br />lcd_locate(1, 0);<br />lcd_str(&quot;U1:&quot;);<br />lcd_int(cz_d1);<br />lcd_str(&quot;.&quot;);<br /><br />if (cz_u1 &lt; 10) {<br />lcd_str(&quot;0&quot;);<br />lcd_int(cz_u1);<br />} else {<br />lcd_int(cz_u1);<br />}<br />lcd_str(&quot;  &quot;);<br />lcd_locate(1, 9);<br />lcd_str(&quot;U2:&quot;);<br />lcd_int(cz_d2);<br />lcd_str(&quot;.&quot;);<br />if (cz_u2 &lt; 10) {<br />lcd_str(&quot;0&quot;);<br />lcd_int(cz_u2);<br />} else {<br />lcd_int(cz_u2);<br />}<br />//wyswietlanie na terminalu<br /><br />//kanal 1<br /><br />tr_locate(2, 2);<br />tr_pen_color(2);<br />uart_puts(&quot;Miernik napiec 2 kanaly&quot;);<br />tr_locate(4, 4);<br />tr_pen_color(1);<br />uart_puts(&quot;kanal 1 - &quot;);<br /><br />uart_putint(cz_d1, 10);<br />uart_puts(&quot;.&quot;);<br />if (cz_u1 &lt; 10) {<br />uart_puts(&quot;0&quot;);<br />uart_putint(cz_u1, 10);<br />} else {<br /><br />uart_putint(cz_u1, 10);<br />}<br />uart_puts(&quot; &#91;v&#93;   &quot;);<br /><br />//kanal 2<br /><br />tr_locate(6, 4);<br />tr_pen_color(1);<br />uart_puts(&quot;kanal 2 - &quot;);<br /><br />uart_putint(cz_d2, 10);<br />uart_puts(&quot;.&quot;);<br />if (cz_u2 &lt; 10) {<br />uart_puts(&quot;0&quot;);<br />uart_putint(cz_u2, 10);<br />} else {<br /><br />uart_putint(cz_u2, 10);<br />}<br />uart_puts(&quot; &#91;v&#93;   &quot;);<br /><br />tr_locate(9,2);<br />tr_pen_color(3);<br />uart_puts(&quot;***********************&quot;);<br /><br />_delay_ms(50);                   // aby opoznic odswierzanie LCD*/<br />}<br />}<br />uint16_t pomiar(uint8_t kanal) {<br />ADMUX = (ADMUX &amp; 0xF8) | kanal;<br />ADCSRA |= (1 &lt;&lt; ADSC);<br />while (ADCSRA &amp; (1 &lt;&lt; ADSC))<br />;<br />return ADCW;<br />}[/syntax]<br /><br />i jestem z tego dumny <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />oczywiście wykorzystałem biblioteki MIRKA, gdybym nie trafił na jego strony i poradniki pewnie do tej pory siedział bym w Bascomie, szacun MIROSŁAW !<br />Nie wiem tylko dlaczego na terminalu zamiast kanal mam napis kakanal.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7324">Hannibal9</a> — 24 lut 2016, o 20:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2016-02-24T14:59:28+01:00</updated>
<published>2016-02-24T14:59:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154574#p154574</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154574#p154574"/>
<title type="html"><![CDATA[Re: ADC ATMega 32 pomiar napięcia na dwóch kanałach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154574#p154574"><![CDATA[
Witam<br /><a href="http://mirekk36.blogspot.com/2013/04/eclipse-wasne-skroty-wasny-szablon.html"  class="postlink">OBEJRZYJ/POSŁUCHAJ</a> - zobaczysz jakie są i jakie możesz jeszcze mieć.<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 24 lut 2016, o 14:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Hannibal9]]></name></author>
<updated>2016-02-24T10:12:57+01:00</updated>
<published>2016-02-24T10:12:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154564#p154564</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154564#p154564"/>
<title type="html"><![CDATA[Re: ADC ATMega 32 pomiar napięcia na dwóch kanałach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154564#p154564"><![CDATA[
Tzn, że źle ustawiłem prescaler <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />, teraz wszystko śmiga aż miło popatrzeć. Mam pytanie, gdzie w Eclipse są opisane skróty klawiszowe, Mirek tak szybko np &quot;remuje&quot; jakąś linię w kodzie programu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7324">Hannibal9</a> — 24 lut 2016, o 10:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2016-02-23T20:17:51+01:00</updated>
<published>2016-02-23T20:17:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154523#p154523</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154523#p154523"/>
<title type="html"><![CDATA[Re: ADC ATMega 32 pomiar napięcia na dwóch kanałach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154523#p154523"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />a przyczyna była zupełnie gdzie indziej.<br /></div><br />tzn.?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 23 lut 2016, o 20:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Hannibal9]]></name></author>
<updated>2016-02-23T17:38:43+01:00</updated>
<published>2016-02-23T17:38:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154506#p154506</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154506#p154506"/>
<title type="html"><![CDATA[Re: ADC ATMega 32 pomiar napięcia na dwóch kanałach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154506#p154506"><![CDATA[
Ale ze mnie ciemna masa <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />, działa <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 13 minutach ]</span></strong><br /><br /><div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />Robisz NAJDZIWNIEJSZĄ rzecz jaką tylko można sobie wyobrazić. Jak myślisz po co jest funkcja pomiar z parametrem arguemntem kanal ? ... a ty idziesz w jakieś maliny dodając do tej funkcji pomiar z dwóch kanałów - to kompletne nieporozumienie albo ty jeszcze nie rozumiesz jak działają funkcje z argumentami i po co są argumenty.<br /></div><br /><br /><br />Rozumiem, jak działają funkcje z argumentami, ale chciałem wypróbować to co podpowiedział mi jeden z kolegów, który napisał, że podany przez niego kod u niego działa, a u mnie nie chciał działać, a przyczyna była zupełnie gdzie indziej.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7324">Hannibal9</a> — 23 lut 2016, o 17:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-02-23T17:27:45+01:00</updated>
<published>2016-02-23T17:27:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154504#p154504</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154504#p154504"/>
<title type="html"><![CDATA[Re: ADC ATMega 32 pomiar napięcia na dwóch kanałach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154504#p154504"><![CDATA[
Robisz NAJDZIWNIEJSZĄ rzecz jaką tylko można sobie wyobrazić. Jak myślisz po co jest funkcja pomiar z parametrem arguemntem kanal ? ... a ty idziesz w jakieś maliny dodając do tej funkcji pomiar z dwóch kanałów - to kompletne nieporozumienie albo ty jeszcze nie rozumiesz jak działają funkcje z argumentami i po co są argumenty.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 23 lut 2016, o 17:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Hannibal9]]></name></author>
<updated>2016-02-23T17:11:25+01:00</updated>
<published>2016-02-23T17:11:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154503#p154503</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154503#p154503"/>
<title type="html"><![CDATA[Re: ADC ATMega 32 pomiar napięcia na dwóch kanałach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154503#p154503"><![CDATA[
Przerobiłem kod aby był jak najłatwiejszy, aby tylko odczytać 2 kanały ADC<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;LCD/lcd44780.h&quot;// w ustawieniach wyzwietlacza sprawdzic czy RW do GND czy procesora<br /><br />#define SR 8// definicja ile danych w tablicy do usredniania<br /><br />#define REF_256 (1&lt;&lt;REFS1)|(1&lt;&lt;REFS0)// makrodefinicja ustawienie napiecia odniesienia na 256<br />#define REF_VCC (1&lt;&lt;REFS0)// ustawinie napiecia odniesienia na Vcc<br />//przy zmianie napiecia odniesienia trzeba zminic we wzorze napiecie=((ADCW*50)) 25 dla REF_256 50 dla REF_VCC<br /><br /><br />void pomiar1 (void);<br /><br />uint16_t adc1,adc2;<br /><br /><br />int main(void){<br /> lcd_init();//inicjalizacja wyświetlacza<br /><br /> // inicjalizacja modulu ADC<br /> //Uruchomienie ADC, wewnętrzne napiecie odniesienia, tryb pojedynczej konwersji, preskaler 128, wejście PIN5, wynik do prawej<br />  ADCSRA =   (1&lt;&lt;ADEN) //ADEN: ADC Enable (uruchomienie przetwornika)<br />            |(1&lt;&lt;ADPS0)//ADPS2:0: ustawienie preskalera, preskaler= 128<br />            |(1&lt;&lt;ADPS1);<br /><br />  ADMUX  |=  REF_VCC;<br />//sei();//włączenie przerwań zaremowane<br />while(1){<br /><br />pomiar1();<br />lcd_cls();<br />lcd_int(adc1);<br />lcd_str(&quot;   &quot;);<br />lcd_int(adc2);<br />_delay_ms(50);// aby opoznic odswierzanie LCD*/<br />}<br />}<br /><br /><br /><br />void pomiar1 (void)<br />{<br />        ADMUX = (ADMUX &amp; 0xF8)| 3 ; // maska + właczenie PIN pomiar<br />            ADCSRA |= (1&lt;&lt;ADSC);<br />            while (ADCSRA &amp; (1&lt;&lt;ADSC));<br />            adc1 = ADCW;<br /><br />        ADMUX = (ADMUX &amp; 0xF8) | 4 ;<br />            ADCSRA |= (1&lt;&lt;ADSC);<br />            while (ADCSRA &amp; (1&lt;&lt;ADSC));<br />            adc2 = ADCW;<br />} // END pomiar[/syntax]<br /><br />Niestety nie działa, pomiar na każdym pojedynczym działa ale jak chcę uruchomić dwa to pokazuje złe odczyty. Dziwne jest to, że jeżeli w  kodzie mierzę np na kanale 2 i 3 , a potencjometry podłączę do 5 i 6 to zmieniając rezystancję a więc napięcie na wejściu 5 i 6 zmieniają mi się odczyty odczytane z kanału 2 i  3. Czy ktoś mógłby wrzucić to u siebie i sprawdzić czy działa, bo juz nie wiem co mam robić może coś z procesorem jest nie tak, choć każdy kanał pojedynczo działa.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7324">Hannibal9</a> — 23 lut 2016, o 17:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Hannibal9]]></name></author>
<updated>2016-02-22T22:17:00+01:00</updated>
<published>2016-02-22T22:17:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154459#p154459</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154459#p154459"/>
<title type="html"><![CDATA[Re: ADC ATMega 32 pomiar napięcia na dwóch kanałach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154459#p154459"><![CDATA[
Nie muszę odczytywać w przerwaniu, powalczę jutro z tym.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7324">Hannibal9</a> — 22 lut 2016, o 22:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-02-22T21:56:31+01:00</updated>
<published>2016-02-22T21:56:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154455#p154455</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154455#p154455"/>
<title type="html"><![CDATA[Re: ADC ATMega 32 pomiar napięcia na dwóch kanałach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154455#p154455"><![CDATA[
Można i w przerwaniu <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> no ale nie wszystkie kanały naraz w jednym przerwaniu <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... Trzeba po kolei co przerwanie przełączać na kolejny kanał cyklicznie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 22 lut 2016, o 21:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2016-02-22T21:53:20+01:00</updated>
<published>2016-02-22T21:53:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154452#p154452</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154452#p154452"/>
<title type="html"><![CDATA[Re: ADC ATMega 32 pomiar napięcia na dwóch kanałach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154452#p154452"><![CDATA[
Witam<br />Ja dla dwóch pomiarów piszę taką funkcyjkę - nie wiem czy prawidłowo, ale działa:<br />[syntax=c]void pomiar (void)<br />{<br />ADMUX = (ADMUX &amp; 0xF8)| POMIAR_1 ; // maska + właczenie PIN pomiar<br />    ADCSRA |= (1&lt;&lt;ADSC);<br />    while (ADCSRA &amp; (1&lt;&lt;ADSC));<br />    licz_coś_tam_1 = ADC;<br /><br />ADMUX = (ADMUX &amp; 0xF8) | POMIAR_2 ;<br />ADCSRA |= (1&lt;&lt;ADSC);<br />while (ADCSRA &amp; (1&lt;&lt;ADSC));<br />licz_coś_tam_2 = ADC;<br />} // END pomiar[/syntax]<br />a wywołuję w pętli gł<br />[syntax=c]while(1)<br />{...<br />pomiar();<br />...<br />}[/syntax]<br />A musisz odczytywać w przerwaniu?<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 22 lut 2016, o 21:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Hannibal9]]></name></author>
<updated>2016-02-22T21:45:52+01:00</updated>
<published>2016-02-22T21:45:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154451#p154451</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154451#p154451"/>
<title type="html"><![CDATA[Re: ADC ATMega 32 pomiar napięcia na dwóch kanałach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154451#p154451"><![CDATA[
Czyli dać pętlę? <br />[syntax=c]while(ADCSRA&amp;(1&lt;&lt;ADSC));[/syntax]<br />W przerwaniu to nie zaszkodzi?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7324">Hannibal9</a> — 22 lut 2016, o 21:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[adamBo]]></name></author>
<updated>2016-02-22T21:37:02+01:00</updated>
<published>2016-02-22T21:37:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154448#p154448</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154448#p154448"/>
<title type="html"><![CDATA[Re: ADC ATMega 32 pomiar napięcia na dwóch kanałach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154448#p154448"><![CDATA[
Na moje wykonujesz pomiar 2-go kanału nie czekając na zakończenie pomiaru z 1- go kanału. Sprawdzaj bit ADSC (przed wykonaniem 2-go pomiaru ma być 0). Pozdrawiam <br /><br />Wysłane z mojego HTC One_M8 przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9051">adamBo</a> — 22 lut 2016, o 21:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Hannibal9]]></name></author>
<updated>2016-02-22T20:49:50+01:00</updated>
<published>2016-02-22T20:49:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154440#p154440</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154440#p154440"/>
<title type="html"><![CDATA[ADC ATMega 32 pomiar napięcia na dwóch kanałach]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14618&amp;p=154440#p154440"><![CDATA[
proszę o podpowiedź<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;LCD/lcd44780.h&quot;// w ustawieniach wyzwietlacza sprawdzic czy RW do GND czy procesora<br /><br />inline void set_kanal (uint8_t kanal){<br />ADMUX = (ADMUX &amp; 0b11111000) | kanal;<br />}<br /><br />#define REF_256 (1&lt;&lt;REFS1)|(1&lt;&lt;REFS0)// makrodefinicja ustawienie napiecia odniesienia na 256<br />#define REF_VCC (1&lt;&lt;REFS0)// ustawinie napiecia odniesienia na Vcc<br /><br /><br /><br />volatile uint16_t wynik;// volatile zmienna wynik w uzyciu w przerwaniu i w petli glownej<br />         uint16_t wynik_p;<br />         uint16_t vtab&#91;2&#93;; // tablica do wyników ADC z 4 kanalow<br /><br />int main(void){<br /> lcd_init();//inicjalizacja wyświetlacza<br /><br /><br />  ADCSRA |=   (1&lt;&lt;ADEN) // wlacz ADC<br />            |(1&lt;&lt;ADPS0)<br />            |(1&lt;&lt;ADPS1);//ADPS2:0: ustawienie preskalera, preskaler= 128<br />  ADCSRA |=   (1&lt;&lt;ADIE)|(1&lt;&lt;ADATE); //  wlaczenie przerwań<br /><br />  ADMUX  |=  REF_VCC; // napiecie odniesienia<br /><br /><br />sei();//włączenie przerwań zaremowane<br />ADCSRA|=(1&lt;&lt;ADSC);// start konwersji<br />set_kanal(1);<br />while(1){<br />       // cli(); //zatrzymanie przerwań na czas przepisywania ADC do zmiennej wynik 16 bitów<br />//wynik_p=wynik;<br />//sei();<br /><br />lcd_cls();<br />lcd_int(vtab&#91;0&#93;);<br /><br />lcd_str(&quot;  &quot;);<br /><br />lcd_int(vtab&#91;1&#93;);<br />_delay_ms(100);<br /><br />}<br />}<br /><br /><br />ISR(ADC_vect){<br /><br /><br />ADMUX=(ADMUX &amp; 0b11111000) | PC1;<br />vtab&#91;0&#93;=ADCW;<br />ADMUX=(ADMUX &amp; 0b11111000) | PC2;<br />vtab&#91;1&#93;=ADCW;<br /><br /><br /><br />}[/syntax]<br /><br />chcę uruchomić pomiar napięcia na dwóch kanałach, potencjometry podłączyłem pod PC1 i PC2 zmieniając rezystancję na PC2 zmienia mi odczyty jednocześnie vtab[0] i vatb[1], zmieniajac rezystancję na PC1 nic się nie dzieje <br />[syntax=c]ADCSRA |=   (1&lt;&lt;ADIE)|(1&lt;&lt;ADATE);[/syntax]<br />czy dobrze ustawiłem powyższe bity?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7324">Hannibal9</a> — 22 lut 2016, o 20:49</p><hr />
]]></content>
</entry>
</feed>