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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-02-12T17:18:20+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=5961&amp;mode</id>
<entry>
<author><name><![CDATA[maciej2014]]></name></author>
<updated>2014-02-12T17:18:20+01:00</updated>
<published>2014-02-12T17:18:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5961&amp;p=70147#p70147</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5961&amp;p=70147#p70147"/>
<title type="html"><![CDATA[Re: ATMEGA8 problem z adc]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5961&amp;p=70147#p70147"><![CDATA[
problem był z pinami 20 i 21, podłączyłem je odwrotnie. Teraz wszystko działa, choć gdy nic nie podłącze do pinu PC5 to wskazuje napięcie. Po zastosowaniu dzielnika napiącia R1=R2=~20k, dioda nie świeci bez przyłożonego napięcia. Ciekawostką jest, że wystarczy przyłożyć &quot;+&quot; baterii do PC5 i dioda już świeci (bez przyłożenia &quot;-&quot; do GND). Wielkie dzięki Panowie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2855">maciej2014</a> — 12 lut 2014, o 17:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2014-02-12T16:44:58+01:00</updated>
<published>2014-02-12T16:44:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5961&amp;p=70138#p70138</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5961&amp;p=70138#p70138"/>
<title type="html"><![CDATA[Re: ATMEGA8 problem z adc]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5961&amp;p=70138#p70138"><![CDATA[
A podłączasz to na jakimś zestawie czy na stykówce? Jeśli na stykówce to dokładnie sprawdź połączenia.<br /><br />Jak masz woltomierz to sprawdź czy na wejściu ADC zmienia się napięcie podczas kręcenia potencjometrem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 12 lut 2014, o 16:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Piotrek_P]]></name></author>
<updated>2014-02-12T16:39:27+01:00</updated>
<published>2014-02-12T16:39:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5961&amp;p=70136#p70136</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5961&amp;p=70136#p70136"/>
<title type="html"><![CDATA[Re: ATMEGA8 problem z adc]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5961&amp;p=70136#p70136"><![CDATA[
<strong>@maciej2014</strong>: 1. A co się dzieje gdy zewrzesz wejście pomiarowe do masy?<br />2. Czy masz na wejściu ADC jakiś dzielnik napięcia?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=290">Piotrek_P</a> — 12 lut 2014, o 16:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2014-02-12T16:33:21+01:00</updated>
<published>2014-02-12T16:33:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5961&amp;p=70133#p70133</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5961&amp;p=70133#p70133"/>
<title type="html"><![CDATA[Re: ATMEGA8 problem z adc]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5961&amp;p=70133#p70133"><![CDATA[
Mi ten program działa poprawnie<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />//#include &quot;mk_term.h&quot;<br /><br />//#include &quot;MYUART/myuart.h&quot;<br /><br />uint16_t pomiar( uint8_t kanal);<br /><br />#define REF_256 (1&lt;&lt;REFS1) | (1&lt;&lt;REFS0)<br />#define REF_VCC (1&lt;&lt;REFS0)<br /><br />#define LED_PIN (1&lt;&lt;PB1)<br />#define LED_ON PORTB &amp;= ~LED_PIN<br />#define LED_OFF PORTB |= LED_PIN<br />#define LED_TOG PORTB ^= LED_PIN<br /><br /><br />int main(void)<br />{<br />        //inicjalizacja adc<br />        ADCSRA |= (1&lt;&lt;ADEN); //wlacz adc<br />        ADCSRA |= (1&lt;&lt;ADPS2) | (1&lt;&lt;ADPS1) | (1&lt;&lt;ADPS0); //preskaler = 16v<br />        ADMUX |= REF_256; //ustawiamy wewn. zrodlo zasilania 2,56V<br /><br /><br />DDRB |= LED_PIN;<br />PORTB |= LED_PIN;<br /><br />uint16_t wynik=0;<br /><br />while (1)<br />{<br />wynik = pomiar( PC5 );<br /><br />if (wynik&gt;100){<br />LED_ON;<br />}else{<br />LED_OFF;<br />}<br /><br />}<br />}<br /><br />// pomiar napięcia<br />uint16_t pomiar( uint8_t kanal ) {<br /><br />ADMUX = (ADMUX &amp; 0b11111000) | kanal;<br /><br />ADCSRA |= (1&lt;&lt;ADSC);  // start konwersji<br /><br />while( ADCSRA &amp; (1&lt;&lt;ADSC) );<br /><br />return ADCW;<br />}[/syntax]<br />Ładnie włącza i wyłącza diodę podczas kręcenia potencjometrem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 12 lut 2014, o 16:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[maciej2014]]></name></author>
<updated>2014-02-12T16:00:19+01:00</updated>
<published>2014-02-12T16:00:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5961&amp;p=70126#p70126</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5961&amp;p=70126#p70126"/>
<title type="html"><![CDATA[Re: ATMEGA8 problem z adc]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5961&amp;p=70126#p70126"><![CDATA[
Niestety, dioda nadal cały czas świeci. Zmieniłem na taki i teraz miga, więc ewidentnie jest tak jakby warunek był spełniony.<br /><br />[syntax=c]if (wynik&gt;300){<br />        LED_TOG;<br />        _delay_ms(100);<br />    }else{<br />        LED_OFF;[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2855">maciej2014</a> — 12 lut 2014, o 16:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2014-02-12T15:48:32+01:00</updated>
<published>2014-02-12T15:48:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5961&amp;p=70124#p70124</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5961&amp;p=70124#p70124"/>
<title type="html"><![CDATA[Re: ATMEGA8 problem z adc]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5961&amp;p=70124#p70124"><![CDATA[
Warunek włączający diodę zmień na taki<br />[syntax=c]if (wynik&gt;100){<br />    LED_ON;<br />}else{<br />    LED_OFF;<br />}[/syntax]<br />Bo inaczej, nawet jak program będzie działał dobrze, to raz włączona dioda będzie świecić cały czas.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 12 lut 2014, o 15:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[maciej2014]]></name></author>
<updated>2014-02-12T15:15:43+01:00</updated>
<published>2014-02-12T15:15:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5961&amp;p=70121#p70121</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5961&amp;p=70121#p70121"/>
<title type="html"><![CDATA[ATMEGA8 problem z adc]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5961&amp;p=70121#p70121"><![CDATA[
Witam,<br /><br />nie mam na razie możliwości skorzystania z wyświetlacza lcd ani terminala. Zmontowałem układ tak jak w poradniku Pana Kardasia o ADC oraz napisałem ten sam program. Chciałbym jednak dokonać pewnych zmian i tu pojawia się problem. Chciałbym aby po przyłożeniu napięcia zapalała się dioda. <br /><br />Wymieniłem część kodu odpowiedzialną za wysyłanie danych do terminala:<br /><br />[syntax=c]tr_locate(3,3);<br />tr_attr(1,MAGENTA,BLACK);<br />uart_puts( &quot;wartosc adc: &quot;);<br />tr_pen_color(RED);<br />uart_putlong(wynik,10);<br />uart_puts( &quot;       &quot;);[/syntax]<br /><br />na instrukcję warunkową:<br /><br />[syntax=c]if (wynik&gt;100){<br />LED_ON;<br />}[/syntax]<br /><br />dioda jednak świeci się cały czas, bez przyłożenia jakiegokolwiek napięcia.<br /><br />Poza tym w kodzie jest jakiś błąd, obok linijki w której znajduje się fraza &quot;uart_putlong(wynik,10);&quot; wyskakuje wykrzyknik z uwagą &quot;implicit declaration of function 'uart_putlong'.<br /><br />Wrzucam kod przed dokonanymi zmianami:<br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 09-02-2014<br /> *      Author: Maciej<br /> */<br /><br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &quot;mk_term.h&quot;<br /><br />#include &quot;MYUART/myuart.h&quot;<br /><br />uint16_t pomiar( uint8_t kanal);<br /><br />#define REF_256 (1&lt;&lt;REFS1) | (1&lt;&lt;REFS0)<br />#define REF_VCC (1&lt;&lt;REFS0)<br /><br />#define LED_PIN (1&lt;&lt;PB1)<br />#define LED_ON PORTB &amp;= ~LED_PIN<br />#define LED_OFF PORTB |= LED_PIN<br />#define LED_TOG PORTB ^= LED_PIN<br /><br /><br />int main(void)<br />{<br /><br /><br />//inicjalizacja adc<br />ADCSRA |= (1&lt;&lt;ADEN); //wlacz adc<br />ADCSRA |= (1&lt;&lt;ADPS2); //preskaler = 16v<br />ADMUX |= REF_256; //ustawiamy wewn. zrodlo zasilania 2,56V<br /><br />uart_init( __UBRR );<br />    uart_puts( &quot;miernik napiecia:&quot;);<br />    tr_cls(0);<br />    _delay_ms (1000);<br />    tr_cls(1);<br /><br />DDRB |= LED_PIN;<br />PORTB |= LED_PIN;<br />uint16_t wynik=0;<br /><br />while (1)<br />{<br />wynik = pomiar( PC5 );<br /><br />tr_locate(3,3);<br />tr_attr(1,MAGENTA,BLACK);<br />uart_puts( &quot;wartosc adc: &quot;);<br />tr_pen_color(RED);<br />uart_putlong(wynik,10);<br />uart_puts( &quot;       &quot;);<br /><br /><br />}<br />}<br /><br />uint16_t pomiar( uint8_t kanal){<br />ADMUX = (ADMUX &amp; 0b11111000) | kanal;<br />ADCSRA |= (1&lt;&lt;ADSC); //start konwersji<br />while( ADCSRA &amp; (1&lt;&lt;ADSC) );<br />_delay_ms (10);<br />return ADCW;<br /><br />}[/syntax]<br /><br />Proszę o pomoc i z góry dziękuję za jakiekolwiek porady.<br /><br /><span style="color: #FF0000">Kody wklejamy przy pomocy syntax=c - Różowo-zielony (czyli sraczkowy) J.</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2855">maciej2014</a> — 12 lut 2014, o 15:15</p><hr />
]]></content>
</entry>
</feed>