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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-10-19T17:01:48+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=19418&amp;mode</id>
<entry>
<author><name><![CDATA[JackeyBoy]]></name></author>
<updated>2017-10-19T17:01:48+01:00</updated>
<published>2017-10-19T17:01:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19418&amp;p=197371#p197371</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19418&amp;p=197371#p197371"/>
<title type="html"><![CDATA[Re: Konwerter ADC - problem z programem [ATmega328P]]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19418&amp;p=197371#p197371"><![CDATA[
Dzięki, właśnie błądziłem w tych klamrach. Jednak Vstudio robi je na kolorowo, co jest bardziej przejrzyste. Dzięki!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14941">JackeyBoy</a> — 19 paź 2017, o 17:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2017-10-19T16:54:03+01:00</updated>
<published>2017-10-19T16:54:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19418&amp;p=197369#p197369</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19418&amp;p=197369#p197369"/>
<title type="html"><![CDATA[Re: Konwerter ADC - problem z programem [ATmega328P]]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19418&amp;p=197369#p197369"><![CDATA[
<div class="quotetitle">JackeyBoy napisał(a):</div><div class="quotecontent"><br />z jakiej racji voidy przy funkcjach zwracających wartość 2 bajtową?<br /></div><br />No fakt, nie zwróciłem uwagi na to, chyba za długo siedzę na kompie i już mi się chrzani wszystko :/<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14685">Harry</a> — 19 paź 2017, o 16:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[JackeyBoy]]></name></author>
<updated>2017-10-19T15:50:55+01:00</updated>
<published>2017-10-19T15:50:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19418&amp;p=197366#p197366</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19418&amp;p=197366#p197366"/>
<title type="html"><![CDATA[Re: Konwerter ADC - problem z programem [ATmega328P]]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19418&amp;p=197366#p197366"><![CDATA[
Okej, że dział zły, to możliwe, chociaż ostatnio z problemem pisałem tutaj, natomiast z jakiej racji voidy przy funkcjach zwracających wartość 2 bajtową?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14941">JackeyBoy</a> — 19 paź 2017, o 15:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Harry]]></name></author>
<updated>2017-10-19T15:42:28+01:00</updated>
<published>2017-10-19T15:42:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19418&amp;p=197365#p197365</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19418&amp;p=197365#p197365"/>
<title type="html"><![CDATA[Re: Konwerter ADC - problem z programem [ATmega328P]]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19418&amp;p=197365#p197365"><![CDATA[
Chyba gdzieś zgubiłeś voidy przy deklaracjach/definicjach funkcji.<br />Nie wspominając o złym dziale <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=14685">Harry</a> — 19 paź 2017, o 15:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[JackeyBoy]]></name></author>
<updated>2017-10-19T15:26:54+01:00</updated>
<published>2017-10-19T15:26:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19418&amp;p=197363#p197363</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19418&amp;p=197363#p197363"/>
<title type="html"><![CDATA[Konwerter ADC - problem z programem [ATmega328P]]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19418&amp;p=197363#p197363"><![CDATA[
Witam forumowiczów, <br /><br />Podążając za wskazówkami poradnika o przetwornikach ADC napisałem program, który uprzednio działał, natomiast po rozbiciu go na pliki źródłowe i nagłówkowe, oraz dodaniu funkcji transmisji UART program nie chce się buildować (z powodu funkcji, w których nic nie zmieniałem). Wyświetla nastepujące błędy kompilatora:<br />[syntax=c]main.c:(.text.startup.main+0x1e): undefined reference to `pomiar'<br />main.c:(.text.startup.main+0x22): undefined reference to `konwersja'[/syntax]<br /><br />Kod main: <br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 9 paź 2017<br /> *      Author: jacbi<br /> */<br /><br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;MYUART/myuart.h&quot;<br />#include &quot;LED_DISP/led_disp.h&quot;<br />//definicja funkcji pomiaru napięcia na konwerterze<br />uint16_t pomiar(uint8_t kanal);<br />uint16_t konwersja(uint16_t z);<br /><br /><br /><br />int main(void)<br />{<br /><br />//ustawienie portu ddrd jako wyjście (bez PD1)<br />DDRD|= ((LED_PIN_F1)|(LED_PIN_F3)|(LED_PIN_R1)|(LED_PIN_R2)|(LED_PIN_R3));<br />DDRB |= (LED_PIN_F2);<br />ADMUX |= (1&lt;&lt;REFS0); // źródło odniesienia - VCC<br />ADCSRA |= (1&lt;&lt;ADEN) | (1&lt;&lt;ADPS1) | (1&lt;&lt;ADPS0); //właczenie modułu ADC i ustawienie preskalera na 64<br />//osiagnięta częstotliwośc ADC 125kHz (przy 10-bit ADC potrzebne od 50kHz do 200kHz<br /><br />//inicjalizacja USART<br />void USART_Init(uint16_t boundRate);<br />while(1){<br /><br />int x;<br /><br />x=konwersja(pomiar(5));<br /><br /><br />switch(x)<br />{<br />case 3://silnik nie napędzany<br />loose();<br />break;<br />case 2://silnik jedzie w tył lvl1<br />pull1();<br />break;<br />case 1: //silnik jedzie w tył lvl2<br />pull2();<br />break;<br />case 0://silnik jedzie w tył lvl3<br />pull3();<br />break;<br />case 4://silnik jedzie w przód lvl1<br />push1();<br />break;<br />case 5://silnik jedzie w przód lvl2<br />    push2();<br />    break;<br />case 6://silnik jedzie w przód lvl3<br />    push3();<br />    break;<br />default:<br />loose();<br />    break;<br />}<br />USART_Transmit('A');<br />}<br /><br />//funkcja - pomiar adc<br />uint16_t pomiar(uint8_t kanal)<br />{<br />//ustawienie wybranego kanału ADC w rejestrze ADMUX<br />ADMUX = ((ADMUX &amp; 0xF8) | kanal);<br />//START pomiaru przez ustawienie bitu ADSC w rejestrze ADSCR<br />ADCSRA |= (1&lt;&lt;ADSC);<br />//oczekiwanie na koniec pomiaru (dopóki bit ADSC = 1)<br />while (ADCSRA &amp; (1&lt;&lt;ADSC) );<br />//po zakończeniu pomiaru, gdy bit ADSC = 0, zwrócenie wyniku w postaci<br />//16 bitowej wartości z rejestrów ADCH oraz ADCL<br />return ADCW;<br />}<br />//funkcja - konwersja ADC na zmienną z<br />uint16_t konwersja(uint16_t POT)<br />{<br />int z;<br />if (POT &gt;= 876)<br />{<br />z = 6;<br />}<br />else if(POT&gt;=730)<br />{<br />z=5;<br />}<br />else if(POT&gt;=584)<br />{<br />z = 4;<br />}<br />else if(POT&gt;=438)<br />{<br />z = 3;<br />}<br />else if(POT&gt;=292)<br />{<br />z = 2;<br />}<br /><br />else if(POT&gt;=146)<br />{<br />z = 1;<br />}<br />else<br />{<br />z=0;<br />}<br />return z;<br />}<br />}[/syntax]<br /><br />Program ma na celu zmianę stanu diod, czyli pomiar z ADC został zdyskretyzowany 7- stopniowo. Powtarzam - bez rozbicia na pliki źródłowe i dodania funkcji komunikacji kompilator widział go, jako poprawnie działający.<br /><br />Liczę na waszą odpowiedź i pomocną dłoń <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=14941">JackeyBoy</a> — 19 paź 2017, o 15:26</p><hr />
]]></content>
</entry>
</feed>