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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-10-13T20:31:48+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=21200&amp;mode</id>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2018-10-13T20:31:48+01:00</updated>
<published>2018-10-13T20:31:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=212593#p212593</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=212593#p212593"/>
<title type="html"><![CDATA[Re: wifi problem z przesyłaniem danych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=212593#p212593"><![CDATA[
hej. Po dłuższej przerwie przerobiłem mój kod do połączenia ze sobą dwóch uC-ów. Wszystko odbywa się na  dwóch zestawach ATB. Teraz nie używam stykówk (nabyłem drugi zestaw ATB)i, więc mam już pewność,że połączenia są prawidłowe. W programie potrafię toglować zmienną, która przyjmuje wartość 1 lub zero i od jej wartości uzależniam włączanie diody.  zaprojektowałem sobie do tego ćwiczenia płytkę według BB, dzięki której mogę zdalnie włączać i wyłączać żarówkę podłączoną do napięcia 230V.  Fajna zabawa <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> [syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 11 paź 2018<br /> *      Author: amaru1<br /> */<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;stdlib.h&gt;<br />#include &lt;util/delay_basic.h&gt;<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;avr/eeprom.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;string.h&gt;<br />#include &lt;stdlib.h&gt;<br />#include &lt;stdio.h&gt;<br />#include &lt;avr/wdt.h&gt;<br /><br />#define LED (1&lt;&lt;PB1)<br />#define LED_ON PORTB &amp;= ~LED<br />#define LED_OFF PORTB |= LED<br />#define LED_TOG PORTB ^= LED<br /><br />#define LED1 (1&lt;&lt;PB2)//DIODA SYBLALIZUJĄCA NADCHODZĄCY SYGNAŁ RX/TX<br />#define LED1_ON PORTB &amp;= ~LED<br />#define LED1_OFF PORTB |= LED<br />#define LED1_TOG PORTB ^= LED<br /><br />#define KEY1 (1&lt;&lt;PC0)<br />#define KEY2 (1&lt;&lt;PC1)<br /><br />uint8_t key_lock;<br />uint8_t zmienna=0;<br />uint8_t toglowanie;<br /><br />void print_char(char znak); //FUNKCJA WYSYŁĄNIA I ODBIERANIA DANYCH<br /><br />int main(void)<br />{<br /><br />    PORTC |= KEY1;<br />    DDRC &amp;= ~KEY1;<br />    PORTC |= KEY2;<br />    DDRC &amp;= ~KEY2;<br /><br />    DDRB = 255;<br />    PORTB = 0xFF;<br /><br />//----------------------------------<br />UBRRL = 5; <br />UCSRB |= (1&lt;&lt;RXEN)|(1&lt;&lt;TXEN); //WŁĄCZENIE NADAJNIKA I ODBIORNIKA RX, TX<br />UCSRB |= (1&lt;&lt;RXCIE); //ODBLOKOWANIE PREZERWANIA ZAKOŃCZENIA ODBIORU<br />UCSRC |= (1&lt;&lt;URSEL)|(1&lt;&lt;UCSZ1)|(1&lt;&lt;UCSZ0);//|(3&lt;&lt;UCSZ0); //USTAWIENIE FORMATU RAMKI,8 BITÓW DANYCH,1 BIT STOPU.<br />   //USTAWIAMY URSEL NA JEDEN, PONIEWAŻ REJESTR UCSRC JEST POWIĄZANY<br /> //Z INNYM REJESTREM.<br /><br />sei(); // włącz globalną obsługę przerwań<br /><br />while(1)<br />{<br />if(toglowanie==1){<br />print_char('z');<br />}<br />if(toglowanie==0){<br />print_char('d');<br />}<br />//----------------------------------------<br />        if( !key_lock &amp;&amp; !(PINC &amp; KEY1) )//KLAWISZ PIERWSZY<br />        {<br />         key_lock=1;<br />           toglowanie ^=1;<br />        }<br />             else if( key_lock &amp;&amp; (PINC &amp; KEY1) )<br />            key_lock++;<br />//--------------------------------------------<br />     /*   if( !key_lock &amp;&amp; !(PINC &amp; KEY2) )//KLAWISZ DRUGI<br />        {<br />         key_lock=1;<br />         // reakcja na PRESS (wcinięcie przycisku)<br />          print_char('d');<br />        }<br />             else if( key_lock &amp;&amp; (PINC &amp; KEY2) )<br />            key_lock++;    */<br />//--------------------------------------------------<br />}<br /><br />}<br /><br />//CIAŁO FUNKCJI WYSYŁAINA DANYCH:<br /><br />void print_char(char znak){    //WYSYŁAMY ZNAK &quot;Z&quot;<br />if (bit_is_set(UCSRA,UDRE)){ //JEŚLI BIT JEST USTAWIONY NA JEDEN<br />UDR=znak; //WYŚLIJ ZNAK<br />loop_until_bit_is_set(UCSRA,TXC);// CZEKAMY.WYKONUJE SIĘ PĘTLĘ loop,<br /> //AŻ SŁOWO ZOSTANIE WYSŁANE.<br /> //WTEDY FLAGA MA WARTOŚC ZERO<br />}<br />}<br />//----------------------------PRZERWANIE------------------------<br />SIGNAL(USART_RXC_vect)<br />{<br />if(UDR=='z'){<br />LED_ON;<br />}<br />else {<br />LED_OFF;<br />}<br />}[/syntax]<br /><br /><br /><a href="https://obrazkiforum.atnel.pl/14082/b43f4a765a810f1be6cd653ab5afa13e.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/14082/b43f4a765a810f1be6cd653ab5afa13e.png" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/14082/e6ac1ab0f7100172b7757241501e8e9b.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/14082/e6ac1ab0f7100172b7757241501e8e9b.png" alt="Obrazek" /></a><br /><br />Zastanawiam się tylko czy mam poprawną wartość wpisaną w UBRRL = 5;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 13 paź 2018, o 20:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2018-08-31T09:25:48+01:00</updated>
<published>2018-08-31T09:25:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211203#p211203</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211203#p211203"/>
<title type="html"><![CDATA[Re: wifi problem z przesyłaniem danych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211203#p211203"><![CDATA[
Wszystkie połączenia sprawdziłem. Potrafię wysyłać stringi on off z zestawu atb do stykówki i odwrotnie. podmieniałem ze sobą moduły wifi i działają. Sprawdzałem na putty odbiór wysyłanych danych z ATB , oraz ze stykówki i wszystkie dane pięknie przechodzą. Tak więc wychodzi na to,że w programie jest jakiś babol. Od strony połączeń wszystko elegancko działa. <br />Mam ogromną prośbę o przeanalizowanie mojego kodu programu osoby bardziej doświadczone ode mnie. Ja już nie mam pomysłu , co może być źle. Może to,że jak wyślę string On, a następnie Off, to nie zapali się dioda, ponieważ może powinienem w jakiś sposób skasować string, który był odebrany wcześniej? <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;avr/eeprom.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;string.h&gt;<br />#include &lt;stdlib.h&gt;<br />#include &lt;stdio.h&gt;<br />#include &lt;avr/wdt.h&gt;<br /><br />#include &quot;MK_USART/mkuart.h&quot;<br /><br />#define LED (1&lt;&lt;PB1)<br />#define LED_ON PORTB &amp;= ~LED<br />#define LED_OFF PORTB |= LED<br />#define LED_TOG PORTB ^= LED<br /><br /><br /><br />#define LED_8_PIN (1&lt;&lt;PB7)<br />#define LED_8_ON PORTB &amp;= ~LED_8_PIN<br />#define LED_8_OFF PORTB |= LED_8_PIN<br />#define LED_8_TOG PORTB ^= LED_8_PIN<br /><br />#define KEY1 (1&lt;&lt;PC0)<br /><br />char uart_buf&#91;100&#93;;<br />uint8_t key_lock;<br />uint8_t zmienna;<br /><br />//FUNKCJE:<br />void miganie_dioda(void);<br />void analizuj_dane_rs23( char * buf );<br /><br /><br /><br /><br />volatile uint16_t Timer1 ;       /* timery programowe 100Hz */<br /><br />int main(void)<br />{<br /><br /><br />DDRB = 0xFF;// wejscie-wyjście - ustaw jako wyjście<br />PORTB = 0xFF;//podanie stanu wysokiego na PORTB - wygaszenie wszystkich diod<br /><br /><br /><br /><br />PORTC |= KEY1;<br />    DDRC &amp;= ~KEY1;<br /><br /><br />USART_Init(__UBRR );<br />    register_uart_str_rx_event_callback( analizuj_dane_rs23 );<br /><br />    // oczekiwanie na ustalenie się stanu wysokiego na wejściu klawisza<br />     _delay_ms(200);<br /><br /><br />     /* Timer2 – inicjalizacja przerwania co 10ms */<br />     TCCR2   |= (1&lt;&lt;WGM21);          // tryb pracy CTC<br />     TCCR2   |= (1&lt;&lt;CS22)|(1&lt;&lt;CS20); // preskaler = 1024<br />     OCR2    = 107;                  // przerwanie porównania co 10ms (100Hz)<br />     TIMSK   |= (1&lt;&lt;OCIE2);          // Odblokowanie przerwania CompareMatch<br /><br />     LED_ON;<br /> _delay_ms(50);<br /> LED_OFF;<br /> _delay_ms(50);<br />     LED_ON;<br /> _delay_ms(50);<br /> LED_OFF;<br /><br />   //  uart_puts( &quot;test1 \r\n&quot;);<br /><br />sei();<br />while(1)<br />{<br /> miganie_dioda();// debager- sprawdzam, czy pętla główna działa<br /> //  wifi ap czyli odbiór danych<br />UART_RX_STR_EVENT( uart_buf );<br /> //uart_puts( &quot;TEST\r\n&quot;);<br />//--------------------------------------------------------<br /><br />//obsługa klawisza<br />// gdy nacisnę klawisz, to &quot;togluję&quot; zmienną,<br />//gdy zmienna ma wartośc ==0, to wysyłam string On,<br />//gdy zmienna ma wartośc ==1, to wysyłam string Off.<br />     if( !key_lock &amp;&amp; !(PINC &amp; KEY1) )<br />     {<br />      key_lock=1;<br />      // reakcja na PRESS (wcinięcie przycisku)<br />    //  LED_TOG;// dioda debager<br />      zmienna ^= 0;<br /> if(zmienna==0){<br /> uart_puts( &quot;On&quot;);<br /> }<br /> else if(zmienna==1){<br /> uart_puts( &quot;Off&quot;);<br /> }<br />     }<br />          else if( key_lock &amp;&amp; (PINC &amp; KEY1) )<br />         key_lock++;<br />}<br /><br />}<br />// Otrzymywanie stringa<br />// gdy otrzymam po wifi string Off, to powinna się dioda wyłączyc<br />// gdy otrzymam po wifi string On, to dioda powinna się włączyc<br />void analizuj_dane_rs23( char * buf ){  // jeśli otrzymamy jakieś dane z uarta 232,<br />if(!strcmp(buf, &quot;Off&quot;)){<br />LED_OFF;//wyłącz diodę<br />}<br />if(!strcmp(buf, &quot;On&quot;)){<br />LED_ON;//włącz diodę<br />}<br /><br />}<br /><br />// funkcja debagera w pętli głównej- miganie diodą<br />void miganie_dioda(void)<br />{<br />if( !Timer1 )<br />    {<br />LED_8_TOG;<br />        Timer1=500;<br />    }<br />}<br /><br />// timer programowy odpowiedzialny za miganie diodą<br />ISR(TIMER2_COMP_vect){<br />    uint16_t n;<br /><br />    n = Timer1;             /* 100Hz Timer1 */<br />    if (n) Timer1 = --n;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 31 sie 2018, o 09:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2018-08-30T12:18:05+01:00</updated>
<published>2018-08-30T12:18:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211175#p211175</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211175#p211175"/>
<title type="html"><![CDATA[Re: wifi problem z przesyłaniem danych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211175#p211175"><![CDATA[
[syntax=c]// Otrzymywanie stringa<br />// gdy otrzymam po wifi string Off, to powinna się dioda wyłączyc<br />// gdy otrzymam po wifi string On, to dioda powinna się włączyc<br />void analizuj_dane_rs23( char * buf ){  // jeśli otrzymamy jakieś dane z uarta 232,<br />        if(!strcmp(buf, &quot;Off\r\n&quot;)){<br />                LED_OFF;                                        //wyłącz diodę<br />        }<br />        if(!strcmp(buf, &quot;On\r\n&quot;)){<br />                LED_ON;                                         //włącz diodę<br />        }<br /> <br />}[/syntax]<br />To mam jeszcze pytanie. <br />jeśłi piszę jakiś program i wykorzystuję w programie funkcję, to ciało takie funkcji piszę w odrębnym pliku, lub w tym samym, tylko na samym dole poza pętlą główną. A tylko nagłówek wpisuję w pętlę główną. a w przypadku tej funkcji, która jest wyżej, ta od porównywania stringów, to w pętli głównej nie mam wpisanej linijki takiej --&gt; analizuj_dane_rs23();<br />pisałem ten kod zgodnie z poradnikiem i teraz nie jestem pewien czy w tym miejscu się nie pomyliłem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 30 sie 2018, o 12:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-08-30T12:10:06+01:00</updated>
<published>2018-08-30T12:10:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211173#p211173</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211173#p211173"/>
<title type="html"><![CDATA[Re: wifi problem z przesyłaniem danych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211173#p211173"><![CDATA[
no widzisz jak się dzieli problemy na PÓŁ ... w 5 sekund wyeliminowałeś jedną zmienną i od razu wiadomo że masz coś skaszanione albo w programie albo ... z połączeniami na stykówce<br /><br />więc znowu na tym etapie podziel problem na DWA i znowu i znowu tak samo jak się okaże na końcu że to już tylko program - to też problem podziel na DWA <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />jak widzisz metoda działa wyśmienicie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 sie 2018, o 12:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2018-08-30T11:08:08+01:00</updated>
<published>2018-08-30T11:08:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211172#p211172</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211172#p211172"/>
<title type="html"><![CDATA[Re: wifi problem z przesyłaniem danych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211172#p211172"><![CDATA[
Ddziękuję za podpowiedź. Już się zabieram za włączenie terminala. zaraz się wyjaśni co i jak...<br />ok, zrobiłem testy z puttym i poprawiłem te dwie rzeczy , o których Pan pisał. DHCP poprawiłem i zakrez zrobiłem od 151 do 200, oraz poprawiłem bramkę. <br />taki jest wynik z putty:<br /><a href="https://obrazkiforum.atnel.pl/14082/c447cff837dfea25198de60647233378.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/14082/c447cff837dfea25198de60647233378.png" alt="Obrazek" /></a><br /><br />    Czyli odbieram string z zestawu atb i dochodzi do modułu na płytce stykowej. Sprawdzone w puttym <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Wychodzi na to,że coś mam źle w programie. sprawdzałem podłączenie na stykówce i wygląda na to,że jest ok. Pin RX z modułu wifi mam podłączony do pinu TX w uC, a pin TX z wifi mam podłączony do pinu RX w uC.  Czy może być coś nie tak z porównywaniem stringów wysyłanych i odbieranych? Może to nie będzie działać według moich założeń, czyli założyłem,że string będzie wysyłany w zależności od wartości zmiennej &quot;zmienna&quot;. Może tutaj mam coś nie halo? Z góry dziękuję za szybką pomoc. Atnel to jednak porządna firma <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 29 minutach ]</span></strong><br /><br />głupoty piszę. string dobrze jest wysyłany, bo inaczej w puttym nie były by odbierane naprzemiennie stringi On i Off (po naciśnięciu jednego klawisza)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 30 sie 2018, o 11:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-08-30T10:46:44+01:00</updated>
<published>2018-08-30T10:46:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211171#p211171</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211171#p211171"/>
<title type="html"><![CDATA[Re: wifi problem z przesyłaniem danych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211171#p211171"><![CDATA[
<div class="quotetitle">wojciechgorzolka napisał(a):</div><div class="quotecontent"><br />Tylko ,że nie wiem jaki ma być poprawny adres bramy<br /></div><br />No zawsze w ciemno można podawać jako adres bramy adres routera albo AP do którego się łączysz - czyli twojego modułu pełniącego rolę AP<br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Jaki powinien być zakres DHCP?<br /></div><br />no nie powinien zawierać własnego adresu AP toż masz adres IP = ...150 a twój DHCP zaczyna się od 150<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 sie 2018, o 10:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2018-08-30T10:38:40+01:00</updated>
<published>2018-08-30T10:38:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211169#p211169</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211169#p211169"/>
<title type="html"><![CDATA[Re: wifi problem z przesyłaniem danych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211169#p211169"><![CDATA[
ok Panie Mirku. Tylko ,że nie wiem jaki ma być poprawny adres bramy <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br />Jaki powinien być zakres DHCP?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 30 sie 2018, o 10:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-08-30T10:36:28+01:00</updated>
<published>2018-08-30T10:36:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211168#p211168</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211168#p211168"/>
<title type="html"><![CDATA[Re: wifi problem z przesyłaniem danych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211168#p211168"><![CDATA[
masz źle ustawione moduły - już pisałem wczoraj o jednym babolu - błędny adres bramy<br /><br />a teraz drugi babol - zakres DHCP w module AP pokrywa się z zakresem własnego DHCP<br /><br />Poza tym pisałem - ale jakbyś nie czytał - po co masz coś obserwować na diodzie jak możesz podłączyć się do terminala w miejscu procka na stykówce i sprawdzić co dolatuje - będziesz miał wszystko na terminalu a nie tam pomrygiwanie diodki<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br /><div class="quotetitle">wojciechgorzolka napisał(a):</div><div class="quotecontent"><br />Czy to może być problem z programem, który napisałem?<br /></div><br />jak nie zrobisz tego co powiedziałem wyżej - test w terminalu to wciąż będziesz miał równanie z dwoma niewiadomymi - czyli czy zły program czy zła konfiguracja. A po co ? wystarczy sobie ułatwić życie, podejrzeć w terminalu i od razu jeden problem ci odpadnie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 sie 2018, o 10:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2018-08-30T09:33:30+01:00</updated>
<published>2018-08-30T09:33:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211162#p211162</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211162#p211162"/>
<title type="html"><![CDATA[Re: wifi problem z przesyłaniem danych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211162#p211162"><![CDATA[
<a href="https://obrazkiforum.atnel.pl/14082/37620b50340838507b97748db482512d.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/14082/37620b50340838507b97748db482512d.png" alt="Obrazek" /></a><a href="https://obrazkiforum.atnel.pl/14082/95a1c355d1dc2c475ca90d2bbd87d39d.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/14082/95a1c355d1dc2c475ca90d2bbd87d39d.png" alt="Obrazek" /></a><br /><br />Poradziłem się brata, który trochę jest zaznajomiony z tworzeniem sieci i podpowiedział mi jak mam ustawić moduły. Powiedział,żebym tak je ustawił jak na dołączonych wyżej zdjęciach i powinno działać. I jest poprawa. teraz gdy w zestawie ATB mam wpięty moduł STA i wysyłam string, to dochodzi on prawdopodobnie do drugiego modułu AP na płytce stykowej. A wnioskuję to po tym,że teraz, gdy na płytce stykowej podłączę dodatkową diodę do pinu Tx modułu (moduł AP odbierający string), to podczas klikania klawiszem, diodka mignie kilka razy. <br />Wcześniej , gdy inaczej miałem skonfigurowane moduły, to dioda podłączona do pinu Tx nie mrygała podczas odbierania stringa. <br /><br />Kłopot niestety polega jeszcze na tym,że po wysłaniu stringu, nie zmienia się stan diody . Czyli nie mogę włączyć i wyłączyć diody,po przez wifi <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" />. Czy to może być problem z programem, który napisałem? Już widzę światełko w tunelu <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=14082">wojciechgorzolka</a> — 30 sie 2018, o 09:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-08-29T20:44:31+01:00</updated>
<published>2018-08-29T20:44:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211137#p211137</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211137#p211137"/>
<title type="html"><![CDATA[Re: wifi problem z przesyłaniem danych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211137#p211137"><![CDATA[
sprawdzaj po kolei<br /><br />najpierw to ty podłącz się terminalem do WIFI które ma odbierać te stringi i zobacz czy dolatują<br /><br />ale też widzę, że w jednym niestety ustawiłeś bzdurę w konfiguracji że aż strach - brama domyślna jest taka sama jak adres IP modułu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 29 sie 2018, o 20:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2018-08-29T19:01:59+01:00</updated>
<published>2018-08-29T19:01:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211120#p211120</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211120#p211120"/>
<title type="html"><![CDATA[Re: wifi problem z przesyłaniem danych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211120#p211120"><![CDATA[
Panie Mirku, na początku tak miałem, ale i tak nie działało. <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> porównywałem tylko on i off. Oczywiście zachowując wielkości liter. A czy widzi Pan przyczynę tego,że nie działa mi ten kod?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 29 sie 2018, o 19:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-08-29T18:57:23+01:00</updated>
<published>2018-08-29T18:57:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211119#p211119</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211119#p211119"/>
<title type="html"><![CDATA[Re: wifi problem z przesyłaniem danych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211119#p211119"><![CDATA[
<div class="quotetitle">wojciechgorzolka napisał(a):</div><div class="quotecontent"><br />        if(!strcmp(buf, &quot;Off\r\n&quot;)){<br />                LED_OFF;                                        //wyłącz diodę<br />        }<br />        if(!strcmp(buf, &quot;On\r\n&quot;)){<br />                LED_ON;                                         //włącz diodę<br />        }<br /></div><br /><br />A skąd ty wpadłeś na pomysł że będziesz tu miał znaki CRLF ? Toż działanie UARTAa w postaci ASCII z każdej z moich książek - POZBYWA się tych niepotrzebnych znaków - po kiszkę byłoby je przekazywać<br /><br />porównujesz TYLKO Stringi &quot;On&quot; i &quot;Off&quot;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 29 sie 2018, o 18:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wojciechgorzolka]]></name></author>
<updated>2018-08-29T16:50:04+01:00</updated>
<published>2018-08-29T16:50:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211109#p211109</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211109#p211109"/>
<title type="html"><![CDATA[wifi problem z przesyłaniem danych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21200&amp;p=211109#p211109"><![CDATA[
Cześć.<br />    Od dłuższego już czasu męczę się z modułami atnel. <br />Po oglądnięciu poradników na YT udało mi się połączyć ze sobą dwa moduły atnel wifi (jest zapalona niebieska dioda)<br />Napisałem też kod bazując na poradnikach i książce. <br />    Założenie mojego projektu jest proste. W zestawie atb mam wpięty jeden moduł wifi i podłączony klawisz, oraz diodę. Dioda jest używana jako debager i mryga sobie co pół sekundy (jest wysterowana timerem programowym). Diodę tą uruchomiłem po to, aby w ogóle mieć podgląd, czy pętla główna programu działa. Drugi moduł atnel wifi mam wpięty do płytki stykowej i tam mam podłączone dwie diody. Pierwsza podobnie jak w zestawie ATB mryga co pół sekundy (sprawdzam , czy pętla główna działa), druga dioda natomiast powinna być włączana i wyłączana po przez klawisz z zestawu ATB (po przez wifi).<br />-Diody sterowane timerem programowym w zestawie ATB, oraz na płytce stykowej mrygają.<br />-Moduły wifi są ze sobą podłączone, co widać poprzez włączone niebieskie diody.<br />-płytkę stykową zasilam z zestawu ATB i na wskazaniach miernika mam niecałe 5V.<br />-W obydwu układach mam ten sam procesor czyli atmega 32, oraz takie samo taktowanie procesora 11,0592 MHz<br />- W obydwu atmegach mam wgrany ten sam program, który udostępniam poniżej <br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 31 gru 2017<br /> *      Author: amaru1<br /> */<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;avr/eeprom.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;string.h&gt;<br />#include &lt;stdlib.h&gt;<br />#include &lt;stdio.h&gt;<br />#include &lt;avr/wdt.h&gt;<br /><br />#include &quot;MK_USART/mkuart.h&quot;<br /><br />#define LED (1&lt;&lt;PB1)<br />#define LED_ON PORTB &amp;= ~LED<br />#define LED_OFF PORTB |= LED<br />#define LED_TOG PORTB ^= LED<br /><br /><br /><br />#define LED_8_PIN (1&lt;&lt;PB7)<br />#define LED_8_ON PORTB &amp;= ~LED_8_PIN<br />#define LED_8_OFF PORTB |= LED_8_PIN<br />#define LED_8_TOG PORTB ^= LED_8_PIN<br /><br />#define KEY1 (1&lt;&lt;PC0)<br /><br />char uart_buf&#91;100&#93;;<br />uint8_t key_lock;<br />uint8_t zmienna;<br /><br />//FUNKCJE:<br />void miganie_dioda(void);<br />void analizuj_dane_rs23( char * buf );<br /><br /><br /><br /><br />volatile uint16_t Timer1 ;       /* timery programowe 100Hz */<br /><br />int main(void)<br />{<br /><br /><br />DDRB = 0xFF;// wejscie-wyjście - ustaw jako wyjście<br />PORTB = 0xFF;//podanie stanu wysokiego na PORTB - wygaszenie wszystkich diod<br /><br /><br /><br /><br />PORTC |= KEY1;<br />    DDRC &amp;= ~KEY1;<br /><br /><br />USART_Init(__UBRR );<br />    register_uart_str_rx_event_callback( analizuj_dane_rs23 );<br /><br />    // oczekiwanie na ustalenie się stanu wysokiego na wejściu klawisza<br />     _delay_ms(200);<br /><br /><br />     /* Timer2 – inicjalizacja przerwania co 10ms */<br />     TCCR2   |= (1&lt;&lt;WGM21);          // tryb pracy CTC<br />     TCCR2   |= (1&lt;&lt;CS22)|(1&lt;&lt;CS20); // preskaler = 1024<br />     OCR2    = 107;                  // przerwanie porównania co 10ms (100Hz)<br />     TIMSK   |= (1&lt;&lt;OCIE2);          // Odblokowanie przerwania CompareMatch<br /><br />     LED_ON;<br /> _delay_ms(50);<br /> LED_OFF;<br /> _delay_ms(50);<br />     LED_ON;<br /> _delay_ms(50);<br /> LED_OFF;<br /><br />   //  uart_puts( &quot;test1 \r\n&quot;);<br /><br />sei();<br />while(1)<br />{<br /> miganie_dioda();// debager- sprawdzam, czy pętla główna działa<br /> //  wifi ap czyli odbiór danych<br />UART_RX_STR_EVENT( uart_buf );<br /> //uart_puts( &quot;TEST\r\n&quot;);<br />//--------------------------------------------------------<br /><br />//obsługa klawisza<br />// gdy nacisnę klawisz, to &quot;togluję&quot; zmienną,<br />//gdy zmienna ma wartośc ==0, to wysyłam string On,<br />//gdy zmienna ma wartośc ==1, to wysyłam string Off.<br />     if( !key_lock &amp;&amp; !(PINC &amp; KEY1) )<br />     {<br />      key_lock=1;<br />      // reakcja na PRESS (wcinięcie przycisku)<br />    //  LED_TOG;// dioda debager<br />      zmienna ^= 1;<br /> if(zmienna==0){<br /> uart_puts( &quot;On\r\n&quot;);<br /> }<br /> else if(zmienna==1){<br /> uart_puts( &quot;Off\r\n&quot;);<br /> }<br />     }<br />          else if( key_lock &amp;&amp; (PINC &amp; KEY1) )<br />         key_lock++;<br />}<br /><br />}<br />// Otrzymywanie stringa<br />// gdy otrzymam po wifi string Off, to powinna się dioda wyłączyc<br />// gdy otrzymam po wifi string On, to dioda powinna się włączyc<br />void analizuj_dane_rs23( char * buf ){  // jeśli otrzymamy jakieś dane z uarta 232,<br />if(!strcmp(buf, &quot;Off\r\n&quot;)){<br />LED_OFF;//wyłącz diodę<br />}<br />if(!strcmp(buf, &quot;On\r\n&quot;)){<br />LED_ON;//włącz diodę<br />}<br /><br />}<br /><br />// funkcja debagera w pętli głównej- miganie diodą<br />void miganie_dioda(void)<br />{<br />if( !Timer1 )<br />    {<br />LED_8_TOG;<br />        Timer1=500;<br />    }<br />}<br /><br />// timer programowy odpowiedzialny za miganie diodą<br />ISR(TIMER2_COMP_vect){<br />    uint16_t n;<br /><br />    n = Timer1;             /* 100Hz Timer1 */<br />    if (n) Timer1 = --n;<br />}[/syntax]<br /><br />Program ma działać następująco:<br />Klikając klawisz na zestawie ATB Zmieniam wartość zmiennej o nazwie &quot;zmienna&quot; z jeden na zero - togluję tą zmienną.<br />Jeśli wartość zmiennej równa się 0, to wysyłam z zestawu ATB string przez wifi do płytki stykowej<br />[syntax=c]if(zmienna==0){<br /> uart_puts( &quot;On\r\n&quot;);[/syntax]<br />i Dioda na płytce stykowej powinna się włączyć.<br />Natomiast jeśłi kolejny raz nacisję klawisz na zestawei atb, to zmienna przyjmuje wartość równą jeden i wysyłam do płytki stykowej string<br />[syntax=c]else if(zmienna==1){<br /> uart_puts( &quot;Off\r\n&quot;);[/syntax]<br />dioda powinna się wyłączyć.<br />   Za takie działanie programu odpowiada funkcja :<br />[syntax=c]void analizuj_dane_rs23( char * buf ){  // jeśli otrzymamy jakieś dane z uarta 232,<br />if(!strcmp(buf, &quot;Off\r\n&quot;)){<br />LED_OFF;//wyłącz diodę<br />}<br />if(!strcmp(buf, &quot;On\r\n&quot;)){<br />LED_ON;//włącz diodę<br />}<br /><br />}[/syntax]<br /><br />Niestety program nie działa według moich założeń. Dioda na płytce stykowej nie chce się włączyć po naciśnięciu klawisza na zestawie ATB.<br />Po podłączeniu dodatkowej diody na zestawie ATB w miejscu pinów RX, oraz TX- dioda lekko mignie, czyli wysyłanie raczej działa. Jednak nic nie &quot;dolatuje&quot; do płytki stykowej <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br />Nie jestem jeszcze biegły w programowaniu, dlatego zwracam się z ogromną prośbą o pomoc w tej sprawie. <br />Dołączam zdjęcia konfiguracyjne modułów wifi, oraz schemat jak mam podłączoną płytkę stykową, oraz zestaw ATB. <br /><a href="https://obrazkiforum.atnel.pl/14082/7b5a95f6dfde1e30023d05e49340b29e.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/14082/7b5a95f6dfde1e30023d05e49340b29e.png" alt="Obrazek" /></a><a href="https://obrazkiforum.atnel.pl/14082/fda472a8ab48d05fc5fe4750131cc8e1.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/14082/fda472a8ab48d05fc5fe4750131cc8e1.png" alt="Obrazek" /></a><a href="https://obrazkiforum.atnel.pl/14082/45fb8c470a3f1eb5298599d805f62551.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/14082/45fb8c470a3f1eb5298599d805f62551.png" alt="Obrazek" /></a><a href="https://obrazkiforum.atnel.pl/14082/da3adbb52475ce5921e2e792a4e69ce9.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/14082/da3adbb52475ce5921e2e792a4e69ce9.jpg" alt="Obrazek" /></a><a href="https://obrazkiforum.atnel.pl/14082/8d261ede5f1ac51ee2008186833fbe5d.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/14082/8d261ede5f1ac51ee2008186833fbe5d.jpg" alt="Obrazek" /></a><br />    Walczę już z tymi podstawami ponad miesiąc i niestety sam nie potrafię sobie z tym poradzić. A chodzi mi tylko o prostą rzecz- <br />Włączanie i wyłączanie jednej diody poprzez moduły wifi atnel. Dodam jeszcze,że moduły nie mają się łączyć z domowym routerem. <br />Jeden moduł chcę aby był jako AP, drugi jako STA. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />     Jeśli uda mi się opanować te podstawy to otworzą się przede mną wielkie wrota nowych możliwości, ponieważ docelowo ten projekcik ma być odpowiedzialny za zdalne włączanie i wyłączanie oświetlenia w pomieszczeniu ( od razu zaznaczam,że nie chcę sterować świetleniem z komórki), a oprócz tego chcę sobie stworzyć pilot do zdalnego sterowania, pilot wifi. Jednak jeśli nie ogarnę tego tematu, to jestem pupą w pokrzywach. <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14082">wojciechgorzolka</a> — 29 sie 2018, o 16:50</p><hr />
]]></content>
</entry>
</feed>