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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-10-28T14:31:56+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=13362&amp;mode</id>
<entry>
<author><name><![CDATA[mk89]]></name></author>
<updated>2015-10-28T14:31:56+01:00</updated>
<published>2015-10-28T14:31:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143547#p143547</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143547#p143547"/>
<title type="html"><![CDATA[Re: Funkcje w różnych plikach projektu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143547#p143547"><![CDATA[
nie wiem dlaczego przy kopiowaniu wiele znaków się nie przeniosło. W każdym bądź razie sytuację opanowałem, dzięki za uwagi.<br />Teraz borykam się z problemem LCD, jeśli możecie proszę zaglądnijcie tutaj <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic13375.html" >topic13375.html</a><!-- l --><br />pzdr<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11504">mk89</a> — 28 paź 2015, o 14:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2015-10-28T13:32:56+01:00</updated>
<published>2015-10-28T13:32:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143544#p143544</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143544#p143544"/>
<title type="html"><![CDATA[Re: Funkcje w różnych plikach projektu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143544#p143544"><![CDATA[
Brak pętli while(1)<br /><br />Namazane ze smarta.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 28 paź 2015, o 13:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[eMCe2]]></name></author>
<updated>2015-10-28T09:25:30+01:00</updated>
<published>2015-10-28T09:25:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143536#p143536</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143536#p143536"/>
<title type="html"><![CDATA[Re: Funkcje w różnych plikach projektu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143536#p143536"><![CDATA[
Wszystko pomotane ale szczególnie popatrz na linie 18 pliku dioda.c<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1363">eMCe2</a> — 28 paź 2015, o 09:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mk89]]></name></author>
<updated>2015-10-28T09:04:41+01:00</updated>
<published>2015-10-28T09:04:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143533#p143533</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143533#p143533"/>
<title type="html"><![CDATA[Re: Funkcje w różnych plikach projektu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143533#p143533"><![CDATA[
Witajcie,<br />zmagam się właśnie z tym samym zagadnieniem i dioda nie mruga.<br />Możecie powiedzieć mi co robię źle? <br /><br />dioda.h<br />[syntax]/*<br /> * dioda.h<br /> *<br /> *  Created on: 28 paź 2015<br /> *      Author: MK<br /> */<br /><br />#ifndef DIODA_H_<br />#define DIODA_H_<br /><br />void dioda(void);<br /><br />#endif /* DIODA_H_ */[/syntax]<br /><br />main.c<br />[syntax]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;dioda.h&quot;<br /><br /><br /><br />int main(void) {<br />DDRB=1;<br /><br />dioda();<br /><br /><br /><br />}[/syntax]<br /><br />dioda.c<br />[syntax]/*<br /> * dioda.c<br /> *<br /> *  Created on: 28 paź 2015<br /> *      Author: MK<br /> */<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;dioda.h&quot;<br /><br /><br />void dioda(void){<br />DDRB=1;<br />while(1){<br /><br />PORTB ^= (1&lt;&lt;PB5);<br />_delay_ms(5000);<br />}<br /><br />}[/syntax]<br /><br />Przy wklejaniu te dwa pierwsze include mi się tutaj na forum zjadają, a są one następujące:<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11504">mk89</a> — 28 paź 2015, o 09:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[eMCe2]]></name></author>
<updated>2015-10-27T12:06:32+01:00</updated>
<published>2015-10-27T12:06:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143467#p143467</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143467#p143467"/>
<title type="html"><![CDATA[Re: Funkcje w różnych plikach projektu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143467#p143467"><![CDATA[
A ja bym jeszcze wartość Timer1 zrobił jako parametr funkcji mig_led(x,y) i drugi parametr (y) który by zmieniał wartość rejestru OCRx i dawał możliwość wybrania czy ma mrugać co x sekund, milisekund itp...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1363">eMCe2</a> — 27 paź 2015, o 12:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xor]]></name></author>
<updated>2015-10-26T22:36:02+01:00</updated>
<published>2015-10-26T22:36:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143444#p143444</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143444#p143444"/>
<title type="html"><![CDATA[Re: Funkcje w różnych plikach projektu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143444#p143444"><![CDATA[
No tak, ustawienie trybu, odblokowanie przerwania, a i w przważającejliczbie przypadków (np. w przedstawionym programie) ustawienie preskalera i rejestru OCRxy wystarczy zrobić RAZ, przed wejściem do pętli głównej.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1774">xor</a> — 26 paź 2015, o 22:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Swoszaki]]></name></author>
<updated>2015-10-26T22:29:23+01:00</updated>
<published>2015-10-26T22:29:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143443#p143443</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143443#p143443"/>
<title type="html"><![CDATA[Re: Funkcje w różnych plikach projektu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143443#p143443"><![CDATA[
konfiguracje w funkcji mig_led - wydzielić do innej funkcji???<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3892">Swoszaki</a> — 26 paź 2015, o 22:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xor]]></name></author>
<updated>2015-10-26T22:20:33+01:00</updated>
<published>2015-10-26T22:20:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143442#p143442</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143442#p143442"/>
<title type="html"><![CDATA[Re: Funkcje w różnych plikach projektu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143442#p143442"><![CDATA[
<ul><li>extern volatile uint16_t Timer1; w led_mig.h niepotrzebny</li><li>brak #include &quot;led_mig.h&quot; w main.c</li><li>konfiguracje w funkcji mig_led - wydzielić do innej funkcji</li><li>#include &lt;util/delay.h&gt; w main.c niepotrzebne</li><li>makrodefinicje LED_* przenieść w led_mig.h do led_mig.c</li></ul><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1774">xor</a> — 26 paź 2015, o 22:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Swoszaki]]></name></author>
<updated>2015-10-26T22:10:08+01:00</updated>
<published>2015-10-26T22:10:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143440#p143440</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143440#p143440"/>
<title type="html"><![CDATA[Funkcje w różnych plikach projektu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13362&amp;p=143440#p143440"><![CDATA[
Witam,<br /><br />do tej pory pisałem swoje programy w main. Przyszedł czas na zoptymalizowanie swojego kodu, żeby jakoś to wyglądało. Wiem, że ten program można by napisać w kilku linijkach w mainie, ale chciałem się nauczyć na najprostszym przykładzie Program działa, co mnie bardzo cieszy, ale chciałbym poznać waszą opinię. Domyślam się, że coś tam jeszcze jest nie tak. Tylko pytanie.. co?<br /><br />main.c<br />[syntax=c]/*program dioda led migajaca co 1s*/<br /><br />#include &lt;avr/io.h&gt;/*włączenie rejestrów wejścia wyjścia*/<br />#include &lt;util/delay.h&gt;/*właczenie przerw czasowych delay*/<br />#include &lt;avr/interrupt.h&gt;<br /><br />int main(void)/*istrukcja główna programu*/<br />{/*początek instrukcji*/<br />DDRD |= (1&lt;&lt;PD7);<br />sei();<br /><br /> while(1)/*pętla główna programu*/<br />  {<br /><br />   mig_led();//wykonanie funkcji<br /><br />  }/*koniec pętli while(1)*/<br /><br />}/*koniec programu głównego*/[/syntax]<br /><br />led_mig.c<br />[syntax=c]/*<br /> * led_mig.c<br /> *<br /> *  Created on: 26-10-2015<br /> *      Author: Piotrek<br /> */<br /><br />#include &lt;avr/io.h&gt;/*włączenie rejestrów wejścia wyjścia*/<br />#include &lt;util/delay.h&gt;/*właczenie przerw czasowych delay*/<br />#include &lt;avr/interrupt.h&gt;<br /><br />#include &quot;led_mig.h&quot;<br /><br />volatile uint16_t Timer1;<br /><br />void mig_led(void)<br />{<br />if(!Timer1)//timer programowy<br />  {<br />   Timer1 = 1;<br />   LED_TOG;<br />  }<br /><br />TCCR1B |= (1&lt;&lt;WGM12);       // ustawienie trybu CTC<br />    TCCR1B |= (1&lt;&lt;CS12);        // preskaler 256<br />OCR1A = 3905;               // 1 000 000 /256 = 3906,25 co sekunde. Tryb CTC 3906-1.<br />TIMSK |= (1&lt;&lt;OCIE1A);// odblokowanie przerwania Compare Match<br /><br />}<br /><br />//procedura przerwania<br />ISR (TIMER1_COMPA_vect)<br />    {<br />     uint16_t x;<br />     x = Timer1;<br />     if (x) Timer1 = --x;<br /><br />    }[/syntax]<br /><br />led_mig.h<br />[syntax=c]/*<br /> * led_mig.h<br /> *<br /> *  Created on: 26-10-2015<br /> *      Author: Piotrek<br /> */<br /><br />#ifndef LED_MIG_H_<br />#define LED_MIG_H_<br /><br />#define LED_PIN (1&lt;&lt;PD7)/*Definicja pinu, do którego podłączona jest dioda*/<br />#define LED_ON PORTD &amp;=~LED_PIN /*makrodefinicja - załączenie diody*/<br />#define LED_OFF PORTD |= LED_PIN /*makrodefinicja - wyłączenie diody*/<br />#define LED_TOG PORTD ^= LED_PIN<br /><br />extern volatile uint16_t Timer1;<br /><br />void mig_led(void);<br /><br /><br />#endif /* LED_MIG_H_ */[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3892">Swoszaki</a> — 26 paź 2015, o 22:10</p><hr />
]]></content>
</entry>
</feed>