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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-02-16T15:15:29+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=17632&amp;mode</id>
<entry>
<author><name><![CDATA[Jaglarz]]></name></author>
<updated>2017-02-16T15:15:29+01:00</updated>
<published>2017-02-16T15:15:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17632&amp;p=182797#p182797</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17632&amp;p=182797#p182797"/>
<title type="html"><![CDATA[Re: komunikacja UDP z książki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17632&amp;p=182797#p182797"><![CDATA[
A wartość napięcia sprawdziłeś? To podstawa.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=471">Jaglarz</a> — 16 lut 2017, o 15:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[eMCe2]]></name></author>
<updated>2017-02-16T08:49:36+01:00</updated>
<published>2017-02-16T08:49:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17632&amp;p=182774#p182774</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17632&amp;p=182774#p182774"/>
<title type="html"><![CDATA[Re: komunikacja UDP z książki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17632&amp;p=182774#p182774"><![CDATA[
Szczerze przyznam że ja wręcz jestem pewien, że problem jest w zasilaniu. Cały układ składa się z gotowych modułów. Wszystko z ebaya: arduino nano m328p 16mhz, ENC28J60 i modulik do zasilania płytek prototypowych jako zasilanie, a całość zasilana z chińskiej ładowarki do telefonu. Nie wspominałem o tym bo wiem jakie tu jest nastawienie do takich produktów, i wiem też że to w tym jest problem. Na dodatek całość połączona kabelkami do prototypowania. To jest bardzo doraźne rozwiązanie więc się tu zbytnio nad HW nie skupiałem. I jak mówię jestem 100% pewien że to HW jest problemem. W moim pytaniu chodziło bardziej o to czy jestem w stanie w programie jakoś zbadać że ENC straciło kontakt i na tej podstawie zresetować procka watchdogiem. A czy on się będzie resetował co 10min czy co 5h to mi to nie robi różnicy. Byle to się robiło automatycznie a nie przez moje ręce <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=1363">eMCe2</a> — 16 lut 2017, o 08:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[yaiba83]]></name></author>
<updated>2017-02-15T21:29:31+01:00</updated>
<published>2017-02-15T21:29:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17632&amp;p=182751#p182751</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17632&amp;p=182751#p182751"/>
<title type="html"><![CDATA[Re: komunikacja UDP z książki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17632&amp;p=182751#p182751"><![CDATA[
Mógłbyś bardziej opisać projekt sprzętowo, bo raczej w nim jest problem.<br />ENC28J60 to Mirkowy, z allegro, własnej roboty?<br />Jakimi napięciami zasilasz układ, jakimi procka, jakie taktowanie procka, dokładny typ procka?<br /><br />Niestety te układy są wrażliwe na wszelkie nieprawidłowości, więc aby dobrze działały wszystko musi być odpowiednio dobrane i zestawione.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2332">yaiba83</a> — 15 lut 2017, o 21:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[eMCe2]]></name></author>
<updated>2017-02-15T14:41:00+01:00</updated>
<published>2017-02-15T14:41:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17632&amp;p=182709#p182709</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17632&amp;p=182709#p182709"/>
<title type="html"><![CDATA[komunikacja UDP z książki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17632&amp;p=182709#p182709"><![CDATA[
Czesc<br />Wykorzystałem sobie przykład z ksiązki do zdalnego wysterowywania elektrorygli w drzwiach w firmie. Postawiłem serwerek UDP, mam aplikację kliencie na PC + android. Kodu nie wrzucam bo to właściwie poza kosmetyką przykład z książki. Zmieniłem sobie IP, dodałem Timery programowe dwa i flagi żeby jak więcej osób naraz wyśle komende nie otwierać drzwi przez kilka minut.<br /><br />Oto moje zmiany:<br />[syntax=c]void parse_set_led(char * buf) {<br />char *wsk;<br />uint8_t nr_led, led_on;<br /><br />wsk = strtok_r(NULL, sep, &amp;buf);<br />if( wsk ) {<br />nr_led = atoi(wsk);<br />wsk = strtok_r(NULL, sep, &amp;buf);<br />if( wsk ) {<br />led_on = atoi(wsk);<br />switch( nr_led ) {<br />case 1: if(led_on &amp;&amp; flaga1==0) {LED1_ON; Relay1_delay = DEL1; flaga1 = 1;} break; <br />case 2: if(led_on &amp;&amp; flaga2==0) {LED2_ON; Relay2_delay = DEL2; flaga2 = 1;} break;<br />//case 3: if(led_on) PORTC |= (1&lt;&lt;PC7); else PORTC &amp;= ~(1&lt;&lt;PC7);break;<br />}<br />}<br />}<br />}[/syntax]<br /><br />[syntax=c]while(1){<br /> <br />    wdt_reset();<br />    <br />    UDP_EVENT(myport);<br /><br />    if(!Relay1_delay)<br />    {<br />    LED1_OFF;<br />    flaga1=0;<br />    }<br />    if(!Relay2_delay)<br />    {<br />    LED2_OFF;<br />    flaga2=0;<br />    }<br />}[/syntax]<br /><br /><br />[syntax=c]ISR(TIMER2_COMPA_vect)<br />{<br />uint16_t n,k,j;<br /><br />n = Timer1;/* 100Hz Timer1 */<br />if (n) Timer1 = --n;<br /><br />k = Relay1_delay;<br />if (k) Relay1_delay = --k;<br /><br />j = Relay2_delay;<br />if (j) Relay2_delay = --j;<br />}[/syntax]<br /><br /><br />Problem jest taki, że  moje urządzenie co jakis czas trzeba resetować bo traci komunikacje. Nie reaguje na pingi. Niestety watchdog użyty tak jak jest nie wiele się przydaje.<br />Czy mogę go użyć tak:<br /><br />[syntax=c]while(1){<br />    while(enc28j60linkup()){<br />    wdt_reset();<br />    }<br /><br />    UDP_EVENT(myport);<br /><br />    if(!Relay1_delay)<br />    {<br />    LED1_OFF;<br />    flaga1=0;<br />    }<br />    if(!Relay2_delay)<br />    {<br />    LED2_OFF;<br />    flaga2=0;<br />    }<br /><br />    }[/syntax]<br /><br />Czy dobrze myślę ze funkcja enc28j60linkup() zwraca status połączenia?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1363">eMCe2</a> — 15 lut 2017, o 14:41</p><hr />
]]></content>
</entry>
</feed>