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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-06-26T08:48:22+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=15663&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-06-26T08:48:22+01:00</updated>
<published>2016-06-26T08:48:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15663&amp;p=162941#p162941</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15663&amp;p=162941#p162941"/>
<title type="html"><![CDATA[Re: Problem z funkcją _delay_xx]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15663&amp;p=162941#p162941"><![CDATA[
No są postępy coraz lepiej ale ...<br /><br />jedno małe albo nawet duże ale<br /><br />Co u ciebie dzieje się z tymi nawiasami klamrowymi, bo jak na to patrzę to istna masakra ... Nie wspomnę już o prawidłowych wcięciach w programie.... A uwierz mi to równie ważne jak poprzednie rzeczy, więc i tego się naucz ok. Twój obecny kod powinien wyglądać tak:<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /> <br />//--- deklaracja funkcji ---------<br />void my_delay( uint16_t ms );<br /> <br /><br />//---- główna funkcja programu<br />int main( void ) {<br /><br />DDRB |= (1&lt;&lt;PB1);// pin diody jako WYJŚCIE<br />uint8_t i;// zmienna pomocnicza do pętli<br />         <br />while(1) {<br /><br />for ( i=0 ; i &lt; 150; i++ )<br />        {<br />PORTB ^= (1&lt;&lt;PB1);// zmieniamy stan diody na przeciwny<br /> <br />if(i&lt;75) {<br />my_delay( i );<br />            }<br />else my_delay(150-i);<br /> <br />        }<br />}<br />}<br /><br /><br />//--- definicja funkcji ---------<br />void my_delay( uint16_t ms ) {<br />while( ms-- ) _delay_ms(1);<br />}[/syntax]<br /><br />zwróć DOBRZE uwagę jakie są zmiany w kodzie <span style="color: #0080FF">(szczególnie na wszystkie odstępy, spacje - no różnice z tym co ty pokazałeś)</span>, żebyś nie robił takiej masakry. Inne babole stylu programowania to np, używaj przesunięć ... o ile dobrze zrobiłeś tu:<br /><br />[syntax=c]DDRB |= (1&lt;&lt;PB1);[/syntax]<br /><br /><br />to już tu odstawiłeś kiszkę<br /><br />[syntax=c]PORTB ^= 0x02; // MASAKRA[/syntax]<br /><br />funkcje pisz POD główną funkcją main(), a nad nią umieszczaj tylko deklaracje funkcji ... zresztą zobacz kod który dla ciebie poprawiłem i zrozum, że to bardzo ważne wskazówki<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 26 cze 2016, o 08:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mr_arczi]]></name></author>
<updated>2016-06-26T07:11:55+01:00</updated>
<published>2016-06-26T07:11:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15663&amp;p=162939#p162939</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15663&amp;p=162939#p162939"/>
<title type="html"><![CDATA[Re: Problem z funkcją _delay_xx]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15663&amp;p=162939#p162939"><![CDATA[
Dziękuje za odpowiedź . <br />Korzystam oczywiście z Eclipsa Marsa zainstalowanego według bloga . <br />Do tej pory przeglądałem różne źródła na temat programowania ATMegi stąd wzięła się definicja taktowania w kodzie programu .<br />Typ int na sztywno to faktycznie zły nawyk który już szybko zmieniam . <br />Oczywiście postanowiłem jeszcze raz posprawdzać ustawienia Fusów ( chociaż we fusach uproszczonych dużo ich nie pozmieniałem ) . <br />Jeszcze raz sprawdziłem deklaracje procesora w projekcie . Przerobiłem troszkę program i wualaaaaaa  działa:) Oczywiście <br />kolejne kroki zmotywowały mnie do tego a żeby dioda migała na zmianę raz szybciej raz wolniej i płynnie przechodziła ze swojego stanu . <br /><br />Mój kod : <br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />void my_delay( uint16_t ms ){<br />while( ms-- ) _delay_ms(1);}<br /><br />int main( void ){<br />uint8_t i;<br /><br />DDRB |= (1&lt;&lt;PB1);<br />while(1){<br />for ( i=0 ; i &lt; 150; i++)<br />        {<br />PORTB ^=0x02 ;<br /><br />if(i&lt;75){<br />my_delay(i);<br />        }<br />else<br />my_delay(150-i);<br /><br />        }}}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14307">mr_arczi</a> — 26 cze 2016, o 07:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-06-25T13:22:03+01:00</updated>
<published>2016-06-25T13:22:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15663&amp;p=162926#p162926</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15663&amp;p=162926#p162926"/>
<title type="html"><![CDATA[Re: Problem z funkcją _delay_xx]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15663&amp;p=162926#p162926"><![CDATA[
<div class="quotetitle">mr_arczi napisał(a):</div><div class="quotecontent"><br />A co mam nie tak w kodzie ?<br /></div><br />proszę bardzo pierwszą rzecz - mega babola już ci zaznaczyłem na czerwono w pierwszym poście<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />poza tym ten kod z pierwszego postu nawet nie może działać bo zrobiłeś pomieszanie z poplątaniem np ... dałeś funkcję mdelay wewnątrz ciała funkcji main - no to nawet nie może się skompilować a ty piszesz że niby miga ze stałą częstotliwością jakąś <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 4 minutach ]</span></strong><br /><br />Kolejna rzecz po której widać, że do tej pory nadużywałeś tylko arduino to niestety taka pozostałość przykra wtedy zostaje, i ludzie na oślep bez zrozumienia typów - wszędzie dają int<br /><div class="quotetitle">mr_arczi napisał(a):</div><div class="quotecontent"><br /><strong><span style="color: #FF0000">int </span></strong>i;<br /></div><br /><br />nawet gdy zmienna ma później przyjmować wartość max 9<br /><div class="quotetitle">mr_arczi napisał(a):</div><div class="quotecontent"><br />for ( i=0 ; <strong><span style="color: #FF0000">i &lt; 10</span></strong>; i++)<br /></div><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 6 minutach ]</span></strong><br /><br />do tego pewnie nie ustawiłeś fusebitów w procku i do tego jeśli nie korzystasz z Eclipse tylko np kociego Atmel Studio to idę o zakład , że nie ustawiłeś w projekcie prawidłowo F_CPU (widać to właśnie po tym, że nieudolnie próbujesz to w kodzie zrobić) .... zostaw Atmel Studio i zobacz sobie DOKŁADNIE to:<br /><br /><!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/2015/07/eclipse-start-plus-pierwszy-program.html" >http://mirekk36.blogspot.com/2015/07/ec ... ogram.html</a><!-- m --><br /><br />a zobaczysz, że ci w końcu wyjdzie i zacznie migać<br /><br />Oczywiście BB to podstawa - poczytaj ją koniecznie - żebyś pisał kod od początku ze zrozumieniem a nie na zasadzie zgaduj zgadula albo - że coś gdzieś tam w necie było i próbuję podobnie ... bo to wtedy zwykle tak jest, że &quot;nie wychodzi&quot;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 25 cze 2016, o 13:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mr_arczi]]></name></author>
<updated>2016-06-25T13:13:50+01:00</updated>
<published>2016-06-25T13:13:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15663&amp;p=162925#p162925</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15663&amp;p=162925#p162925"/>
<title type="html"><![CDATA[Re: Problem z funkcją _delay_xx]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15663&amp;p=162925#p162925"><![CDATA[
Dzięki .Zatem pierwszy problem już rozwiązany i BB zakupiony . <br />A co mam nie tak w kodzie ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14307">mr_arczi</a> — 25 cze 2016, o 13:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2016-06-25T13:04:24+01:00</updated>
<published>2016-06-25T13:04:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15663&amp;p=162924#p162924</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15663&amp;p=162924#p162924"/>
<title type="html"><![CDATA[Re: Problem z funkcją _delay_xx]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15663&amp;p=162924#p162924"><![CDATA[
BB ? <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br />tylko tu: <a href="https://www.sklep.atnel.pl/pl/p/KSIAZKA-I-wydanie-2/75"  class="postlink">https://www.sklep.atnel.pl/pl/p/KSIAZKA-I-wydanie-2/75</a><br /> <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=11549">Daro69</a> — 25 cze 2016, o 13:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mr_arczi]]></name></author>
<updated>2016-06-25T12:46:46+01:00</updated>
<published>2016-06-25T12:46:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15663&amp;p=162920#p162920</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15663&amp;p=162920#p162920"/>
<title type="html"><![CDATA[Problem z funkcją _delay_xx]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15663&amp;p=162920#p162920"><![CDATA[
Witam <br />Na wstępie chciałbym powitać wszystkich na forum i oznajmić, że stawiam pierwsze kroki .<br />Zakupiłem niedawno płytkę stykową z atmegą 8 , diodami rezystorami , przyciskami itd itp. <br />Prześledziłem poradniki na youtube i zacząłem powoli stawiać pierwsze kroki w programowaniu . <br />Otóż jak każdy początkujący mam podłączony do procesora programator oraz diodę . <br />Podstawowe programy typu zapal i zgaś diodę potrafię napisać, natomiast założyłem sobie że<br />chciałbym aby moja dioda migała z przyśpieszeniem bądź opóźnieniem tzn . pierwszy delay 100 ms <br />drugi 200 ms 3ci - 300 ms itd . Doczytałem o zakresie argumentu funkcji czyli 262,14 ms oraz o tym <br />że argument musi być stały . Mój kod źródłowy wygląda następująco : <br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;[/syntax]<br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br /><strong><em><span style="color: #FF0000">#define F_CPU1000000 &lt;---- ZAPAMIĘTAJ jedno, tego NIGDY NIE USTAWIAMY W KODZIE - mirekk36</span></em></strong><br /></div><br />[syntax=c]int main( void ){<br />int i;<br /><br />DDRB |= (1&lt;&lt;PB1);<br /><br /><br />void my_delay( uint16_t ms )<br />{<br />while( ms-- ) _delay_ms(1);<br />}<br />for ( i=0 ; i &lt; 10; i++)<br />        {<br />           PORTB ^=0x02 ;<br />           my_delay_ms(i*100);<br />        }<br /><br />}[/syntax]<br />Problem tkwi w tym że dioda mruga ze stałą częstotliwością . <br /><br />Ps. Słyszałem również o BB i właśnie chce się wesprzeć wiedzą tam zawartą tylko chciałem dopytać zaawansowanych <br />     gdzie mogę ją dostać w najpewniejszej formie i najszybciej . Pytam bo ostatnio na allegro spotykam sprzedawców którzy <br />     wysyłają towar po 10 dniach <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> .<br /><br />Ps. Dzięki za odpowiedzi z góry i prosiłbym o wyrozumiałość w lakonicznych pytaniach  . <br />     Dzięki Artek .<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14307">mr_arczi</a> — 25 cze 2016, o 12:46</p><hr />
]]></content>
</entry>
</feed>