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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-11-05T18:41:01+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=3868&amp;mode</id>
<entry>
<author><name><![CDATA[kaazik89]]></name></author>
<updated>2013-11-05T18:41:01+01:00</updated>
<published>2013-11-05T18:41:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=55547#p55547</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=55547#p55547"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=55547#p55547"><![CDATA[
cały kod:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /> <br /> <br />//wyjscia<br />#define SIL_PIN1 (1&lt;&lt;PD2)<br />#define silnik_prawo PORTD &amp;= ~SIL_PIN1<br />#define silnik_stop_p PORTD |= SIL_PIN1<br />#define SIL_PIN2 (1&lt;&lt;PD4)<br />#define silnik_lewo PORTD &amp;= ~SIL_PIN2<br />#define silnik_stop_l PORTD |= SIL_PIN2<br /> <br />// wejscia<br />#define polowa (1&lt;&lt;PC5)<br />#define krancowka_otwarta (1&lt;&lt;PC3)<br />#define calosc (1&lt;&lt;PC1)<br />#define krancowka_zamknieta (1&lt;&lt;PC0)<br /> <br />typedef struct {<br /> volatile uint8_t *KPIN;<br /> uint8_t key_mask;<br /> uint8_t wait_time_s;<br /> void (*kfun1)(void);<br /> void (*kfun2)(void);<br /> uint8_t klock;<br /> uint8_t flag;<br />} TBUTTON;<br /> <br />// konfuguracja timerow programowych<br />volatile uint16_t Timer1, Timer2;<br /> <br />//zmienne sterujące<br />uint8_t program1;<br />uint8_t program2;<br />uint8_t program3;<br />uint8_t program4;<br /> <br />// własne funkcje<br />void program1(void) {<br /> <br />        program1 = 1;<br />        program2 = 0;<br />        program3 = 0;<br />        program4 = 0;<br /> <br />}<br /> <br />void program2(void) {<br /> <br />        program1 = 0;<br />        program2 = 1;<br />        program3 = 0;<br />        program4 = 0;<br /> <br />}<br /> <br />void program3(void) {<br /> <br />        program1 = 0;<br />        program2 = 0;<br />        program3 = 1;<br />        program4 = 0;<br /> <br />}<br /> <br />void program4(void) {<br /> <br />        program1 = 0;<br />        program2 = 0;<br />        program3 = 0;<br />        program4 = 1;<br /> <br />}<br /> <br /> <br />    void sekwencja1(void) {<br />             silnik_stop_l;<br />             silnik_stop_p;<br />     <br />             if (calosc) silnik_prawo;<br />     <br />     <br />            }<br />     <br />        void sekwencja2(void) {<br />     <br />            silnik_stop_p;<br />            silnik_stop_l;<br />     <br />            if (polowa) silnik_prawo;<br />     <br />        }<br />     <br />        void sekwencja3(void) {<br />             silnik_stop_p;<br />             silnik_stop_l;<br />        }<br />     <br />     <br />        void sekwencja4(void) {<br />            silnik_stop_p;<br />            silnik_lewo;<br />        }<br /><br /> <br /> <br />// funkcja obsługi klawiszy<br />void key_press( TBUTTON * btn );<br /> <br /> <br />        //definicja klawiszy<br />    TBUTTON buttons&#91;4&#93; = {<br />    { &amp;PINC, polowa, 2, program1, program1, 0,  0 }, //klawisz 1<br />    { &amp;PINC, calosc, 2, program2, program2, 0,  0 }, //klawisz 2<br />    { &amp;PINC, krancowka_otwarta, 2, program3, program3, 0,  0 }, //kranc 1<br />    { &amp;PINC, krancowka_zamknieta, 2, program4, program4, 0,  0 }, //kranc 2<br />    };<br /> <br /> <br /> <br />//------------------------------------------------------------------<br />int main(void) {<br /> <br /> PORTC |= polowa|calosc|krancowka_otwarta|krancowka_zamknieta;          // podciagamy linie wejsc do VCC<br /> DDRD |= SIL_PIN1|SIL_PIN2;     // pin silnik jako wyjscia<br /> PORTC |= SIL_PIN1|SIL_PIN2;    // wylaczamy silnik<br /> <br /> /* Timer2 – konfigurcajca silnika timerow programowych */<br /> TCCR2  |= (1&lt;&lt;WGM21);                                          // tryb pracy CTC<br /> TCCR2  |= (1&lt;&lt;CS22)|(1&lt;&lt;CS21)|(1&lt;&lt;CS20);       // preskaler = 1024<br /> OCR2  = 64;                                                            // przerwanie porownania  1 tik timera to 1 ms<br /> TIMSK  = (1&lt;&lt;OCIE2);                                           // odblokowanie przerwania CompareMatch<br /> <br /> <br /> <br /> sei();<br /> <br /> <br />           while (1) {<br />     <br />                        //sprawdzanie wciśnięcia klawiszy<br />                        uint8_t k;<br />                        for (k = 0; k &lt; 4; k++) {<br />                                key_press(&amp;buttons&#91;k&#93;);<br />                        }<br />     <br />     <br />                        if (!Timer1) { //wykonanie kroku sekwencji co 1000*1ms=1s (pod warunkiem, że zmienna sterująca jest ustawiona)<br />                                Timer1 = 1000;<br />                                if( program1 == 1 ) sekwencja1();<br />                                if(program3 ==1) sekwencja3();<br />                                if(program4 ==1) sekwencja4();<br />     <br />                         }<br />     <br />                        else  if (!Timer2) { //wykonanie kroku sekwencji co 1000*1ms=1s (pod warunkiem, że zmienna sterująca jest ustawiona)<br />                                                    Timer2 = 50;<br />                                                    if(program2 ==1) sekwencja2();<br />     <br />     <br />     <br />                }<br />               }<br />        }<br /><br /> <br /> <br /> <br /> <br /> <br /> <br />//Funcje klawiszy<br />//------------------------------------------------------------------//<br /> <br /> <br />void key_press( TBUTTON * btn ) {<br /> <br /> register uint8_t key_press = (*btn-&gt;KPIN &amp; btn-&gt;key_mask);<br /> <br /> if( !btn-&gt;klock &amp;&amp; !key_press ) {<br />  btn-&gt;klock=1;<br /> <br />  // reakcja na krotkie wcinięcie klawisza<br />  if(btn-&gt;kfun1) btn-&gt;kfun1();<br />  btn-&gt;flag=1;<br />  Timer1 = (btn-&gt;wait_time_s*1000)/10;<br /> <br /> }<br /> else if( btn-&gt;klock &amp;&amp; key_press ) {<br />  (btn-&gt;klock)++;<br />  if( !btn-&gt;klock ) {<br />   Timer1=0;<br />   btn-&gt;flag=0;<br />  }<br /> } else if( btn-&gt;flag &amp;&amp; !Timer1 ) {<br /> <br />  // reakcja na dluzsze wciniecie klawisza<br />  if(btn-&gt;kfun2) btn-&gt;kfun2();<br />  btn-&gt;flag=0;<br /> }<br /> <br />}<br /> <br />//przerwanie Timer2 CompareM<br />ISR(TIMER2_COMP_vect) {<br /> <br /> uint16_t n;<br /> <br /> n = Timer1;  /* 100Hz Timer1 */<br /> if (n) Timer1 = --n;<br /> n = Timer2;  /* 100Hz Timer2 */<br /> if (n) Timer2 = --n;<br /> <br />}[/syntax]<br /><br />Panowie to jak jest z tymi  _delay_ms ?? to jednak można dodać w tej sekwencji 4?? czy nie?  bo jak dodam to działa jak powinno ( całość) i można w dowolnym momencie przerwać to czyli rozpocząć proces &quot;połowy&quot; programu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1624">kaazik89</a> — 5 lis 2013, o 18:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2013-11-05T18:14:10+01:00</updated>
<published>2013-11-05T18:14:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=55544#p55544</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=55544#p55544"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=55544#p55544"><![CDATA[
Jeśli delay będzie w pętli głównej to oczywiście na czas tego delaya pętla będzie zablokowana bo procek będzie się kręcił w delayu. Ale przerwania będą normalnie działały.<br />Chyba, że ktoś w przerwaniu da delaya, który będzie trwał dłużej niż zgłoszenie następnego przerwania. Po wejściu w przerwanie, procek blokuje inne przerwania. I w tym czasie faktycznie zajmował by się tylko delayem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 5 lis 2013, o 18:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2013-11-05T17:57:58+01:00</updated>
<published>2013-11-05T17:57:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=55542#p55542</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=55542#p55542"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=55542#p55542"><![CDATA[
jestes pewny ?<br />nawet jak dasz delay w programach ? <br />to bedzie wykonywal pozostale czynnosci ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 5 lis 2013, o 17:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2013-11-05T17:19:28+01:00</updated>
<published>2013-11-05T17:19:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=55535#p55535</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=55535#p55535"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=55535#p55535"><![CDATA[
<div class="quotetitle">majster napisał(a):</div><div class="quotecontent"><br />tak _delay_ms(x); blokuje - zawiesza kontroler na określony czas i w tym czasie klocek nie może wykonać żadnej czynności ....<br /></div><br />W tym czasie procek może wykonywać wszystkie czynności, które są w przerwaniach bo delaye nie blokują przerwań. To tak gwoli ścisłości.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 5 lis 2013, o 17:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2013-11-05T16:46:43+01:00</updated>
<published>2013-11-05T16:46:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=55528#p55528</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=55528#p55528"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=55528#p55528"><![CDATA[
nie wiem jak deklarujesz i jak sprawdzasz<br /><br /><br />[syntax=c]if (calosc) silnik_prawo;<br /><br /><br /><br />  if (polowa) silnik_prawo;[/syntax]<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: kilkunastu sekundach ]</span></strong><br /><br />podaj caly kod<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 5 lis 2013, o 16:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kaazik89]]></name></author>
<updated>2013-11-04T22:29:26+01:00</updated>
<published>2013-11-04T22:29:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=55432#p55432</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=55432#p55432"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=55432#p55432"><![CDATA[
ok... poczytałem twoj temat, przeanalizowałem kod i zrobiłem sekwencje i sprawa wygląda tak:<br /><br />CAŁA OPERACJA<br />- ogólnie cała operacja działa jednak nie wiem jak zrobić aby po zadziałaniu krańcówki 1 nastąpiła przerwa na jakieś 7 sekund i po tym czasie silnik kręci się w drugą stronę - zrobiłem to ale bez tej pauzy. <br /><br />POŁOWA<br />- nie wiem  jak ustawić sekwencje dla przycisku 2 - połowy tej operacji - ponieważ po zalączeniu krańcówki 1 powinna się zakończyć akcja (w tym momencie co powinna być pauza przy wykonywaniu całej operacji) ale przecież w sekwencji tej krańcówki przypisałem ze po jej zadziałaniu i silnik zaczyna obracac się w drugą strone.<br /><br />i ogólnie zaraz po włączeniu układu automatycznie uP załącza obroty silnika jednocześnie lewo i prawo ( jak podłączyłem diody led zamiast mostka H obie diody świecą się jednocześnie - dopiero po wciśnięciu któregoś z przycisków zaczyna wykonywać się operacja - jak ustawić aby po załączeniu zasilania układ dopiero działał po przycisku ?<br /><br />poniżej daje to co zapisałem w sekwencji :<br />[syntax=c]void sekwencja1(void) {<br />     silnik_stop_l;<br />     silnik_stop_p;<br /><br />     if (calosc) silnik_prawo;<br /><br /><br />        }<br /><br />    void sekwencja2(void) {<br /><br />    silnik_stop_p;<br />    silnik_stop_l;<br /><br />    if (polowa) silnik_prawo;<br /><br />    }<br /><br />    void sekwencja3(void) {<br />     silnik_stop_p;<br /> silnik_stop_l;<br />    }<br /><br /><br />    void sekwencja4(void) {<br />    silnik_stop_p;<br />    silnik_lewo;<br />    }[/syntax]<br /><br />oczywiście jeżeli źle zapisałem sekwencje to proszę o zwrócenie uwagi,<br /><br />to co ustawiłem w timerach:<br />[syntax=c]while (1) {<br /><br />                    //sprawdzanie wciśnięcia klawiszy<br />                    uint8_t k;<br />                    for (k = 0; k &lt; 4; k++) {<br />                            key_press(&amp;buttons&#91;k&#93;);<br />                    }<br /><br /><br />                    if (!Timer1) { //wykonanie kroku sekwencji co 1000*1ms=1s (pod warunkiem, że zmienna sterująca jest ustawiona)<br />                            Timer1 = 1000;<br />                            if( program1 == 1 ) sekwencja1();<br />                            if(program3 ==1) sekwencja3();<br />                            if(program4 ==1) sekwencja4();<br /><br />                     }<br /><br />                    else  if (!Timer2) { //wykonanie kroku sekwencji co 1000*1ms=1s (pod warunkiem, że zmienna sterująca jest ustawiona)<br />                                                Timer2 = 50;<br />                                                if(program2 ==1) sekwencja2();<br /><br /><br /><br />            }<br />           }<br />    }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1624">kaazik89</a> — 4 lis 2013, o 22:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2013-10-30T14:38:01+01:00</updated>
<published>2013-10-30T14:38:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54805#p54805</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54805#p54805"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54805#p54805"><![CDATA[
tak _delay_ms(x); blokuje - zawiesza kontroler na określony czas i w tym czasie klocek nie może wykonać żadnej czynności ....<br /><br />jeżeli dadal masz problem z uzupełnieniem mojego kodu i nie działa ci prawidłowo bądź używasz delay to pisz śmiało<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 9 minutach ]</span></strong><br /><br />A i jeżeli masz nadal problem z kodem polecam ten temat ... <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Tam wałkowałem coś podobnego ... ale tobie się na pewno przyda przeczytaj wszystkie strony a zrozumiesz działanie tego co ci dałem wcześniej.<br /><br /><a href="http://forum.atnel.pl/topic3887.html"  class="postlink">http://forum.atnel.pl/topic3887.html</a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 30 paź 2013, o 14:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kaazik89]]></name></author>
<updated>2013-10-30T08:31:59+01:00</updated>
<published>2013-10-30T08:31:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54780#p54780</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54780#p54780"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54780#p54780"><![CDATA[
tak, teraz jest wszystko jaśniejsze... a co do przycisków to wiedziałem jak działają tylko chodziło mi o to dlaczego nie może to być rozwiązane w taki sposób jak ja zaproponowałem ,ale teraz już rozumiem ze chodziło o _delay'e.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1624">kaazik89</a> — 30 paź 2013, o 08:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2013-10-30T07:21:31+01:00</updated>
<published>2013-10-30T07:21:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54778#p54778</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54778#p54778"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54778#p54778"><![CDATA[
A czy po mojej odpowiedzi zrozumiales dzialanie przyciskow? Oraz do czego sa programy i sekwencje?<br /><br />Wysłane z Tapatalk2 [url='http://tapatalk.com/m?id=10']now Free[/url]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 30 paź 2013, o 07:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-10-30T03:12:29+01:00</updated>
<published>2013-10-30T03:12:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54775#p54775</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54775#p54775"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54775#p54775"><![CDATA[
<div class="quotetitle">kaazik89 napisał(a):</div><div class="quotecontent"><br />Myli sie Pan Panie Mirku...<br /></div><br /><br />Dlatego zaznaczyłem, że może się mylę - wolałbym zresztą się mylić w tej sprawie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 paź 2013, o 03:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kaazik89]]></name></author>
<updated>2013-10-29T23:04:21+01:00</updated>
<published>2013-10-29T23:04:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54763#p54763</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54763#p54763"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54763#p54763"><![CDATA[
Myli sie Pan Panie Mirku... <br />Chce zrobić projekt i dlatego założyłem ten temat... zostało mi powiedziane co mam zrobic od czego zacząć i to robiłem.<br />Napisałem swoj kod z pomocą innych kolegów ale nie działał jak powinien - dlatego zadałem pytanie co zrobić aby zadziałał bo gdybym wiedział sam i doskonale znał jezyk C ,a nie siedział i sie głowił nad tym to bym nawet tutaj nie zaczynał. Ale chyba od tego jest to forum ?? aby zadawać pytania nawet jeśli dla innych są one banalne. <br />Majster czytałem twój kod linijka po linijce i probowałem zrozumieć- jezeli nie byłem pewien czegoś to otwierałem książkę i sprawdzałem z książką. <br />Dopisałem swoją instrukcje w miejscach które myslałem ze są odpowiednie - i jednak układ działał wiec wydaje mi sie że co jak co ale bezmyślnie tego nie robiłem.<br />Sam napisałeś:<br /><div class="quotetitle">majster napisał(a):</div><div class="quotecontent"><br />podaj teraz ... zobacze ... obadam ... zaznajomie sie ... zobacze czy dobrze idziesz ... nie wstydz sie ... ja tez sie wstydze a mimo tego zadaje glupie pytania bardzo czesto <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /></div><br /><br />Dlatego myślałem że mogę napisać tutaj swoje zapytania jeżeli mam chociaż najmniejsze wątpliwości a nawet głupie pytania.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1624">kaazik89</a> — 29 paź 2013, o 23:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-10-29T10:16:06+01:00</updated>
<published>2013-10-29T10:16:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54693#p54693</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54693#p54693"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54693#p54693"><![CDATA[
<div class="quotetitle">majster napisał(a):</div><div class="quotecontent"><br />i trenować zapisać tę moją minimalną i maksymalną temperaturę<br /></div><br /><br />No właśnie potrenować - to ważne - ale oczywiście jeśli tylko nasuną ci się jakieś pytania to wal śmiało jak w dym ... chętnie pomogę i doprecyzuję to co ew jest jeszcze niejasne.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 29 paź 2013, o 10:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2013-10-29T09:53:18+01:00</updated>
<published>2013-10-29T09:53:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54685#p54685</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54685#p54685"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54685#p54685"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />To jest dosyć TRAFNE podsumowanie ... ja też widzę w całym tym wątku, że kolega kazik chyba nie za bardzo ma na celu nauczenie się C - tylko na szybko zrobienie jakiegoś tam projektu - a jakim sposobem ? to chyba mało ważne ....<br /><br />zero własnych ćwiczeń jeśli chodzi o podstawy C ... tylko wciąż pytanie dlaczego kod nie działa? i co można zmienić żeby działał ? ... myślę że nie tędy droga.<br /></div><br /><br /><br />Myślę że po moich wyjaśnieniach  w punktach  1 do 3 powinien sobie poradzić ... ja też się uczę aktualnie oglądam twoje wideo o eepromie ... 1 raz mało zrozumiałem więc zaczynam 2 raz oglądać i bardziej się skupić na tym co mówisz ... i trenować zapisać tę moją minimalną i maksymalną temperaturę <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 29 paź 2013, o 09:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-10-29T09:48:39+01:00</updated>
<published>2013-10-29T09:48:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54684#p54684</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54684#p54684"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54684#p54684"><![CDATA[
<div class="quotetitle">majster napisał(a):</div><div class="quotecontent"><br />4. Nie jest poprawne po co do timerów dodajesz delay, i wg mnie nie ma prawa działać poprawnie więc sądzę że nie wpompowałeś programu do klocka a jedziesz na sposób gotowego rozwiązanie bez trenowania i próbowania własnymi siłami. Też często pytam chłopaków co i jak dlaczego tak a nie inaczej ale mam już jakieś swoje założenia swój kod który ma bubla i wtedy mnie prostują ty nawet nie starasz się przeczytać tego co jest w opisach kodu<br /></div><br /><br />To jest dosyć TRAFNE podsumowanie ... ja też widzę w całym tym wątku, że kolega kazik chyba nie za bardzo ma na celu nauczenie się C - tylko na szybko zrobienie jakiegoś tam projektu - a jakim sposobem ? to chyba mało ważne ....<br /><br />zero własnych ćwiczeń jeśli chodzi o podstawy C ... tylko wciąż pytanie dlaczego kod nie działa? i co można zmienić żeby działał ? ... myślę że nie tędy droga.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 29 paź 2013, o 09:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2013-10-29T09:38:55+01:00</updated>
<published>2013-10-29T09:38:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54682#p54682</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54682#p54682"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54682#p54682"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Tytuł wiadomości: do sterowania silnikami<br />Od: kaazik89<br />Wysłano: dzisiaj, o 00:10<br />Do: majster  <br /><br /><br /><br />Witam,<br />Sorry ze dopiero teraz sie odzywam ale od piątku nie miałem dostepu do komputera...<br />pisze odnośnie kodu programu z tego tematu -&gt; topic3868-30.html<br /><br />Jedyne co udało mi się zrobić to ustawić działanie dla jednego przycisku.<br />Kod wygląda tak:<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />    #include &lt;avr/interrupt.h&gt;<br />    #include &lt;util/delay.h&gt;<br />     <br />     <br />    //wyjscia<br />    #define SIL_PIN1 (1&lt;&lt;PD2)<br />    #define silnik_prawo PORTD &amp;= ~SIL_PIN1<br />    #define silnik_stop_prawo PORTD |= SIL_PIN1<br />    #define SIL_PIN2 (1&lt;&lt;PD4)<br />    #define silnik_lewo PORTD &amp;= ~SIL_PIN2<br />    #define silnik_stop_lewo PORTD |= SIL_PIN2<br />     <br />    // wejscia<br />    #define polowa (1&lt;&lt;PC5)<br />    #define krancowka_otwarta (1&lt;&lt;PC3)<br />    #define calosc (1&lt;&lt;PC1)<br />    #define krancowka_zamknieta (1&lt;&lt;PC0)<br />     <br />    typedef struct {<br />     volatile uint8_t *KPIN;<br />     uint8_t key_mask;<br />     uint8_t wait_time_s;<br />     void (*kfun1)(void);<br />     void (*kfun2)(void);<br />     uint8_t klock;<br />     uint8_t flag;<br />    } TBUTTON;<br />     <br />    // konfuguracja timerow programowych<br />    volatile uint16_t Timer1, Timer2;<br />     <br />    //zmienne sterujące<br />    uint8_t program1;<br />    uint8_t program2;<br />    uint8_t program3;<br />    uint8_t program4;<br />     <br />    // własne funkcje<br />    void programa(void) {<br />     <br />            program1 = 1;<br />            program2 = 0;<br />            program3 = 0;<br />            program4 = 0;<br />     <br />    }<br />     <br />    void programb(void) {<br />     <br />            program1 = 0;<br />            program2 = 1;<br />            program3 = 0;<br />            program4 = 0;<br />     <br />    }<br />     <br />    void programc(void) {<br />     <br />            program1 = 0;<br />            program2 = 0;<br />            program3 = 1;<br />            program4 = 0;<br />     <br />    }<br />     <br />    void programd(void) {<br />     <br />            program1 = 0;<br />            program2 = 0;<br />            program3 = 0;<br />            program4 = 1;<br />     <br />    }<br />     <br />     <br />    void sekwencja1(void) {<br />    silnik_stop_prawo;<br />    silnik_stop_lewo;<br />     <br />    }<br />     <br />    void sekwencja2(void) {<br />    silnik_prawo;<br />     <br />    }<br />     <br />    void sekwencja3(void) {<br />      {_delay_ms(5000); silnik_lewo;}<br />    }<br />     <br />    void sekwencja4(void) {<br />    silnik_stop_lewo;<br />     <br />    }<br />     <br />     <br />    // funkcja obsługi klawiszy<br />    void key_press( TBUTTON * btn );<br />     <br />     <br />            //definicja klawiszy<br />        TBUTTON buttons&#91;4&#93; = {<br />        { &amp;PINC, polowa, 2, program1, program1, 0,  0 }, //klawisz 1<br />        { &amp;PINC, calosc, 2, program2, program2, 0,  0 }, //klawisz 2<br />        { &amp;PINC, krancowka_otwarta, 2, program3, program3, 0,  0 }, //kranc 1<br />        { &amp;PINC, krancowka_zamknieta, 2, program4, program4, 0,  0 }, //kranc 2<br />        };<br />     <br />     <br />     <br />    //------------------------------------------------------------------<br />    int main(void) {<br />     <br />     PORTC |= polowa|calosc|krancowka_otwarta|krancowka_zamknieta;          // podciagamy linie wejsc do VCC<br />     DDRD |= SIL_PIN1|SIL_PIN2;     // pin silnik jako wyjscia<br />     PORTC |= SIL_PIN1|SIL_PIN2;    // wylaczamy silnik<br />     <br />     /* Timer2 – konfigurcajca silnika timerow programowych */<br />     TCCR2  |= (1&lt;&lt;WGM21);                                          // tryb pracy CTC<br />     TCCR2  |= (1&lt;&lt;CS22)|(1&lt;&lt;CS21)|(1&lt;&lt;CS20);       // preskaler = 1024<br />     OCR2  = 64;                                                            // przerwanie porownania  1 tik timera to 1 ms<br />     TIMSK  = (1&lt;&lt;OCIE2);                                           // odblokowanie przerwania CompareMatch<br />     <br />     <br />     <br />     sei();<br />     <br />     <br />           while (1) {<br />     <br />                    //sprawdzanie wciśnięcia klawiszy<br />                    uint8_t k;<br />                    for (k = 0; k &lt; 4; k++) {<br />                            key_press(&amp;buttons&#91;k&#93;);<br />                    }<br />     <br />     <br />                    if (!Timer1) { //wykonanie kroku sekwencji co 1000*1ms=1s (pod warunkiem, że zmienna sterująca jest ustawiona)<br />                            Timer1 = 1000;<br />                                if(program1 == 0) sekwencja1();<br />                                if(program2 == 1) sekwencja2();<br />                                if(program3 == 1) sekwencja1();<br />                                if(program4 == 1) sekwencja4();<br />     <br />                    }<br />     <br />     <br />            }<br />    }<br />     <br />     <br />     <br />     <br />     <br />     <br />    //Funcje klawiszy<br />    //------------------------------------------------------------------//<br />     <br />     <br />    void key_press( TBUTTON * btn ) {<br />     <br />     register uint8_t key_press = (*btn-&gt;KPIN &amp; btn-&gt;key_mask);<br />     <br />     if( !btn-&gt;klock &amp;&amp; !key_press ) {<br />      btn-&gt;klock=1;<br />     <br />      // reakcja na krotkie wcinięcie klawisza<br />      if(btn-&gt;kfun1) btn-&gt;kfun1();<br />      btn-&gt;flag=1;<br />      Timer1 = (btn-&gt;wait_time_s*1000)/10;<br />     <br />     }<br />     else if( btn-&gt;klock &amp;&amp; key_press ) {<br />      (btn-&gt;klock)++;<br />      if( !btn-&gt;klock ) {<br />       Timer1=0;<br />       btn-&gt;flag=0;<br />      }<br />     } else if( btn-&gt;flag &amp;&amp; !Timer1 ) {<br />     <br />      // reakcja na dluzsze wciniecie klawisza<br />      if(btn-&gt;kfun2) btn-&gt;kfun2();<br />      btn-&gt;flag=0;<br />     }<br />     <br />    }<br />     <br />    //przerwanie Timer2 CompareM<br />    ISR(TIMER2_COMP_vect) {<br />     <br />     uint16_t n;<br />     <br />     n = Timer1;  /* 100Hz Timer1 */<br />     if (n) Timer1 = --n;<br />     n = Timer2;  /* 100Hz Timer2 */<br />     if (n) Timer2 = --n;<br />     <br />    }[/syntax]<br /><br /><br /><br />Teraz mam kilka pytań...<br />1) Dlaczego wykonane to jest na timerach?? czy jeden timer odpowiada ze jeden przycisk?? Spełniają one role przełącznika między sekwencjami?<br />2) Wszystkie sekwencje przypisane są do jednego przycisku, w którym miejscu zdefiniować teraz sekwencje do drugiego przycisku??<br />3) odnosnie sekcji opisanej przez Ciebie &quot;funkcje klawiszy&quot; - czy rozwiązanie które ja zaproponowałem nie jest poprawne ?<br />czyli :<br />[syntax=c]uint8_t przycisk_a (uint8_t a)<br />    {<br />            if( ! (PINC &amp; a ) )                                    <br />            {<br />                    _delay_ms(150);                        <br />                    if( ! (PINC &amp; a )) return 1;    <br />            }<br />     <br />            return 0;      <br />    }<br />    uint8_t przycisk_b (uint8_t b)<br />    {<br />            if( ! (PINC &amp; b ) )                                    <br />            {<br />                    _delay_ms(150);                        <br />     <br />                    if( ! (PINC &amp; b )) return 1;  <br />            }<br />     <br />            return 0;      <br />    }[/syntax]<br /><br /><br />4) i czy ogólnie to co ja dodałem do twojego kodu jest propawne? tzn... po zaprogramowaniu procesora działa ale czy zapis sam w sobie jest poprawny?<br /></div><br /><br /><br /><span style="font-size: 150%; line-height: normal"><strong><em>Opowiadam tutaj by pozostało to dla potomnych. Jeżeli walnąłem gdzieś babola to chłopaki na pewno mnie zaraz wyprostują.</em></strong></span><br /><br /><br /><br />Więc tak na pierwszy rzut oka nie przeczytałeś mojego kodu ani opisów ponieważ robisz wielką głupotę że przy timerach wykorzystujesz delay.<br /><br />1. Jest zrobione na timerach aby cały program działał nie blokująco ... w twoim wykonaniu praca na delay blokuje mikroklocka a ten nie może wykonać innej opcji (programu) puki nie zakończy pierwszego.<br />Tutaj że tak powiem ustawiliśmy wcześniej Timer sprzętowy na jeden &quot;tik&quot; to 1ms <br />A timer programowy (zadeklarowałem dwa aż prosi się użyć drugiego albo dodać kolejne) program = 1 a nie 0 ...<br /><br />[syntax=c]if (!Timer1) { //wykonanie kroku sekwencji co 1000*1ms=1s (pod warunkiem, że zmienna sterująca jest ustawiona)<br />                            Timer1 = 1000;<br />                                if(program1 == &#91;b&#93;1&#91;/b&#93;) sekwencja1();<br />     <br />                    }[/syntax]<br /><br />Timer programowy liczy tiki od 1000 do 0 i na nowo od 1000 do 0 daje ci to 1 sek. więc po co delay dodaj timer2 zadelkarowany już wcześniej i masz np 5 sek o tak:<br />[syntax=c]if (!Timer2) { //wykonanie kroku sekwencji co 1000*1ms=1s (pod warunkiem, że zmienna sterująca jest ustawiona)<br />                            Timer2 = 5000;<br />                                if(program4 == 1) sekwencja4();<br />     <br />                    }[/syntax]<br /><br />Teraz gdy program 4 będzie na 1 to sekwencja będzie działała co 5 sekund.<br />Natomiast gdy program 1 będzie na 1 to sekwencja 1 będzie działała co 1 sekundę.<br />Więc po co ci delaye w kodzie ? po co walić z pały mikroklocka ? i go ogłuszać jak może działać płynnie i nie blokująco ?<br /><br /><br />2.Ależ jak pisałem wyżej nie czytałeś w ogóle kodu ...<br /><br />tutaj masz sprawdzanie wciśniętego klawisza:<br />[syntax=c]//sprawdzanie wciśnięcia klawiszy<br />                    uint8_t k;<br />                    for (k = 0; k &lt; 4; k++) {<br />                            key_press(&amp;buttons&#91;k&#93;);<br />                    }[/syntax]<br /><br />co oznacza że pętla for będzie sprawdzała 4 razy czy jest wciśnięty klawisz w twoim wypadku 2 klawisze i 2 krańcówki które też są wejściami więc traktuje się je jako przycisk.<br /><br />Natomiast tutaj masz funkcję klawiszy na krótkie i długie przytrzymanie (wciśnięcie, zadziałanie) co u ciebie odpowiada to temu samemu programowi na krótkie i długie wciśnięcie:<br />[syntax=c]//definicja klawiszy<br />        TBUTTON buttons&#91;4&#93; = {<br />        { &amp;PINC, polowa, 2, program1, program1, 0,  0 }, //klawisz 1<br />        { &amp;PINC, calosc, 2, program2, program2, 0,  0 }, //klawisz 2<br />        { &amp;PINC, krancowka_otwarta, 2, program3, program3, 0,  0 }, //kranc 1<br />        { &amp;PINC, krancowka_zamknieta, 2, program4, program4, 0,  0 }, //kranc 2<br />        };[/syntax]<br /><br />Jak widzisz masz 4 przyciski np przycisk polowa ma program1  a kolejny  program1 to długie wciśnięcie klawisza.<br /><br />3. Jest poprawne ale blokujące a nie tędy droga.<br /><br />4. Nie jest poprawne po co do timerów dodajesz delay, i wg mnie nie ma prawa działać poprawnie więc sądzę że nie wpompowałeś programu do klocka a jedziesz na sposób gotowego rozwiązanie bez trenowania i próbowania własnymi siłami. Też często pytam chłopaków co i jak dlaczego tak a nie inaczej ale mam już jakieś swoje założenia swój kod który ma bubla i wtedy mnie prostują ty nawet nie starasz się przeczytać tego co jest w opisach kodu.<br /><br /><br />Przeczytaj link który ci podałem wcześniej to zrozumiesz .... te działanie ... nie czytaj tylko pierwszych 3 postów przeczytaj cały temat a będziesz wiedział o co chodzi.<br />Tutaj też nie patrz tylko na kod przeczytaj go  krok po kroku a zapewne zrozumiesz ...<br />Polecam książkę mirka która również mnie dużo pomaga.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 29 paź 2013, o 09:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2013-10-25T22:05:56+01:00</updated>
<published>2013-10-25T22:05:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54317#p54317</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54317#p54317"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54317#p54317"><![CDATA[
ale to wlasnie dzieki antystatycznemu i jego cierpliwosci mi sie tak czasem udaje <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />z wieloma peryferiami itp mam problemy ... testuje patrze ucze sie po kolei ... moze dojde do ladu i bedzie dobrze <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />bynajmniej timery nie sa dla mnei problemem dzieki  mkavrcalculator <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />btw <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> nagrales juz wideo ? jak robisz pompki w ramach odkupienia ojczyzny <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 12 minutach ]</span></strong><br /><br /><div class="quotetitle">kaazik89 napisał(a):</div><div class="quotecontent"><br />Okej... <br />Jak tylko napisze cały sprawny kod to go zamieszcze <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /></div><br /><br /><br />podaj teraz ... zobacze ... obadam ... zaznajomie sie ... zobacze czy dobrze idziesz ... nie wstydz sie ... ja tez sie wstydze a mimo tego zadaje glupie pytania bardzo czesto <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 25 paź 2013, o 22:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-10-25T21:44:59+01:00</updated>
<published>2013-10-25T21:44:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54315#p54315</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54315#p54315"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54315#p54315"><![CDATA[
<div class="quotetitle">majster napisał(a):</div><div class="quotecontent"><br />mirek dzieki za tak cieple slowa ... ja sie tez ucze<br /></div><br /><br />to nie ciepłe słowa - to czysta prawda - jestem mega zaskoczony twoimi postępami - można powiedzieć, że zjadasz tego słonia C, prawie takim tempie jak nasz słynny kolega Antystatyczny <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Niesamowicie miło się patrzy na takie postępy i to gdy ktoś je robi w butach siedmio-milowych <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 25 paź 2013, o 21:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2013-10-25T21:31:47+01:00</updated>
<published>2013-10-25T21:31:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54314#p54314</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54314#p54314"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54314#p54314"><![CDATA[
kazik podaj teraz to co masz zobacze jak napisales i ewentualnie cos poprawie<br /><br />mirek dzieki za tak cieple slowa ... ja sie tez ucze ... duzo to dla mnie znaczy <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 25 paź 2013, o 21:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kaazik89]]></name></author>
<updated>2013-10-25T21:21:56+01:00</updated>
<published>2013-10-25T21:21:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54313#p54313</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54313#p54313"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54313#p54313"><![CDATA[
Okej... <br />Jak tylko napisze cały sprawny kod to go zamieszcze <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=1624">kaazik89</a> — 25 paź 2013, o 21:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MrWeb123]]></name></author>
<updated>2013-10-25T18:31:13+01:00</updated>
<published>2013-10-25T18:31:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54293#p54293</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54293#p54293"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54293#p54293"><![CDATA[
To ja mam drobną proźbę do kolegi @kaazik89 o umieszczenie działającego kodu - pełnej wersji <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Chciałbym zobaczyć gdzie się pomyliłem, co mogłem zrobić lepiej itd porównując to do mojego czegoś... z delay'ami.<br />Bo chyba mam zaległości :/<br />Przewertuję też kod kolegi majster, może czegoś się nauczę (oprócz zapomnienia o delay'u jak samo jak zapomniałem o goto) <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br />No dobra już nie spamuję, z góry dzięki.<br /><br />Tapnięte ze smartfona <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> [url='http://tapatalk.com/m?id=10']now Free[/url]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1480">MrWeb123</a> — 25 paź 2013, o 18:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-10-25T17:15:58+01:00</updated>
<published>2013-10-25T17:15:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54286#p54286</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54286#p54286"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54286#p54286"><![CDATA[
<div class="quotetitle">kaazik89 napisał(a):</div><div class="quotecontent"><br />Jeżeli macie jakieś propozycje odnośnie tego programu to proszę je umieszczać<br /></div><br /><br />Ja proponuję ci panie Kazik ... dopytywać raczej kolegę majster czy kogokolwiek innego - jak to działa ??? żebyś zrozumiał to od podstaw a nie że skorzystasz na zasadzie gotowca, czarnej skrzynki, której działania kompletnie nie rozumiesz ...<br /><br />Akurat kolega majster podał ci hmmm majstersztyk <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> jeśli chodzi o przykład ... więc pochyl się nad nim i analizuj go do końca bo to pozwoli ci pisać tego typu kod we własnym zakresie - zamiast wciąż pytać kogoś na forum , jak napisać to czy siamto ..<br /><br />ok ? <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=54">mirekk36</a> — 25 paź 2013, o 17:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kaazik89]]></name></author>
<updated>2013-10-25T16:42:27+01:00</updated>
<published>2013-10-25T16:42:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54277#p54277</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54277#p54277"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54277#p54277"><![CDATA[
no pobawiłem się i udało mi się zrobić pełną wersje tego programu ( ze robi wszystko ), nad dalszą częścią będę się bawił jakoś na czasie... Jeżeli macie jakieś propozycje odnośnie tego programu to proszę je umieszczać <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1624">kaazik89</a> — 25 paź 2013, o 16:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2013-10-25T06:12:07+01:00</updated>
<published>2013-10-25T06:12:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54229#p54229</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54229#p54229"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54229#p54229"><![CDATA[
Tylko w sekwencjach dopisz swoje programy no i ify w if(!Timer1) timerow programowych mozesz miec wiele ja zadeklarowalem 2. <br /><br />Wroce z pracy to tez w celach nauki dopisze reszte. A ty sie tym pobaw i rozkmin to.<br /><br />Jak co to pytaj<br /><br />Wysłane z Tapatalk2 [url='http://tapatalk.com/m?id=10']now Free[/url]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 25 paź 2013, o 06:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MrWeb123]]></name></author>
<updated>2013-10-25T14:49:06+01:00</updated>
<published>2013-10-25T05:25:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54227#p54227</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54227#p54227"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54227#p54227"><![CDATA[
Niee noo BRAWO majster <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> super kod na timerach <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1480">MrWeb123</a> — 25 paź 2013, o 05:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kaazik89]]></name></author>
<updated>2013-10-25T04:15:23+01:00</updated>
<published>2013-10-25T04:15:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54224#p54224</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54224#p54224"/>
<title type="html"><![CDATA[Re: Sterowanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3868&amp;p=54224#p54224"><![CDATA[
ok, jak tylko wroce z pracy usiądę do programu który zaproponowałeś i napisze jak co działa<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1624">kaazik89</a> — 25 paź 2013, o 04:15</p><hr />
]]></content>
</entry>
</feed>