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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-12-19T14:31:29+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=5214&amp;mode</id>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2013-12-19T14:31:29+01:00</updated>
<published>2013-12-19T14:31:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61792#p61792</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61792#p61792"/>
<title type="html"><![CDATA[Re: wyodrębnienie danych z UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61792#p61792"><![CDATA[
No w/g mnie absolutnie, żadnego parsowania w przerywaniu, ot stosujesz system eventów, czyli ja jadę na bibliotekach Mirkowych z obsługą eventów. Następnie obrabiam bufor jak mi się podoba i robię potem z danymi co chce. A cały czas w tle mam odbieranie danych.<p>Statystyki: Napisane przez Gość — 19 gru 2013, o 14:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[min]]></name></author>
<updated>2013-12-19T14:19:09+01:00</updated>
<published>2013-12-19T14:19:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61790#p61790</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61790#p61790"/>
<title type="html"><![CDATA[Re: wyodrębnienie danych z UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61790#p61790"><![CDATA[
Czy w przerwaniu byłaby dopuszczalna taka operacja?<br /><br />tworzę bufor cykliczny na 4 bajty<br />w każdym przerwaniu dana ląduje w tym buforze<br />w każdym przerwaniu jedną z funkcji parsujących (np &quot;strcspn&quot;) sprawdzam, czy na początku są dwa zera - jeśli tak, to podejmuję akcję...<br /><br /><br /><br />?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1317">min</a> — 19 gru 2013, o 14:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2013-12-19T13:32:58+01:00</updated>
<published>2013-12-19T13:32:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61784#p61784</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61784#p61784"/>
<title type="html"><![CDATA[Re: wyodrębnienie danych z UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61784#p61784"><![CDATA[
Dane w sumie parsuje się prosto, narzędziami do obróbki tablic charów <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />.<br /><br />Mnie bardzo pomagała ta stronka <!-- m --><a class="postlink" href="http://cpp0x.pl/dokumentacja/standard-C/Lancuchy-znakow-C/11" >http://cpp0x.pl/dokumentacja/standard-C ... nakow-C/11</a><!-- m --><p>Statystyki: Napisane przez Gość — 19 gru 2013, o 13:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kurnachatka]]></name></author>
<updated>2013-12-19T13:30:20+01:00</updated>
<published>2013-12-19T13:30:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61782#p61782</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61782#p61782"/>
<title type="html"><![CDATA[Re: wyodrębnienie danych z UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61782#p61782"><![CDATA[
Tutaj masz fajny kurs na Androida, <br /><!-- m --><a class="postlink" href="http://www.forbot.pl/forum/topics20/kurs-tworzenie-wlasnej-aplikacji-android-do-sterowania-przez-bluetooth-cz-1-vt9135.htm" >http://www.forbot.pl/forum/topics20/kur ... vt9135.htm</a><!-- m --><br /><br />po zapoznaniu się z tym kursem spokojnie napiszesz prostą aplikację do sterowania przez Bluetooth.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=930">kurnachatka</a> — 19 gru 2013, o 13:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[min]]></name></author>
<updated>2013-12-19T14:27:01+01:00</updated>
<published>2013-12-19T12:54:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61772#p61772</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61772#p61772"/>
<title type="html"><![CDATA[Re: wyodrębnienie danych z UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61772#p61772"><![CDATA[
Dokładnie tak - przerobiłem obydwa &quot;boki&quot; niebieski i zielony. Używam UART głównie z komendami AT. Niestety nie cały świat tak robi. Uczę się C. Jako swojego &quot;ATB&quot; buduję robota, którego programowanie to dla mnie zajęcia praktyczne. Na razie steruje nim pilotem RC5 oraz poprzez UART i komendy AT. I jeszcze on sam się steruje czujnikami.  Jeśli np. wysyłam znak &quot;R5&quot; program wywołuje funkcję, która realizuje skręt w prawo z prędkością 5. Chcę sterować nim również ze smartfona. Znalazłem kilka gotowych aplikacji na androida. Podglądałem, co one wysyłają. Niestety żadna (z tych które próbowałem) nie stosuje wysyłania tekstów do sterowania, żadna nie wysyła LF ani CR. Zastanawia mnie to. Przecież po drugiej stronie muszą to jakoś parsować.  Oczywiście mogę popróbować programowania Androida (pewnie to zrobię), mogę zlecić komuś napisanie aplikacji na smartfona tak, żebym ja był zadowolony. Ale wydaje mi się, że po to uczę się tego C, żeby rozwiązywać również takie problemy. <br /><br /> To co podglądałem na tym forum zazwyczaj trzymało się konwencji - jakiś początek transmisji i jakiś koniec. Chyba to już potrafiłbym zrobić, wyzwaniem jest dla mnie powyższa sytuacja.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1317">min</a> — 19 gru 2013, o 12:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2013-12-19T12:21:00+01:00</updated>
<published>2013-12-19T12:21:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61769#p61769</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61769#p61769"/>
<title type="html"><![CDATA[Re: wyodrębnienie danych z UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61769#p61769"><![CDATA[
Sam parsowałem dane w/g Green Booka, No i z dużą pomocą forumowych wymiataczy <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />.<br /><br />Poszukaj moich tematów o uarcie, może ci coś się przyda.<p>Statystyki: Napisane przez Gość — 19 gru 2013, o 12:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-12-19T12:06:26+01:00</updated>
<published>2013-12-19T12:06:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61768#p61768</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61768#p61768"/>
<title type="html"><![CDATA[Re: wyodrębnienie danych z UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61768#p61768"><![CDATA[
Ja mogę podpowiedzieć, że w Greenbooku - zostało ostatecznie opisane i do końca wyjaśnione wszystko odnośnie na prawdę przyjemnej komunikacji za pomocą ASCII ... łącznie właśnie z parsowaniem danych (czyli jak je obrabiać) ... a nawet obsługa i implementacja własnych komend AT. Myślę, że warto się zapoznać z takim podejściem - i nie chodzi o sam kod, bo w książce sporo opisuję jeśli chodzi o  metodologię i podejście do samego zagadnienia.<br /><br /><!-- m --><a class="postlink" href="http://atnel.pl/jezyk-c-pasja-programowania.html" >http://atnel.pl/jezyk-c-pasja-programowania.html</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 19 gru 2013, o 12:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[acid3]]></name></author>
<updated>2013-12-19T11:56:53+01:00</updated>
<published>2013-12-19T11:56:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61767#p61767</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61767#p61767"/>
<title type="html"><![CDATA[Re: wyodrębnienie danych z UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61767#p61767"><![CDATA[
Nie wiem czy dobrze kolegę rozumiem, ale odsyłam do zapoznania się ze standardową ramką dla rs232 na przykład albo ramką rc5 ....<br /><br />Dla rs 232 coś w ten deseń było:0<br />bit startu (zawsze low), bity danych, bit parzystości, bit stopu(zawse high) i chyba w tym kierunku trzeba się zastanowić, tzn ramka musi mieć określony początek ( co u Ciebie chyba jest &lt;0&gt;&lt;0&gt; ..... ) i przydałby się koniec nadawania, wg mnie analiza takiej ramki byłaby prostsza i bardziej niezawodna<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=944">acid3</a> — 19 gru 2013, o 11:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[icer_cmg]]></name></author>
<updated>2013-12-19T12:01:51+01:00</updated>
<published>2013-12-19T11:53:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61766#p61766</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61766#p61766"/>
<title type="html"><![CDATA[Re: wyodrębnienie danych z UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61766#p61766"><![CDATA[
Osobiście używam biblioteki kolegi Antystatycznego <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic3461.html" >topic3461.html</a><!-- l --> Z własnego doświadczenia powiem tak, że lepiej czymś kończyć transmisję i sprawdzać czy się skończyła. Można pokusić się w Twoim przypadku o pominięcie tego, ponieważ masz stałą długość danych. A co jeśli zapragniesz komend AT? Lipa. Luknę do biblioteki naszego mentora i może coś podpowiem.<br /><br />Może zamieść swój kod, będzie łatwiej.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1636">icer_cmg</a> — 19 gru 2013, o 11:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[min]]></name></author>
<updated>2013-12-19T11:38:32+01:00</updated>
<published>2013-12-19T11:38:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61765#p61765</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61765#p61765"/>
<title type="html"><![CDATA[wyodrębnienie danych z UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5214&amp;p=61765#p61765"><![CDATA[
Witam.<br /><br />Program na Androidzie (sterowanie pojazdem) wysyła co kilkadziesiąt milisekund ciąg znaków w postaci &lt;0 &gt;&lt;0&gt;&lt;dana&gt;&lt;dana&gt;.  Bez znaków CR czy LF.   &lt;0&gt; to wg ASCII &quot;NUL&quot;, dana to &quot;unsigned int&quot;. Dwa zera na początku są w każdej transmisji, po niej następują dwa bajty, które mają być wykorzystane w funkcji sterującej silnikami. Mogą to być również zera (&lt;0&gt;) - informacja, że silniki mają prędkość zero - stop.  Ma to pracować na UART, który powinien też przyjmować inne komendy. Próbuję przerobić obsługę przerwania &quot;ISR( USART_RXC_vect )&quot; z biblioteki Mirka, ale mi nie wychodzi. Kombinuję ze &quot;sztuczkami&quot; w rodzaju: <br /><br /> jeśli przychodzi bajt ==0 (if (!data) {zwiększ jakiś licznik}, . Jeśli ten licznik ==2 (przyszły dwa zera), zapisz dwa następne bajty do jakiegoś bufora, potem &quot;posprzątaj po sobie&quot; np. wyzeruj liczniki.<br /> <br />W idealnych warunkach - jeśli ręcznie wysyłam z terminala dokładnie takie sekwencje - to nawet działa. Ale w warunkach prawdziwych już nie jest tak różowo. Ciągle coś się komplikuje..<br /><br />Czy mogę prosić o podpowiedź, jak się za to zabrać? Nie musi to być kod, będę też wdzięczny za naprowadzenie na algorytmy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1317">min</a> — 19 gru 2013, o 11:38</p><hr />
]]></content>
</entry>
</feed>