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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-08-25T22:46:50+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=12737&amp;mode</id>
<entry>
<author><name><![CDATA[tomek]]></name></author>
<updated>2015-08-25T22:46:50+01:00</updated>
<published>2015-08-25T22:46:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138335#p138335</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138335#p138335"/>
<title type="html"><![CDATA[Re: Osobno działa a razem już nie ... PART II :-D]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138335#p138335"><![CDATA[
Uparłem się że rozwiążę problem z prawidłowym odczytem klawiszy klawiatury matrycowej w przerwaniach i rozwiązałem. <br />Problem okazał się dość zakręcony i bardziej natury elektronicznej niż informatycznej, układ zachowywał się się dość dziwnie ....<br />Teoretycznie wszystkie bloki w mikrokontrolerze są taktowane i synchronizowane zegarem. <br />Okazuje się jednak że bufory portów wprowadzają jakieś małe opóźnienia przy wystawianiu i odczytywaniu stanów pinów z zewnątrz. <br />W przypadku programu u mnie okazało się że kiedy wystawiam bajt na port zewnętrzny B i od razu próbuję go odczytać nie dało się tego zrobić prawidłowo .....<br />Niestety nie znam innej metody na krótkie opóźnienie więc wykorzystałem pomysł z wprowadzeniem operacji NOP w asemblerze, wstawiłem volatile bo kompilator<br />kasował NOP bez volatile. Okazuje się też że różne mikrokontrolery mają to opóźnienie w buforach różne ... W ATmega 16 u mnie taktowanej 8MHz zegarem musiałem wstawić <br />4 NOPy żeby port czytał poprawnie a w ATmega 8 wystarczą 2 NOPy <br />Poniżej prosty i działający kod wykorzystujący  przerwanie co ok. 1/50 sek z 8 mio bitowego timera.<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &quot;LCD/lcd44780.h&quot;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />volatile uint8_t KEY ;<br />volatile uint8_t x ;<br />volatileuint8_t y=0;<br />//deklaracje funkcji<br />void SettingInterrupt(void);<br /><br /><br />int main (void)<br /><br />{<br />DDRB=0x0F;<br />PORTB = 0xFF ;<br /><br />SettingInterrupt();<br />sei();<br /><br />lcd_init();<br /><br />while (1)<br />{<br />lcd_cls();<br />lcd_locate(0,0);<br />lcd_hex (KEY );    // test - numeru klawisza<br /><br />_delay_ms(100);  // opóźnienie symuluje resztę programu<br />}<br />}<br /><br />//definicje funkcji<br /><br />ISR(TIMER0_COMP_vect)<br />{<br />uint8_t y=0;<br /><br />while (y&lt;4)<br />{<br />x=PORTB;<br />x =( x | 0x0F ) ^ ( 1&lt;&lt;y );<br />PORTB=x;<br />asm volatile (&quot;nop&quot;);<br />asm volatile (&quot;nop&quot;);<br />asm volatile (&quot;nop&quot;);<br />asm volatile (&quot;nop&quot;);<br /><br />x=PINB;<br />if(( x &amp; 0xF0 ) !=0xF0)<br />{<br />if      (( x &amp; 0x10 ) ==0)  x=0 ;<br />else if (( x &amp; 0x20 ) ==0 ) x=1 ;<br />else if (( x &amp; 0x40 ) ==0 ) x=2 ;<br />else x=3 ;<br />x=x+y*4; // dla matrycy 4x4<br />KEY=x;<br />}<br />y++ ;<br />}<br />}<br /><br /><br />void SettingInterrupt(void)<br />  {<br />          TCCR0 |= (1&lt;&lt;WGM01);<br />          TCCR0 |= (1&lt;&lt;CS02) | (1&lt;&lt;CS00);<br />          OCR0 = 255;<br />          TIMSK |= (1&lt;&lt;OCIE0);<br />         }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=178">tomek</a> — 25 sie 2015, o 22:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tomek]]></name></author>
<updated>2015-08-25T08:38:31+01:00</updated>
<published>2015-08-25T08:38:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138264#p138264</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138264#p138264"/>
<title type="html"><![CDATA[Re: Osobno działa a razem już nie ... PART II :-D]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138264#p138264"><![CDATA[
Wygląda na to że kod obsługi przerwania powinien być bardzo &quot;zwarty&quot; i nie należy w nim umieszczać odwołań gdzieś &quot;daleko....&quot;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=178">tomek</a> — 25 sie 2015, o 08:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tomek]]></name></author>
<updated>2015-08-24T23:48:07+01:00</updated>
<published>2015-08-24T23:48:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138254#p138254</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138254#p138254"/>
<title type="html"><![CDATA[Re: Osobno działa a razem już nie ... PART II :-D]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138254#p138254"><![CDATA[
Doczytam jeszcze trochę ... a rano spróbuję napisać programik odczytujący klawisze ale bez pętli żeby wywalić zmienne ... zobaczymy jak ten będzie się zachowywał w przerwaniu<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=178">tomek</a> — 24 sie 2015, o 23:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tomek]]></name></author>
<updated>2015-08-24T21:29:43+01:00</updated>
<published>2015-08-24T21:29:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138248#p138248</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138248#p138248"/>
<title type="html"><![CDATA[Re: Osobno działa a razem już nie ... PART II :-D]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138248#p138248"><![CDATA[
Dziwne ... po wciśnięciu klawisza odczytywane jest jego numer ale wygląda na to że program &quot;nie wychodzi&quot; z tego przerwania ..... tak jakby obsługa przerwania działała jak:<br /><br />while(1)<br />{<br />obsługa przerwania<br />}<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=178">tomek</a> — 24 sie 2015, o 21:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tomek]]></name></author>
<updated>2015-08-24T20:26:46+01:00</updated>
<published>2015-08-24T20:26:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138242#p138242</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138242#p138242"/>
<title type="html"><![CDATA[Re: Osobno działa a razem już nie ... PART II :-D]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138242#p138242"><![CDATA[
z volatile i static próbowałem, niestety odczytywanie stanu klawiszy zaczyna działać dopiero po &quot;twardym INT0&quot; czyli zwarciu &quot;z ręki&quot; .... <br />zobaczę zaraz ten artykuł .... dam znać jak sprawdzę do czego doszedłem .... idę czytać<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=178">tomek</a> — 24 sie 2015, o 20:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[icer_cmg]]></name></author>
<updated>2015-08-24T20:10:14+01:00</updated>
<published>2015-08-24T20:10:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138239#p138239</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138239#p138239"/>
<title type="html"><![CDATA[Re: Osobno działa a razem już nie ... PART II :-D]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138239#p138239"><![CDATA[
<div class="quotetitle">tomek napisał(a):</div><div class="quotecontent"><br />uint8_t KEY ;<br /></div><br /><br />[syntax=c]volatile uint8_t KEY ;[/syntax]Nie wiem czy nie czasem tak<br /><br /><a href="http://mirekk36.blogspot.com/2011/08/test.html"  class="postlink">http://mirekk36.blogspot.com/2011/08/test.html</a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1636">icer_cmg</a> — 24 sie 2015, o 20:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tomek]]></name></author>
<updated>2015-08-24T21:19:28+01:00</updated>
<published>2015-08-24T19:28:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138236#p138236</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138236#p138236"/>
<title type="html"><![CDATA[Re: Osobno działa a razem już nie ... PART II :-D]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138236#p138236"><![CDATA[
Wklejam jeszcze raz z małymi poprawkami. Powiem do czego doszedłem a do czego nie ....<br />Więc jest tak :<br />Po resecie i wciśnięciu dowolnego klawisza startuje przerwanie i funkcja scankbd(void) coś tam robi <br />ale numeru klawisza nie zwraca. I teraz uwaga... bo będzie cud   <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> <br />Jak wywołam INT0  &quot;ręcznie&quot; czyli dam masę na moment na pina, funkcja się &quot;naprawia&quot; i od tego czasu<br />już prawidłowo odczytuje i wyświetla na LCD numery klawiszy ....<br />Wydaje mi się że sam kod funkcji jest w miarę ok bo jest stosunkowo prosty i w main samodzielnie działa ok.<br />Tak intuicyjnie przez skórę czuję że coś może być na rzeczy z inicjowaniem zmiennych i tym co się z nimi dzieje podczas obsługi przerwania ...<br />Przeczytałem na ten temat parę zdań w rozdziale o sterowaniu Ledami w BB Mirka  i o przedrostku &quot;static&quot; ale za mało wiem jeszcze, żeby to świadomie analizować.<br />Generalnie podsumowując mój problem można to ująć tak :<br />co trzeba zmienić w funkcji która samodzielnie w main działa prawidłowo ale wywołana w przerwaniu działa wadliwe ?<br /><br /><br /><br /><br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &quot;LCD/lcd44780.h&quot;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />volatile uint8_t KEY ;<br /><br />//deklaracje funkcji<br />void SettingInterrupt(void);<br />uint8_t scankbd(void);<br /><br />int main (void)<br /><br />{<br />SettingInterrupt();<br />sei();<br /><br />lcd_init();<br /><br />while (1)<br />{<br />_delay_ms(500);<br />lcd_locate(1,0);<br />lcd_int ( KEY );    // test - kopia wyświetlania numeru klawisza<br />}<br />}<br /><br />//definicje funkcji<br />uint8_t scankbd(void)<br />{<br />DDRB=0x0F;<br />PORTB=0xFF;<br />uint8_t y=0;<br />        uint8_t x ;// ??? static  x y <br />while (y&lt;4)<br />{<br />x=PORTB;<br />x =( x | 0x0F ) ^ ( 1&lt;&lt;y );<br />PORTB=x;<br />asm volatile (&quot;nop&quot;);<br />x=PINB;<br />if(( x &amp; 0xF0 ) !=0xF0)<br />{<br />if      (( x &amp; 0x10 ) ==0)  x=0 ;<br />else if (( x &amp; 0x20 ) ==0 ) x=1 ;<br />else if (( x &amp; 0x40 ) ==0 ) x=2 ;<br />else x=3 ;<br />x=x+y*4;<br />KEY = x ;<br />lcd_cls();<br />lcd_locate(0,0);<br />lcd_int ( KEY );  // test - numer klawisza<br /> return x;<br />}<br />y++ ;<br /><br />}<br />return 255;<br />}<br /><br />ISR(INT0_vect)<br />{<br />scankbd();<br />DDRA=(1&lt;&lt;PA4); // dioda kontrolka test czy klawisze wywołają przerwanie<br />PORTA=(1&lt;&lt;PA4);<br />_delay_ms(500);<br />PORTA &amp;= ~(1&lt;&lt;PA4);<br />}<br /><br />void SettingInterrupt(void)<br />  {<br />          PORTD |= (1&lt;&lt;PD2);               // podciągnięcie pinu INT0 do VCC<br />          MCUCR &amp;= ~(1&lt;&lt;ISC01) ;             // wyzwalanie zerem<br />          MCUCR &amp;= ~(1&lt;&lt;ISC00) ;<br />          GICR |= (1&lt;&lt;INT0);               // odblokowanie przerwania<br />        }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=178">tomek</a> — 24 sie 2015, o 19:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tomek]]></name></author>
<updated>2015-08-23T23:14:08+01:00</updated>
<published>2015-08-23T23:14:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138198#p138198</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138198#p138198"/>
<title type="html"><![CDATA[Re: Osobno działa a razem już nie ... PART II :-D]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138198#p138198"><![CDATA[
Sorka za  &quot;zakomentowaną&quot;  pierwszą linie , źle wkleiłem listing z Eclipsa ....<br />Już poprawiłem ... zwaliła mi się Rodzinka więc nie mam jak posiedzieć teraz , jak pójdą sobie zaglądnę ....<br />na spokojnie przemyślę Wasze uwagi i spróbuję poprawić uwzględniając Wasze sugestie ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=178">tomek</a> — 23 sie 2015, o 23:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2015-08-23T20:00:38+01:00</updated>
<published>2015-08-23T20:00:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138182#p138182</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138182#p138182"/>
<title type="html"><![CDATA[Re: Osobno działa a razem już nie ... PART II :-D]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138182#p138182"><![CDATA[
a ja widzę i we while i w przerwaniu funkcję<br /><br />scankbd();<br /><br />co prawda we while zakomentowane ale i while(1) zakomentowane więc nie zadziała ci program<br /><br />na początek zamiast odkomentowywać całe while zrób tak:<br /><br />while(1);<br /><br />i na samej górze 1 linia również ci broi.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 23 sie 2015, o 20:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2015-08-23T19:06:40+01:00</updated>
<published>2015-08-23T19:06:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138174#p138174</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138174#p138174"/>
<title type="html"><![CDATA[Re: Osobno działa a razem już nie ... PART II :-D]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138174#p138174"><![CDATA[
Usuń tą linię nr1, bo ciężko się tak czyta kod (wszystko jest zakomentowane). <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=7157">anshar</a> — 23 sie 2015, o 19:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matekogon]]></name></author>
<updated>2015-08-23T19:04:23+01:00</updated>
<published>2015-08-23T19:04:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138172#p138172</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138172#p138172"/>
<title type="html"><![CDATA[Re: Osobno działa a razem już nie ... PART II :-D]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138172#p138172"><![CDATA[
Kolego według mnie zły pomysł wykonywać to &quot; scankbd()&quot;  w przerwaniu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1380">matekogon</a> — 23 sie 2015, o 19:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-08-23T19:00:23+01:00</updated>
<published>2015-08-23T19:00:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138170#p138170</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138170#p138170"/>
<title type="html"><![CDATA[Re: Osobno działa a razem już nie ... PART II :-D]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138170#p138170"><![CDATA[
No nie działa bo zakomentowałeś całą pętlę gówną w funkcji main() ... więc program po włączeniu od razu kończy działanie ... a tymczasem w totalnych podstawach C, w BB masz napisane, że taka pętla musi być - więc ją odkomentuj przede wszystkim, może być nawet pusta<br /><br />no i źle listing wstawiłeś - zajrzyj tutaj: <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic7402.html" >topic7402.html</a><!-- l --> jak to się robi ok?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 23 sie 2015, o 19:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tomek]]></name></author>
<updated>2015-08-23T23:04:53+01:00</updated>
<published>2015-08-23T18:40:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138166#p138166</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138166#p138166"/>
<title type="html"><![CDATA[Osobno działa a razem już nie ... PART II :-D]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12737&amp;p=138166#p138166"><![CDATA[
Do obsługi LCD soft Mirka i działa ok.<br />Funkcja zczytywania stanu klawiatury odpalona bezpośrednio w main chodzi bez zarzutu, analogicznie samo przerwanie odpalone &quot;pojedynczo&quot; w main działa też prawidłowo.<br />Po połączeniu razem przerwanie INT0 nie włącza czytania klawiatury .... Weźcie pod uwagę że to jedne z pierwszych programów więc trywialne błędy całkiem możliwe. <br />Oczywiście kompilować się kompiluje ok ale nie działa ....<br />Będę kombinował sam ale może jakaś podpowiedź chociaż .... <br /><br /><br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &quot;LCD/lcd44780.h&quot;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />uint8_t x ;<br /><br />//deklaracje funkcji<br />void SettingInterrupt(void);<br />uint8_t scankbd(void);<br /><br />int main (void)<br />{<br />SettingInterrupt();<br />sei();<br />lcd_init();<br />lcd_cls();<br />//while (1)<br />//{<br />//_delay_ms(500);<br />// scankbd();<br />//}<br />}<br /><br />//definicje funkcji<br />uint8_t scankbd(void)<br />{<br />DDRB=0x0F;<br />PORTB=0xFF;<br />uint8_t y=0;<br />//uint8_t x ;<br />while (y&lt;4)<br />{<br />x=PORTB;<br />x =( x | 0x0F ) ^ ( 1&lt;&lt;y );<br />PORTB=x;<br />asm volatile (&quot;nop&quot;);<br />x=PINB;<br />if(( x &amp; 0xF0 ) !=0xF0)<br />{<br />if      (( x &amp; 0x10 ) ==0)  x=0 ;<br />else if (( x &amp; 0x20 ) ==0 ) x=1 ;<br />else if (( x &amp; 0x40 ) ==0 ) x=2 ;<br />else x=3 ;<br />x=x+y*4;<br /><br />lcd_locate(0,0);<br />lcd_cls();<br />lcd_int ( x );<br />_delay_ms(100); // bez delay miga kiedy sie przytrzyma klawisz<br /><br />return x;<br />}<br />y++ ;<br />}<br />}<br /><br />ISR(INT0_vect)<br />{<br />scankbd();<br />DDRA=(1&lt;&lt;PA4); // dioda kontrolna<br />PORTA=(1&lt;&lt;PA4);<br />}<br /><br />void SettingInterrupt(void)<br />  {<br />          PORTD |= (1&lt;&lt;PD2);               // podciągnięcie pinu INT0 do VCC<br />          MCUCR &amp;= ~(1&lt;&lt;ISC01) ;             // wyzwalanie zerem<br />          MCUCR &amp;= ~(1&lt;&lt;ISC00) ;<br />          GICR |= (1&lt;&lt;INT0);               // odblokowanie przerwania<br />        }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=178">tomek</a> — 23 sie 2015, o 18:40</p><hr />
]]></content>
</entry>
</feed>