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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2012-11-02T21:54:04+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=5&amp;t=1722&amp;mode</id>
<entry>
<author><name><![CDATA[raven1982]]></name></author>
<updated>2012-11-02T21:54:04+01:00</updated>
<published>2012-11-02T21:54:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=18103#p18103</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=18103#p18103"/>
<title type="html"><![CDATA[Re: Mkuart i RS485]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=18103#p18103"><![CDATA[
tak teraz trochę jaśniej , nawet udało mi się odpalić  program z płyty  na taktowaniu 8 MHz  bo w originale był na 11 <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />  teraz jeszcze posiedzę nad tymi  i jest duża szansa ze załapie dziękuję .<br /><br />dodano 05.11.2012<br /><br />No i stało się  dzisiaj zrozumiałem mechanizm jeszcze raz dziękuje Mirku za  obrazowy opis  już go drukuje i wklejam sobie do książki. Zabieram się do pisanie swojego programu z RS232  jak skończę to pewnie poproszę jeszcze o pomoc w rozwiązaniu ewentualnych błędów. To co przeszkadzało mi w zrozumieniu  tegoż rejestrowania to to ze szukałem jakiś słów kluczowych  a  funkcje z call back  czy register w nazwie mogą się nazywać dowolnie  i  taki mały szczegół blokował mój umysł <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=504">raven1982</a> — 2 lis 2012, o 21:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-10-29T21:30:26+01:00</updated>
<published>2012-10-29T21:30:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17909#p17909</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17909#p17909"/>
<title type="html"><![CDATA[Re: Mkuart i RS485]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17909#p17909"><![CDATA[
Wyobraź sobie, że zlecasz mi napisanie jakiejś tam funkcji, no niech będzie, że funkcji do obsługi klawisza. I teraz co ? wyobraź sobie jak mi przekażesz założenia do tej funkcji ???<br /><br />że ma reagować na krótkie kliknięcie, długie kliknięcie, i jeszcze żeby miała jakieś auto-powtarzanie wciśniętego klawisza<br /><br />No ok - ale to ma być komuś (czyli mi zlecone) i ciebie nawet nie obchodzi jak ja to tam w środku zrobię - po prostu ma działać .... ale <br /><br />no ale teraz chodzi o to, że ta funkcja którą ja tobie mam napisać - MUSI wywołać jaką funkcję po krótkim kliknięciu, po długim kliknięciu itp ....<br /><br />wszystko fajnie - ale co ? jak ja mam to napisać - skoro ty nie jesteś mi w stanie teraz przekazać tych swoich własnych funkcji bo jeszcze ich nawet nie stworzyłeś. Gdybyś je już miał to może być mi powiedział że konkretnie po krótkim kliknięciu ma się odpalić mała rakietka modelarska a po długim ma się rozjaśniać żarówka<br /><br />no ok nawet gdybyś miał już konkretnie te funkcje - to jak ja bym miał teraz wiedzieć jakie ty tam w swoim programie używasz zmienne np globalne, jakie piny do odpalania rakiety, jakie piny do detekcji zera sieci itp itd - a jeszcze jakbyś później zmienił zdanie i jednak krótki klik miał robić coś innego ????<br /><br />Sam widzisz KOŁOMYJA - to ja bym musiał z tobą siedzieć godzinami i pisać wspólny program , który się zazębia w wielu miejscach .... a później jakieś przeróbki tego to KOSZMAR ... czy nie ma wyjścia ???<br /><br />ależ JEST - za pomocą Callbacków czyli tzw &quot;funkcji zwrotnych&quot; <br /><br />a zatem ustalamy tylko, że moja biblioteka do obsługi klawisza ma wywołać w uproszczeniu DWIE RÓŻNE funkcje (można i więcej) no ale ustalamy że dwie....<br /><br />czy mnie jako zlecenioboircę interesuje co będzie w tych funkcjach ? co ty tam sobie w nich napiszesz i jak je zgrasz ze swoim programem ????? NIE<br /><br />czochra mnie to absolutnie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />ponieważ ja posłużę się w odpowiednich miejscach mojej biblioteki do obsługi klawisza TYLKO GOŁYMI wskaźnikami na dwie różne funkcje. Po prostu wywołam jakieś funkcje i nie obchodzi mnie co w nich będzie. ale hola hola .... skoro piszę biblotekę to od razu przygotuję tobie takie małe narzędzie, żebyś TY mógł w wygodny sposób przekazać mi te dwa wskaźniki na swoje własne funkcje w programie, który kiedyś tam napiszesz - jak dostaniesz ode mnie bibliotekę.<br /><br />Rozumiesz - moja biblioteka będzie sobie działać, coś tam robić a jak przyjdzie odpowiedni moment to WYWOŁA za pomocą wskaźników niejako zwrotnie - twoje funkcje, które ty musisz jakoś przy starcie programu przekazać do tej mojej biblioteki.<br /><br />To przekazanie to właśnie nazywam ZAREJESTROWANIEM callbacka (czyli przekazanie wskaźnika do twojej jednej i drugiej funkcji) ....<br /><br />ta cała rejestracja (zajrzyj sobie RAZ do funkcji rejestrującej) ... TO NIC INNEGO jak tylko podstawienie do zmiennej wskaźnikowej w mojej bibliotece - wskaźnika do jakiejś twojej funkcji.<br /><br />hmm nie wiem - czy teraz troszkę jaśniej ? .... jeśli nie to dopytaj o coś po drodze - czego nie rozumiesz itp ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 29 paź 2012, o 21:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[raven1982]]></name></author>
<updated>2012-10-29T20:18:12+01:00</updated>
<published>2012-10-29T20:18:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17900#p17900</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17900#p17900"/>
<title type="html"><![CDATA[Re: Mkuart i RS485]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17900#p17900"><![CDATA[
Na początku poleciałem od razu , ale potem  nie podołałem i teraz brnę od początku  tylko ze cały czas jakoś nie mogę sobie wyobrazić -  jeśli  wyobrażam sobie algorytm liniowo co krok po kroku  robi program  to jakoś nie widzę  gdzie w tym wszystkim są te rejestracje  a w dodatku  gdzieś kiedyś pisałeś  ze można zarejestrować różne funkcje w zależności  od aktualnego stanu programu np rożne reakcje w obsłudze menu. Dlatego prosiłem o wykład jak dla kretyna  aby umożliwił mi ogarnięcie tematu przed doczytaniem książki do końca <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />. <br />wiem leniuch ze mnie  - na razie czytam i próbuje  jak dojdę do końca może sam zrozumiem ale skoro przeczytałem ze zamierzasz pisać poradnik to  wykorzystałem okazje aby poprosić o ułatwienie drogi.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=504">raven1982</a> — 29 paź 2012, o 20:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-10-29T19:23:01+01:00</updated>
<published>2012-10-29T19:23:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17896#p17896</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17896#p17896"/>
<title type="html"><![CDATA[Re: Mkuart i RS485]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17896#p17896"><![CDATA[
No dobrze - ale powiedz mi najpierw - czy po zakupie tej książki od razu poleciałeś do ostatniego rozdziału ??? <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />czy jednak czytałeś po kolei wcześniejsze ? Bo od początku książki po kolei pokazuję od najprostszych form po coraz bardziej skomplikowane o co tu chodzi ??? <br /><br />oczywiście postaram się pomóc - ale odpowiedz mi na to pytanie - to dla mnie ważne<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 29 paź 2012, o 19:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[raven1982]]></name></author>
<updated>2012-10-29T18:31:51+01:00</updated>
<published>2012-10-29T18:31:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17893#p17893</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17893#p17893"/>
<title type="html"><![CDATA[Re: Mkuart i RS485]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17893#p17893"><![CDATA[
Drogi Mirku,  jeśli mogę od strony uczącego się... Kupiłem książkę nr2 najbardziej licząc na własnie komunikacje UART <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />  ale niestety do teraz nie ogarniam  tego rejestrowania  funkcji ( callback) ,  dlatego jeśli mogę prosić o poradnik może jeszcze raz tylko prościej <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />  wszystko niby jest jasne  ale nie rozumiem  po co się rejestruje te funkcje i nie potrafię sobie wyobrazić algorytmu jak to rejestrowanie działa. Pójściem na łatwiznę  była bu funkcja obsługująca event  bez rejestracji callbacków ale wolałbym zrozumieć jak działa w takim stanie jak jest teraz<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=504">raven1982</a> — 29 paź 2012, o 18:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-10-29T15:59:59+01:00</updated>
<published>2012-10-29T15:59:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17882#p17882</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17882#p17882"/>
<title type="html"><![CDATA[Re: Mkuart i RS485]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17882#p17882"><![CDATA[
<div class="quotetitle">raven1982 napisał(a):</div><div class="quotecontent"><br />Ja się podepnę pod wątek. Czy w drugiej książce na płycie  również trzeba podmienić UART czy tam jest dobrze ?<br /></div><br /><br />W drugiej książce jest sobie taki ostatni rozdział na temat parsowania stringów i komunikacji - to jest już w pełni poprawiona wersja - zresztą - tak jak pisałem w pierwszej książce. <br /><br />W niebieskiej tłumaczyłem podstawy komunikacji UART, a w zielonej książce jest już o wiele bardziej zaawansowana i tym razem nie dydaktyczna a użyteczna biblioteka do obsługi RS232. Nazywa się ona teraz tzn folder MK_USART<br /><br />różni się dość mocno od tej z pierwszej książki hmmm bardzo mocno<br /><br />chociaż jeszcze dorobię poradnik jak wprowadzić w niej atomowość niektórych operacji i będzie dostępny na stronie atnel.pl<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 29 paź 2012, o 15:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[raven1982]]></name></author>
<updated>2012-10-29T14:58:51+01:00</updated>
<published>2012-10-29T14:58:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17881#p17881</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17881#p17881"/>
<title type="html"><![CDATA[Re: Mkuart i RS485]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17881#p17881"><![CDATA[
Ja się podepnę pod wątek. Czy w drugiej książce na płycie  również trzeba podmienić UART czy tam jest dobrze ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=504">raven1982</a> — 29 paź 2012, o 14:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-10-29T10:21:21+01:00</updated>
<published>2012-10-29T10:21:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17859#p17859</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17859#p17859"/>
<title type="html"><![CDATA[Re: Mkuart i RS485]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17859#p17859"><![CDATA[
Tak - masz rację - zrobione:<br /><br /><!-- m --><a class="postlink" href="http://atnel.pl/uaktualnienia-programow-do-dvd.html" >http://atnel.pl/uaktualnienia-programow-do-dvd.html</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 29 paź 2012, o 10:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jark]]></name></author>
<updated>2012-10-29T08:55:57+01:00</updated>
<published>2012-10-29T08:55:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17850#p17850</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17850#p17850"/>
<title type="html"><![CDATA[Re: Mkuart i RS485]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17850#p17850"><![CDATA[
Witam.<br />Rzeczywiście teraz patrzyłem na erratę (mam drugie wydanie pierwszej książki stąd brak zainteresowania erratą <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> ) do papierowej wersji i definicje dla nadawania i odbierania są poprawione z adnotacją że dotyczy to też kodów źródłowych. Jednak tak jak pisałem w poprzednim poście aby nadawanie było możliwe konieczna jest jeszcze ta dodatkowa modyfikacja w obsłudze przerwania nadawczego. Można byłoby zamieścić na stronie wydawnictwa poprawioną wersję biblioteki mkuart aby oszczędzić innym kłopotów jeśli oczywiście to nie problem.<br />Pozdrawiam<br />Jarek<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=582">jark</a> — 29 paź 2012, o 08:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-10-29T06:08:23+01:00</updated>
<published>2012-10-29T06:08:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17846#p17846</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17846#p17846"/>
<title type="html"><![CDATA[Re: Mkuart i RS485]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17846#p17846"><![CDATA[
Wydawało mi się że ta pomyłka z załączaniem nadajnika jest chyba nawet w erracie. Ale co do pozostałych punktów wygląda że zrobiłeś ok, czyli włączanie nadawania przed wysłaniem każdego znaku.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 29 paź 2012, o 06:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jark]]></name></author>
<updated>2012-10-29T01:48:47+01:00</updated>
<published>2012-10-29T01:48:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17844#p17844</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17844#p17844"/>
<title type="html"><![CDATA[Mkuart i RS485]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1722&amp;p=17844#p17844"><![CDATA[
Witam.<br />Popełniam właśnie projekt w którym będę używał RS485. Jako że nie lubię wyważać otwartych drzwi postanowiłem użyć biblioteki mkuart z pierwszego wydania książki. Wrzuciłem na szybko do procka lekcję 07_UART a że w układzie mam ATMEGE32 i sterowanie kierunkiem transmisji układu SN75176 podpięte do PD2 to nawet nic nie musiałem w kodzie zmieniać.<br />Jedyną rzeczą którą zmieniłem to to że nie zmieniałem wartości OSCCAL tylko inkrementowałem sobie jakąś zmienną i tak miało w nieskończoność wyrzucać jej wartość po RS485 w pętli while(1) . Dodałem też prosty odbiór jednego znaku żeby sobie buzzer zabuczał chwilkę. Wszystko podłączone do kompa przez przejściówkę usb-rs485. Przy odpaleniu niemiła niespodzianka. Układ wysyła tylko raz wartość zmiennej i koniec. Jakby się blokował. Odbiór działa dobrze - reaguje na wysyłane znaki. Oczywiście pierwsze to to sprawdzenie połączeń jak zawsze radzi Mirek <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Kilka razy sprawdzam ale niestety nie chciało być źle <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Zauważyłem że po resecie jest jedno nadawanie i koniec. Wychodzi na to że błąd jednak może tkwić w programie. Program w main.c banalny aż boli ale mimo tego sprawdzam. Znów nic nie znalazłem wiec zabrałem się za analizę biblioteki mkuart. Na szczęście nie jest długa więc nie było tak źle. Wcześnie zerknąłem też czy nie ma erraty do pliku ale nie znalazłem takiej. Oto wnioski.<br />Pierwsze co rzuciło mi się w oczy w pliku mkuart.h to:<br />[syntax=c]<br />#define UART_DE_ODBIERANIE  UART_DE_PORT |= UART_DE_BIT<br />#define UART_DE_NADAWANIE  UART_DE_PORT &amp;= ~UART_DE_BIT<br />[/syntax]<br /><br />Z noty katalogowej SN75176 wynika że nadajnik aktywowany jest stanem wysokim natomiast odbiornik stanem niskim więc moim zdaniem powinno to wyglądać odwrotnie czyli tak<br /><br />[syntax=c]<br />#define UART_DE_NADAWANIE  UART_DE_PORT |= UART_DE_BIT<br />#define UART_DE_ODBIERANIE  UART_DE_PORT &amp;= ~UART_DE_BIT<br />[/syntax]<br />Niestety po tej operacji nadal się nie poprawiło a powiedziałbym nawet że pogorszyło bo nawet raz nic nie nadał po resecie.<br />Zacząłem się więc przyglądać plikowi mkuart.c.<br />W funkcji inicjującej jest wywołane UART_DE_ODBIERANIE:<br />[syntax=c]<br />// jeśli korzystamy z interefejsu RS485<br />#ifdef UART_DE_PORT<br />// inicjalizujemy linię sterującą nadajnikiem<br />UART_DE_DIR |= UART_DE_BIT;<br />UART_DE_ODBIERANIE;<br />#endif[/syntax]<br /><br />Przed poprawką de facto w inicjalizacji ustawiało się układ na nadawanie stąd program raz wysłał dane a następnie przy obsłudze przerwania USART_TXC_vect ustawiał układ na odbiór i już nic więcej nie nadawał:<br /><br />[syntax=c]<br />// procedura obsługi przerwania Tx Complete, gdy zostanie opóżniony UDR<br />// kompilacja gdy używamy RS485<br />#ifdef UART_DE_PORT<br />ISR( USART_TXC_vect ) {<br />UART_DE_PORT &amp;= ~UART_DE_BIT;// zablokuj nadajnik RS485<br />}<br />#endif<br />[/syntax]<br />Co ciekawe w obsłudze tego przerwania nie ma błędu bo blokowanie nadajnika jest robione stanem niskim z tym że nie ma tu odwołania do definicji UART_DE_ODBIERANIE (co by dawało w oryginalnej wersji odwrotny skutek) a jest operacja robiona na nazwach portów. Dzięki temu pierwotny program po opróżnieniu bufora nadawczego przełączał się na wieczny odbiór.<br />Konieczne było więc jeszcze aktywowanie nadajnika podczas przerwania nadawczego dodając do obsługi przerwania załacznie nadajnika:<br />[syntax=c]<br />// definiujemy procedurę obsługi przerwania nadawczego, pobierającą dane z bufora cyklicznego<br />ISR( USART_UDRE_vect)  {<br />    // sprawdzamy czy indeksy są różne<br />    if ( UART_TxHead != UART_TxTail ) {<br />    // obliczamy i zapamiętujemy nowy indeks ogona węża (może się zrównać z głową)<br />    UART_TxTail = (UART_TxTail + 1) &amp; UART_TX_BUF_MASK;<br />    // zwracamy bajt pobrany z bufora  jako rezultat funkcji<br />UART_DE_NADAWANIE;// dodanie wlaczenia nadajnika<br />    UDR = UART_TxBuf[UART_TxTail];<br />    } else {<br />// zerujemy flagę przerwania występującego gdy bufor pusty<br />UCSRB &amp;= ~(1&lt;&lt;UDRIE);<br />    }<br />}[/syntax]<br />Nie jestem pewien czy to było dobre miejsce na dodanie tego załączenia ale po tych modyfikacjach wygląda na to że program działa poprawnie. Mam nadzieję że się nigdzie nie pomyliłem i moje wypociny są słuszne choć biorąc pod uwagę godzinę to różnie może być. Dlatego bardzo bym prosił autora o ustosunkowanie się a jeśli nie mam racji to krytykę godnie zniosę a i przy okazji czegoś się nauczę <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Pozdrawiam<br />Jarek<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=582">jark</a> — 29 paź 2012, o 01:48</p><hr />
]]></content>
</entry>
</feed>