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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-08-02T06:21:30+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=15808&amp;mode</id>
<entry>
<author><name><![CDATA[Ghann]]></name></author>
<updated>2016-08-02T06:21:30+01:00</updated>
<published>2016-08-02T06:21:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=165237#p165237</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=165237#p165237"/>
<title type="html"><![CDATA[Re: Pomiar napięcia ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=165237#p165237"><![CDATA[
Witam Panowie po długim czasie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Ostatnio nie maiłem czasu zająć się tematem, no ale przeanalizowałem wszystkie posty wraz z notą aplikacyjną. No i cóż nagle doznałem olśnienia. Wszystko mi się zgadza i najważniejsze jest to że rozumiem co się dzieje w kodzie. Także dziękuję wszystkim no powiem za dość łopatologiczne wyjaśnienie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Czasem jest takie potrzebne <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /> Dzięki wszystkim <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=6944">Ghann</a> — 2 sie 2016, o 06:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Ghann]]></name></author>
<updated>2016-07-19T20:19:16+01:00</updated>
<published>2016-07-19T20:19:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164307#p164307</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164307#p164307"/>
<title type="html"><![CDATA[Re: Pomiar napięcia ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164307#p164307"><![CDATA[
Wszystko przeanalizuję na spokojnie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Dzięki za wszystkie wypowiedzi <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> dam znać o efektach <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=6944">Ghann</a> — 19 lip 2016, o 20:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2016-07-19T18:38:44+01:00</updated>
<published>2016-07-19T18:38:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164301#p164301</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164301#p164301"/>
<title type="html"><![CDATA[Re: Pomiar napięcia ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164301#p164301"><![CDATA[
Dodam,<br />Rejestr ADMUX : REFS1, REFS0, ADLAR, MUX4, MUX3, MUX2, MUX1, MUX0. nas interesuje ustawienie trzech ostatnich (najmłodszych).<br />binarnie :    0b-------1--------1--------1-------1-------1-------0------0------0<br /><br />ponieważ z noty wyczytamy że:<br />wyzerowanie 000 to pomiar na ADC0 (kanal 0),<br />ustawiając MUX0- czyli zapisując 001 (kanal 1)w najmłodszych bitach, mierzymy na ADC1.<br />ustawiając MUX1- czyli zapisując 010 (kanal 2) mierzymy na ADC2.<br />ustawiając MUX0 oraz MUX1- czyli zapisując 011 (kanal 3) mierzymy na ADC3. itd.<br /><br />Odpowiadając na pytanie<div class="quotetitle">Ghann napisał(a):</div><div class="quotecontent"><br />Np: 0b11111101 czyli mam zamaskowane wszystkie bity oprócz 2. Czyli kanał 2 mogę ustawić ?? Czy dwa kanały ?? nie wiem jak dokładnie to rozumieć<br /></div><br /><br />Będziesz mógł ustawiać lub zerować MUX1. czyli albo pomiar na ADC2 - przy &quot;010&quot;, albo na ADC0 -przy  &quot;000&quot;<br /><br /><div class="quotetitle">Ghann napisał(a):</div><div class="quotecontent"><br />No dobra, więc jak bym chciał ustawić kanał 1 potem 2 i na końcu 3. No bo takie mam założenie projektowe<br /></div><br /><br />pamiętając że jest jeszcze kanal 0, na ADC0.<br />kanal 1 - 001<br />kanal 2 - 010<br />kanal 3 - 011<br /><br />Z MIRKOWYM PORADNIKIEM  <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />  <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> , to chyba wszystko już będzie jasne.<br />pozdrawiam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 19 lip 2016, o 18:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2016-07-19T02:42:39+01:00</updated>
<published>2016-07-19T02:42:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164264#p164264</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164264#p164264"/>
<title type="html"><![CDATA[Re: Pomiar napięcia ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164264#p164264"><![CDATA[
Zerknij jeszcze na tabelkę ADMUX w d.s. I przyjrzyj się gdzie i jak ustawia się kanały w tym rejestrze. Mam na na myśli MUX, oraz pozostałe które maskujemy. Porównaj z naszym 11111000 i kanal.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 19 lip 2016, o 02:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-07-18T20:57:27+01:00</updated>
<published>2016-07-18T20:57:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164253#p164253</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164253#p164253"/>
<title type="html"><![CDATA[Re: Pomiar napięcia ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164253#p164253"><![CDATA[
<div style="width: 583px; height: 471px; margin: 0 auto; padding-left: 26px; padding-top: 48px; background: url('https://www.atnel.pl/download/atnel_tv.png') no-repeat;"> <strong>iframe</strong> </div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 18 lip 2016, o 20:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2016-07-18T20:10:55+01:00</updated>
<published>2016-07-18T20:10:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164251#p164251</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164251#p164251"/>
<title type="html"><![CDATA[Re: Pomiar napięcia ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164251#p164251"><![CDATA[
Witam<br />Ten zapis:<br />[syntax=c]ADMUX = (ADMUX &amp; 0b11111110) | kanal;[/syntax]<br />to z książki, czy domowym sposobem zamieniłeś 0xF8 na Twoje 0b11111110?<br />O maskowaniu bitów już trochę było, ale pokrótce przypomnę.<br />Maską jest liczba po&quot; <strong>&amp;</strong>&quot; i działa w ten sposób, że zeruje te miejsca gdzie jest zero pozostawiając w spokoju jedynki. Dalszy zapis po &quot;<strong> |</strong>&quot; w miejsca zer wpisuje jedynki lub zera w zależności co chcesz podstawić.<br />Z reguły przygotowuje się maskę &quot;uniwersalną&quot; do wszystkich Twoich założeń i powinno być 0b11111000 (0xF8) bo będziesz grzebał w ostatnich trzech bitach.<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 18 lip 2016, o 20:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2016-07-18T19:56:21+01:00</updated>
<published>2016-07-18T19:56:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164248#p164248</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164248#p164248"/>
<title type="html"><![CDATA[Re: Pomiar napięcia ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164248#p164248"><![CDATA[
Poczytaj podobny wątek:<br />[syntax=c]http://forum.atnel.pl/topic15532.html?hilit=pomiar%20adc%20kilka%20kana%C5%82%C3%B3[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 18 lip 2016, o 19:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Situs]]></name></author>
<updated>2016-07-18T19:44:46+01:00</updated>
<published>2016-07-18T19:44:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164245#p164245</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164245#p164245"/>
<title type="html"><![CDATA[Re: Pomiar napięcia ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164245#p164245"><![CDATA[
Najprosciej(moje przykłady)<br />[syntax=c]DDRD = 0b00001111 ;[/syntax]<br />równe<br />[syntax=c]DDRD = 0x0F ;[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14339">Situs</a> — 18 lip 2016, o 19:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Ghann]]></name></author>
<updated>2016-07-18T19:27:50+01:00</updated>
<published>2016-07-18T19:27:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164244#p164244</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164244#p164244"/>
<title type="html"><![CDATA[Re: Pomiar napięcia ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164244#p164244"><![CDATA[
No dobra, więc jak bym chciał ustawić kanał 1 potem 2 i na końcu 3. No bo takie mam założenie projektowe <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />Np: 0b11111101 czyli mam zamaskowane wszystkie bity oprócz 2. Czyli kanał 2 mogę ustawić ?? Czy dwa kanały ?? nie wiem jak dokładnie to rozumieć <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6944">Ghann</a> — 18 lip 2016, o 19:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2016-07-18T19:27:00+01:00</updated>
<published>2016-07-18T19:27:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164243#p164243</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164243#p164243"/>
<title type="html"><![CDATA[Re: Pomiar napięcia ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164243#p164243"><![CDATA[
Dodam jeszcze<br />chodzi o to żeby w rejestrze ADMUX, nie zmieniać nic poza MUX'ami, które są umieszczone właśnie w miejscu zer w masce.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 18 lip 2016, o 19:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ShutDownSystem]]></name></author>
<updated>2016-07-18T19:21:35+01:00</updated>
<published>2016-07-18T19:21:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164242#p164242</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164242#p164242"/>
<title type="html"><![CDATA[Re: Pomiar napięcia ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164242#p164242"><![CDATA[
Może autorowi chodziło o sam zapis liczby w postaci binarnej 0b11111110 to jest to samo co 0xFE<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4804">ShutDownSystem</a> — 18 lip 2016, o 19:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2016-07-18T19:17:19+01:00</updated>
<published>2016-07-18T19:17:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164241#p164241</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164241#p164241"/>
<title type="html"><![CDATA[Re: Pomiar napięcia ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164241#p164241"><![CDATA[
witam,<br />to jest właśnie maska.<br />powinna mieć postać 0b11111000<br />te trzy ostatnie zera to jakby prześwity w tej masce na podane przez Ciebie 101 lub 111<br />w podanym przez Ciebie przykładzie 0b11111110 maska odkrywa tylko najmłodszy bit.<br />czyli możesz ustawić<br />&quot;0&quot; - pierwszy kanał<br />&quot;1&quot; - drugi kanał<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 18 lip 2016, o 19:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Ghann]]></name></author>
<updated>2016-07-18T18:50:11+01:00</updated>
<published>2016-07-18T18:50:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164239#p164239</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164239#p164239"/>
<title type="html"><![CDATA[Pomiar napięcia ADC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15808&amp;p=164239#p164239"><![CDATA[
Witam. Jestem przy ćwiczeniu o ADC. Kod taki jak z książki:<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;LCD/lcd44780.h&quot;<br /><br /><br />#define Podswietlenie_ON PORTB |= (1&lt;&lt;PB7)<br />#define Podswietlenie_OFF PORTB &amp;= ~(1&lt;&lt;PB7)<br /><br />#define KEY1 !(PINC &amp; (1&lt;&lt;PC0))<br />#define KEY2 !(PINC &amp; (1&lt;&lt;PC1))<br /><br /><br /><br /><br /><br /><br />// typ strukturalny na potrzeby przeliczania napięć z ADC do stringów<br />// v1 - część przed przecinkiem<br />// v2 - część po przecinku<br /><br /><br />// zmienna strukturalna na potrzeby np jednego kanału<br /><br />uint16_t pomiar( uint8_t kanal );// pomiar napięcia z wybranego kanału<br /><br /><br /><br /><br />// definicje bitów odpowiedzialnych za wybór źródła odniesienia<br />#define REF_256 (1&lt;&lt;REFS1)|(1&lt;&lt;REFS0)<br />#define REF_VCC (1&lt;&lt;REFS0)<br /><br />// pomocnicze makra do obsługi LED<br />#define LED (1&lt;&lt;PC0)<br />#define LED_ON PORTB |= LED<br />#define LED_OFF PORTB &amp;= ~LED<br />#define LED_TOG PORTB ^= LED<br /><br /><br />uint8_t i;  // zmienna inkrementująca<br /><br /><br /><br /><br /><br />//********************  główna funckja programu ******************<br />int main( void ) {<br /><br />DDRB |= LED;// pin diody LED jako WYjście<br /><br /><br />DDRC &amp;= ~(1&lt;&lt;PC0);<br />DDRC &amp;= ~(1&lt;&lt;PC1);<br /><br /><br /><br /><br />// inicjalizacja ADC<br />ADCSRA |= (1&lt;&lt;ADEN); // włącz ADC<br />ADCSRA |= (1&lt;&lt;ADPS2)|(1&lt;&lt;ADPS1)|(1&lt;&lt;ADPS0); // preskaler = 128<br />ADMUX |= REF_256;// ustawiamy wewn. źr odn. 2,56V<br /><br />lcd_init();<br /><br />uint16_t wynik=0;<br />uint16_t pm=0;<br />uint16_t cz_d =0;<br />uint16_t cz_u =0;<br /><br /><br /><br /><br /><br /><br />// sei();<br />//******* główna pętla programu<br />while(1) {<br /><br />Podswietlenie_ON;<br /><br /><br />    lcd_locate(1,0);<br />    lcd_str(&quot;ADC:&quot;);<br />    lcd_locate(1,5);<br />lcd_int(pomiar( i ));// dokonujemy pomiaru na kanale PC5<br /><br /><br /><br />pm = pomiar(i);<br />wynik= pm * 25 * 2,1 ;<br />cz_d = wynik /10000;<br />cz_u = (wynik/100) % 100;<br />lcd_locate(0,0);<br />lcd_str(&quot;Napiecie:&quot;);<br />lcd_locate(0,11);<br />lcd_int(cz_d);<br />lcd_char('.');<br />lcd_locate(0,13);<br />lcd_int(cz_u);<br />lcd_locate(0,15);<br />lcd_str(&quot;V&quot;);<br /><br /><br />//PORTC &amp;= ~ 0b11011011;<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />    //lcd_int(wynik);<br />    //lcd_locate(1,13);<br />    //lcd_int(wynik);<br />// obliczenia pomocnicze do ćwiczenia<br /><br /><br /><br />LED_TOG;<br />//lcd_cls();<br />_delay_ms( 500 );<br /><br />}<br />}<br /><br /><br />// pomiar napięcia<br />uint16_t pomiar( uint8_t kanal ) {<br /><br />ADMUX = (ADMUX &amp; 0b11111110) | kanal;<br /><br />ADCSRA |= (1&lt;&lt;ADSC);  // start konwersji<br /><br />while( ADCSRA &amp; (1&lt;&lt;ADSC) );<br /><br />return ADCW;[/syntax]<br /><br />Chciałbym sprawdzać stan napięcia na 3 kanałach, tylko nie rozumiem tej funkcji:<br /><br />[syntax=c]// pomiar napięcia<br />uint16_t pomiar( uint8_t kanal ) {<br /><br />ADMUX = (ADMUX &amp; 0b11111110) | kanal;<br /><br />ADCSRA |= (1&lt;&lt;ADSC);  // start konwersji<br /><br />while( ADCSRA &amp; (1&lt;&lt;ADSC) );<br /><br />return ADCW;[/syntax]<br /><br />Dokładniej tego:<br /><br />[syntax=c]0b11111110[/syntax]<br /><br />Z poradnika Pana Mirka wyłapałem że jest to maskowanie bitów, (samo maskowanie rozumiem ale w tym przypadku nie bardzo mogę się odnaleźć). Pracuję na Atmedze 32 i zestawie ATB 1.04. Zgodnie z dokumentacją dla kanału ADC5 ostatnie bity ustawiam 101 natomiast dla kanału 7 111 dobrze to rozumiem ??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6944">Ghann</a> — 18 lip 2016, o 18:50</p><hr />
]]></content>
</entry>
</feed>