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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-12-01T00:00:59+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=30&amp;t=4971&amp;mode</id>
<entry>
<author><name><![CDATA[k_mirek]]></name></author>
<updated>2013-12-01T00:00:59+01:00</updated>
<published>2013-12-01T00:00:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4971&amp;p=59209#p59209</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4971&amp;p=59209#p59209"/>
<title type="html"><![CDATA[Re: Sklejanie programu - blad kompilacji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4971&amp;p=59209#p59209"><![CDATA[
dzieki koledzy, zgadza sie. Brakowalo klamry zamykającej. Dopiero oswajam sie z eclipse wiec nie zrozumiałem o co chodzi kompilatorowi. Kompilator jednak doskonały bo jeśli otwieram klamrę to odrazu pojawia się klamra zamykająca jednak przy operacjach typu kopiuj wklej samemu można się pogubić i szukac szukać co gdzie sie zaczyna i gdzie kończy.<br /><br />pozdrawiam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=499">k_mirek</a> — 1 gru 2013, o 00:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Juffre]]></name></author>
<updated>2013-11-30T17:23:54+01:00</updated>
<published>2013-11-30T17:23:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4971&amp;p=59169#p59169</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4971&amp;p=59169#p59169"/>
<title type="html"><![CDATA[Re: Sklejanie programu - blad kompilacji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4971&amp;p=59169#p59169"><![CDATA[
Brakuje ci } w if-ie sprawdzajacym flage sekund. Dodatkowo nie zerujesz flagi sekund i uklad nie bedzie dzialal prawidlowo<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=473">Juffre</a> — 30 lis 2013, o 17:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ringel]]></name></author>
<updated>2013-11-30T17:22:13+01:00</updated>
<published>2013-11-30T17:22:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4971&amp;p=59168#p59168</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4971&amp;p=59168#p59168"/>
<title type="html"><![CDATA[Re: Sklejanie programu - blad kompilacji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4971&amp;p=59168#p59168"><![CDATA[
Witaj, na końcu main brakuje klamry zamykającej<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=343">ringel</a> — 30 lis 2013, o 17:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[k_mirek]]></name></author>
<updated>2013-11-30T17:02:37+01:00</updated>
<published>2013-11-30T17:02:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4971&amp;p=59164#p59164</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4971&amp;p=59164#p59164"/>
<title type="html"><![CDATA[Sklejanie programu - blad kompilacji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4971&amp;p=59164#p59164"><![CDATA[
witam.<br /><br />Chciałem posklejac kod do obslugi 1wire doklanie chcodzi mi o ds18b20. Chciałem zrobic odczyt jednego czujnika, cos tam wkleilem cos wyrzuciłem jednak kompilator wyrzuca mi błąd:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">make all <br />Building file: ../main.c<br />Invoking: AVR Compiler<br />avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega32 -DF_CPU=8000000UL -MMD -MP -MF&quot;main.d&quot; -MT&quot;main.d&quot; -c -o &quot;main.o&quot; &quot;../main.c&quot;<br />../main.c: In function 'main':<br />../main.c:75: error: static declaration of '__vector_10' follows non-static declaration<br />../main.c:75: error: previous declaration of '__vector_10' was here<br />../main.c:85: error: expected declaration or statement at end of input<br />make: *** &#91;main.o&#93; Error 1<br /></div><br /><br /><br />cały kod wyglada tak:<br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 30-11-2013<br /> *      Author: AVR<br /> */<br /><br /><br />#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 /><br />#include &quot;LCD/lcd44780.h&quot;<br />#include &quot;1Wire/ds18x20.h&quot;<br /><br />void display_temp(uint8_t x);<br />void timer_init(void);<br /><br />uint8_t czujniki_cnt;/* ilość czujników na magistrali */<br />volatile uint8_t s1_flag;/* flaga tyknięcia timera co 1 sekundę */<br />volatile uint8_t sekundy;/* licznik sekund 0-59 */<br /><br />uint8_t subzero, cel, cel_fract_bits;<br /><br /><br />int main(void)<br />{<br />timer_init();<br />lcd_init();/* inicjalizacja LCD */<br /><br />/* sprawdzamy ile czujników DS18xxx widocznych jest na magistrali */<br />czujniki_cnt = search_sensors();<br /><br />DS18X20_start_meas( DS18X20_POWER_EXTERN, NULL );<br />_delay_ms(750);<br /><br />sei();/* włączamy globalne przerwania */<br /><br />lcd_locate(0,0);<br />lcd_str_P(PSTR(&quot;  T1&quot;)); /* wyświetl napisy w zerowej linii LCD */<br /><br />/* pętla nieskończona */<br />while(1)<br />{<br />if(s1_flag)<br />{<br />DS18X20_start_meas(DS18X20_POWER_EXTERN, NULL);<br />if( DS18X20_OK == DS18X20_read_meas(gSensorIDs&#91;0&#93;, &amp;subzero, &amp;cel, &amp;cel_fract_bits) )<br />display_temp(0);<br /><br />else<br />{<br />lcd_locate(1,0);<br />lcd_str(&quot; error &quot;);<br />}<br />}<br />}<br /><br />/* ================= PROCEDURA OBSŁUGI PRZERWANIA – COMPARE MATCH */<br />/* pełni funkcję timera programowego wyznaczającego podstawę czasu = 1s */<br /><br />void timer_init(void)<br />{<br />/* ustawienie TIMER0 dla F_CPU=8MHz */<br />TCCR0 |= (1&lt;&lt;WGM01);/* tryb CTC */<br />TCCR0 |= (1&lt;&lt;CS02)|(1&lt;&lt;CS00);/* preskaler = 1024 */<br />OCR0 = 1;/* dodatkowy podział przez 108 (rej. przepełnienia) */<br />TIMSK |= (1&lt;&lt;OCIE0);/* zezwolenie na przerwanie CompareMatch */<br />/* przerwanie wykonywane z częstotliwością ok 10ms (100 razy na sekundę) */<br />/* do naszych celów nie musi być to bardzo dokładne 10ms */<br /><br />}<br /><br />ISR(TIMER0_COMP_vect)<br />{<br />static uint8_t cnt=0;/* statyczna zmienna cnt do odliczania setnych ms */<br /><br />if(++cnt&gt;99) {/* gdy licznik ms &gt; 99 (minęła 1 sekunda) */<br />s1_flag=1;/* ustaw flagę tyknięcia sekundy */<br />sekundy++;/* zwiększ licznik sekund */<br />if(sekundy&gt;59) sekundy=0; /* jeśli ilość sekund &gt; 59 - wyzeruj */<br />cnt=0;/* wyzeru licznik setnych ms */<br />}<br />}[/syntax]<br /><br />natomiast czerwone krzyżyki eclipse wyskakują tutaj:<br />[syntax=c]ISR(TIMER0_COMP_vect)<br />{<br />static uint8_t cnt=0;/* statyczna zmienna cnt do odliczania setnych ms */<br /><br />if(++cnt&gt;99) {/* gdy licznik ms &gt; 99 (minęła 1 sekunda) */<br />s1_flag=1;/* ustaw flagę tyknięcia sekundy */<br />sekundy++;/* zwiększ licznik sekund */<br />if(sekundy&gt;59) sekundy=0; /* jeśli ilość sekund &gt; 59 - wyzeruj */<br />cnt=0;/* wyzeru licznik setnych ms */<br />}<br />}[/syntax]<br /><br />siedzę juz troche przy tym i nie moge jakoś tego rozkiminic choc podejrzewam ze problem jest banalnie prosty<br /><br />target hardware MCU atmega32, MCU clock 8000000Hz.<br /><br />pozdrawiam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=499">k_mirek</a> — 30 lis 2013, o 17:02</p><hr />
]]></content>
</entry>
</feed>