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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-04-13T17:20:54+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=18148&amp;mode</id>
<entry>
<author><name><![CDATA[wchpikus]]></name></author>
<updated>2017-04-13T17:20:54+01:00</updated>
<published>2017-04-13T17:20:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18148&amp;p=187034#p187034</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18148&amp;p=187034#p187034"/>
<title type="html"><![CDATA[Re: Kopiowanie buforow]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18148&amp;p=187034#p187034"><![CDATA[
Nadal nie działa..<br />moze wytłumaczę na przykładzie:<br /><br />wchodze w petle:<br />[syntax=c]while (esp_ready){//petla sprawdzania id<br />            esp_ready = check_esp_ready(); //sprawdzenie czy esp jest gotowy<br />            //clear_buffor(command_in);<br />            }[/syntax]<br /><br />[syntax=c]uint8_t check_esp_ready(){<br />//clear_buffor(command_in);<br />USART_SendStr(chip);CL(); // sprawdzenie stanu modulu, jesli ready odpowie swoim numerem<br />copy_buffors();<br />max7219_puts(0,0,&quot;ESP ready?&quot;,1,1,0);<br />max7219_display();<br />_delay_ms(1000);<br /><br />if( strcmp( command_in, chipid ) == 0 ){  //0-str1 = str2 sprawdzanie buforow chipid = wpisany na sztywno numer char chipid&#91;&#93; = &quot;8684785&quot;;<br />max7219_clear();<br />max7219_puts(0,0,command_in,1,1,0); //wyswietlenie co zwraca<br />max7219_display();<br />_delay_ms(1000);<br />max7219_clear();<br />max7219_puts(0,0,&quot;ESP ok     &quot;,1,1,0);<br />max7219_display();<br />_delay_ms(1000);<br />esp_ready = 0;<br />max7219_clear();<br />}<br />else<br />{<br />max7219_puts(0,0,&quot;not ready!  &quot;,1,1,0);<br />max7219_display();<br />esp_ready = 1;<br />_delay_ms(1000);<br />}<br /><br />return (esp_ready);<br />}[/syntax]<br /> na terminalu dostaje:<br />odebrane:<br /><br />&gt; 8684785<br />&gt; 8684785<br /><br />wyslane:<br /><br />= node.chipid() //zapytanie o numer chipa<br />= node.chipid()<br /><br />dopiero drugie zapytanie zwraca poprawny wynik w buforze command_in.<br /><br />[syntax=c]void copy_buffors(){<br />memcpy(command_in, data_in, strlen(data_in)+1);<br />}[/syntax]<br /><br />Czemu drugie zapytanie dziala?<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 57 minutach ]</span></strong><br /><br />Próba zamiany command_in na data_in:<br />[syntax=c]USART_SendStr(wifi_getip);CL();                         //get ip wysylam komende na uart i dostaje odpowiedz, zbierana do dana_in<br />           copy_buffors();<br />           slide_data(data_in);                              //wyswietlenie zawartosci bufora command_in[/syntax]<br /><br />Wyswietla poprawnie, czyli zaraz po otrzymaniu danych mam je w buforze data_in.<br />Samo kopiowanie nie dziala<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3859">wchpikus</a> — 13 kwi 2017, o 17:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2017-04-13T15:13:36+01:00</updated>
<published>2017-04-13T15:13:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18148&amp;p=187026#p187026</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18148&amp;p=187026#p187026"/>
<title type="html"><![CDATA[Re: Kopiowanie buforow]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18148&amp;p=187026#p187026"><![CDATA[
już pytałeś o to w innym wątku jak widziałem i pomimo że ktoś słusznie podpowiedział ci żebyś skorzystał z <br /><br />memcpy()<br /><br />to ty wciąż walczysz z tzw wiatrakami i sam piszesz - co by nie mówić dziwne funkcje, jest sens ? skoro wbudowana w C działa idealnie i najszybciej ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 13 kwi 2017, o 15:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wchpikus]]></name></author>
<updated>2017-04-13T15:05:23+01:00</updated>
<published>2017-04-13T15:05:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18148&amp;p=187023#p187023</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18148&amp;p=187023#p187023"/>
<title type="html"><![CDATA[Kopiowanie buforow]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18148&amp;p=187023#p187023"><![CDATA[
Witam<br />mam dwa bufory dana_in i command_in.<br />[syntax=c]char data_in&#91;50&#93;; //dane wejsciowe z uart bylo volatile!!!<br />char command_in&#91;50&#93;;//bufor do jakiego mozemy kopiowac dane[/syntax]<br /><br />chce je skopiowac.<br /><br />robie tak:<br />[syntax=c]void copy_buffors(){<br />for(uint8_t i = 0; i &lt; command_in_length;i++){<br />command_in&#91;i&#93; =  data_in&#91;i&#93;;<br />}<br />}[/syntax]<br /><br />cos nie dziala...<br /><br />dopiero drugie wywolanie tej funckji wyswietla poprawnie dane..<br /><br />zbieram dane z uart do data_in //wchodzi &quot;X&quot;<br />copy_buffors();<br />wyswietlam..<br />zbieram dane z uart do data_in //wchodzi &quot;Y&quot;<br />copy_buffors();<br />wyswietlam..i dostaje X<br />zbieram dane z uart do data_in //wchodzi &quot;Z&quot;<br />copy_buffors();<br />wyswietlam..i dostaje Y..<br /><br />przerwanie zbierajace dane z uart:<br />[syntax=c]ISR(USART_RX_vect){<br />    // Get data from the USART in register<br />check_sign = UDR0;<br /><br /><br />    if( (check_sign == 0x3E) || (check_sign == 0x0A) || (check_sign == 0x20) ){ //jesli jest rozny od &quot;&gt;&quot; , \n. 'space'|<br />    data_count--;<br />    }<br />    else<br />    {<br />    data_in&#91;data_count&#93; = check_sign;<br />    }<br /><br />    if (data_in&#91;data_count&#93; == '\r') {<br />    data_in&#91;data_count&#93; = '\0';<br />    data_count = 0;<br />    }<br />    else<br />    {<br />    data_count++;<br />    }<br /><br /><br />    }//ISR(USART_RX_vect[/syntax]<br /><br />a funkcja wyglada tak:<br />[syntax=c]USART_SendStr(wifi_getip);CL();   //get ip wysylam komende na uart i dostaje odpowiedz, zbierana do dana_in<br />        copy_buffors();<br />        slide_data(command_in);                              //wyswietlenie zawartosci bufora command_in[/syntax]<br /><br />co jest nie tak?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3859">wchpikus</a> — 13 kwi 2017, o 15:05</p><hr />
]]></content>
</entry>
</feed>