Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 30 lis 2024, o 08:40


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 36 ]  Przejdź na stronę 1, 2  Następna strona
Autor Wiadomość
PostNapisane: 9 mar 2016, o 17:22 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

chciałbym ogarnąć pomiar czasu impulsu podanego na INT0, impuls na początek pochodzi z Pinu PD0, stworzyłem poniższy kod:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


program oczywiście nie działa :( na wyświetlaczu bardzo szybko miga mi napis start, może ktoś mi pomóc co zrobiłem źle?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 17:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Zdublowały Ci się posty topic14800.html :(

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 17:28 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

rskup napisał(a):
Zdublowały Ci się posty topic14800.html :(

--
Pozdrawiam,
Robert


Dwa razy wysłałem?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 17:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Czasami się zdarza, jak za szybko klikniesz dwa razy (też potrafi się to zrobić przy odpowiedziach).
Trzeba liczyć, że moderator wyjdzie z Lochów i przeniesie jeden wątek w otchłań (bo chyba użytkownik nie może usuwać już opublikowanych wątków).

--
Pozdrawiam,
Robert

------------------------ [ Dodano po: 1 minucie ]

O chyba został ten drugi wątek już usunięty.

------------------------ [ Dodano po: 14 minutach ]

Cytuj:
program oczywiście nie działa :( na wyświetlaczu bardzo szybko miga mi napis start, może ktoś mi pomóc co zrobiłem źle?

Jak masz ciągły migający start, to pewnie resetuje Ci się procesor. A to pewnie przez błędne lub brakujące wektory przerwań.
Jaki procesor stosujesz?

W przerwaniu zmieniasz zbocza na przeciwne, a nie lepiej od razu ustawić reakcję na oba? Teraz jak masz opadające to włączasz bezwarunkowo reagowanie na narastające a przecież jedyne możliwe po opadającym jest narastające. I to samo dotyczy przeciwnego zbocza.

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 17:53 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

Masz rację źle ustawiłem wektor przerwań TIMERA zamiast Timer2 ustawiłem Timero, poprawilem procesor się już nie restartuje, ale dalej mi to nie dziala



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 17:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Jakie masz taktowanie procesora? Bo chcesz robić obsługe przerwania timera z częstotliwością 1MHz (co 1us).

Przestaw na rzadsze przerwania i zobacz czy zadziała.

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 17:57 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

procesor taktowany 16 MHz

------------------------ [ Dodano po: 4 minutach ]

próbuję wyświetlić licznik, w pętli while wstawiłem uruchomienie i zatrzymanie Timera 2, oraz próbę wyświetlenia licznika zliczanego w timerze 2, przerwania od INT na razie zaremowałem, niestety na lcd wyświetla mi się 0 (zero)

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


------------------------ [ Dodano po: 6 minutach ]

Jak ustawić reakcje na oba zbocza?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 18:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Jak chcesz mieć szybciej działające zwiększanie zmiennej w przerwaniu, to przeczytaj uwagę z punktu 13 z artykułu Mirka http://mirekk36.blogspot.com/2012/10/ob ... a-cd3.html

--
Pozdrawiam,
Robert

------------------------ [ Dodano po: 1 minucie ]

A zmieniasz zmienną czas? Bo tylko ten prawdziwy zawsze płynie (a nawet niektórzy mówią w nienadający się na forum sposób, choć prawdziwy, że czas zap...).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 18:09 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

Poprawiłem, troszkę kod i ruszyło, tylko, że w pętli while daje pomiędzy zboczami zwłokę _delay_ms(1), a więc powinno mi pokazać czas na lcd 1000, a pokazuje 8001



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 18:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Cytuj:
Jak ustawić reakcje na oba zbocza?

A odpowiesz na wcześniejsze pytanie jaki masz procesor?
Bo należy zajrzeć do noty katalogowej (może wybrany przez Ciebie procesor akurat tego nie ma na NT0 :().

Niektórzy są wzrokowcami i muszą zobaczyć by zrozumieć :) Więc jak zmieniasz działanie kodu, to wrzucaj całe funkcje ze zmianami, bo ciężko się przenosi na Twój kod z pierwszego posta opisywane kolejne zmiany. A było ich już kilka ...

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 18:16 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

procesor i taktowanie w tytule postu ATMega 32 taktowanie 16MHz, wydaje mi się , że nie ma możliwości ustawienia INT 0 na reakcję na oba zbocza naraz, wstawiam kod

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 18:23 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Cytuj:
procesor i taktowanie w tytule postu ATMega 32 taktowanie 16MHz, wydaje mi się , że nie ma możliwości ustawienia INT 0 na reakcję na oba zbocza naraz
A co znaczy druga pozycja?
Obrazek

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 18:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

rskup napisał(a):
A co znaczy druga pozycja?

...chyba "na opadające" (błędny wpis - wyjaśnienie dalej)
Posłuchaj/pooglądaj to:http://mirekk36.blogspot.com/2013/12/przerwania-dla-poczatkujacych-czesc-03.html

Pozdr.



Ostatnio edytowano 9 mar 2016, o 21:00 przez kicajek, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 18:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Licznik włączasz na początku programu. Liczy sobie i generuje co odpowiedni okres czasu znacznik przerwania. Gdy uznajesz, że chcesz liczyć czas, to włączasz przerwania, ale nie zerujesz flagi w TIFR a ta na pewno jest już ustawiana, więc od razu dostajesz na dzień dobry jedno przerwanie gratis :)


1. Przestaw na początek przerwanie timera na rzadsze, bo teraz masz przerwanie co 16 taktów zegara.
2. wyłącz przerwania INT0 i przenieś cały kod dotyczący timera do pętli głównej i zobacz czy Ci działa. Jak tak, to dopiero zacznij robić testy to na przerwaniu.

--
Pozdrawiam,
Robert

------------------------ [ Dodano po: 1 minucie ]

Cytuj:
...chyba "na opadające"

Druga pozycja to "Any logical change on INT0 generates an interrupt request."



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 19:48 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

[quote="rskup"
2. wyłącz przerwania INT0 i przenieś cały kod dotyczący timera do pętli głównej i zobacz czy Ci działa. Jak tak, to dopiero zacznij robić testy to na przerwaniu.

"[/quote]
tak właśnie zrobiłem, przeniosłem włączanie i wyłączanie timera do pętli głównej, a mimo to przy dealy np 100 us pokazuje 800, a przy dealy np 2 ms pokazuje 1600, 8 razy więcej niż w rzeczywistości

------------------------ [ Dodano po: 24 minutach ]

Zmieniłem obsługę przerwania INT 0 na reakcje na oba zbocza, kod o wiele krótszy
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


dalej jednak mam 8 - krotnie zawyżone odczyty



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 20:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

A zmieniałeś częstotliwość generowania przerwań? Ustaw tak by timer liczył 10 razy wolniej (w dziesiątkach us) i zobacz czy się nie poprawi. Bo jak Ci wcześniej pisałem, obsługa przerwania zajmuje za dużo czasu. Tak wygląda napisana przez Ciebie procedura po skompilowaniu:
Składnia: [ Pobierz ] [ Ukryj ]
język asm
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


A masz na jej wykonanie tylko 16 cykli zegara ...

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 20:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
rskup napisał(a):
Druga pozycja to "Any logical change on INT0 generates an interrupt request."

Przepraszam - jako że ze wzrokiem nie za bardzo, to zasugerowałem się "pismem obrazkowym" na którym zamaziane było "opadające".

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 21:24 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

rskup napisał(a):
A zmieniałeś częstotliwość generowania przerwań? Ustaw tak by timer liczył 10 razy wolniej (w dziesiątkach us) i zobacz czy się nie poprawi. Bo jak Ci wcześniej pisałem, obsługa przerwania zajmuje za dużo czasu. Tak wygląda napisana przez Ciebie procedura po skompilowaniu:
Składnia: [ Pobierz ] [ Ukryj ]
język asm
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


A masz na jej wykonanie tylko 16 cykli zegara ...

--
Pozdrawiam,
Robert

czyli np wpisac do OCR2 160?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 21:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Cytuj:
Przepraszam - jako że ze wzrokiem nie za bardzo, to zasugerowałem się "pismem obrazkowym" na którym zamaziane było "opadające".
Jakiś dziwny pdf dla ATmega32 otworzył mi się z internetu. Miał on zaszarzony fragment w tabeli :( TO chyba taka zmyłka przygotowana przez jego twórców :)

Cytuj:
czyli np wpisac do OCR2 160?
Tak. Choć z tego co pamiętam, to powinno być 159 a nie 160, ale to nie ma większego znacznie (we wzorze do wyliczania wartości dla licznika CTC było zawsze jeszcze -1).

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 21:56 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

Powalczę z tym jutro



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2016, o 07:06 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

Zmieniłem
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


na
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


przerwanie TIMER-a co 10us

teraz przy _delay_us(50); pokazuje mi wynik 7 po pomnożeniu przez 10 daje 70 us
a przy _delay_ms(2); pokazuje mi wynik 274 po pomnożeniu przez 10 daje 2740 us
a wiec źle,

poprzednia wersja jeżeli wynik podzieli się przez 8 działa idealnie tylko dlaczego wyniki są 8 razy większe coś z TIMER-em chyba źle ustawiam

------------------------ [ Dodano po: 16 minutach ]

Napisałem że działa idealnie ale w zakresie od 46 us do 16 ms, powyżej 16 ms daje kosmiczne wyniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2016, o 17:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
Jeśli chcesz, to pobaw się w inny sposób pomiaru tego czasu - niech ilość cykli odmierza sam uC bez wyciskania ostatnich soków z TIMER'a0.
Tu masz taki mały, poglądowy kod jak można to wykonać; wszystko jest raczej zawarte w komentarzach, ale jak by coś to ( jak to mówią dwie pluskwy ) jesteśmy w kontakcie :)
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


...a - pisane pod ATm8 - 8MHz
Tutaj wynik podawany jest w ilość=ms czyli w "ms"
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

to trzeba policzyć dla danego presc. oraz taktowania.

kicajek napisał(a):
Posłuchaj/pooglądaj to:http://mirekk36.blogspot.com/2013/12/przerwania-dla-poczatkujacych-czesc-03.html

tam byś to znalazł - ale po co? ;)

Pozdr.

edit: te wszystkie zmienne mają takie deklarowane rozmiary ( uint8, 16, 32 ) bo "rozprułem" inny mój kod i tam takie potrzebowałem - oczywiście u siebie możesz dać inne, tylko żeby mieściły się w zakresie.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2016, o 18:16 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

Składnia: [ Pobierz ] [ Ukryj ]
język xml
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Mirek nakręcił tyle poradników a niemalże w każdym oprócz głównego tematu porusza jeszcze tyle ciekawych pobocznych rzeczy, że trudno wiedzieć co jest we wszystkich, dzięki za kod pokombinuję.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2016, o 18:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
Hannibal9 napisał(a):
Mirek nakręcił tyle poradników

Wiem - szczerze mówiąc to ja też nie mogę tego ogarnąć :D - może by Mu jakieś badania antydopingowe... - ale co jo godom, co jo godom; wnet pójdę na emeryturę, słuchawki na uszy, okulary na oczy... tylko czy będę pamiętał na czym skończyłem? :lol:

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2016, o 23:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Cytuj:
teraz przy _delay_us(50); pokazuje mi wynik 7 po pomnożeniu przez 10 daje 70 us
a przy _delay_ms(2); pokazuje mi wynik 274 po pomnożeniu przez 10 daje 2740 us

Nie możesz zmierzyć czasu delaya, bo nie wiesz ile on trwa. Pętla robiona przez kompilator ma trwać przez zadany czas. Ale ty robiąc przerwania co 10us zaburzasz ten czas, bo delay jest wstrzymywany na czas przerwania. Czyli delay trwa zadany czas plus czas wszystkich przerwań w tym czasie.

Sposób podany przez kicajka jest o tyle lepszy, że przerwania następują co 256 * zadana rozdzielczość, czyli robiąc to samo masz 256 razy mniej przerwań :)

--
Pozdrawiam,
Robert


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2016, o 23:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
rskup napisał(a):
że przerwania następują co 256 * zadana rozdzielczość

...a te _delay'e w kodzie są testowe - po wyrżnięciu i podłączeniu "normalnego" przebiegu liczy dość-dość. Dodatkowo grzebiąc przy początkowym TCNT0 można uzyskać dowolne ( w rozsądnych granicach ;) ) minimalne długości mierzonych czasów i w rozsądnej rozdzielczości.
A no właśnie, nie wiem czy mi umknęło - jaka rozdzielczość Cię interesuje, bo jak startujesz z us a sprawdzasz sek....

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2016, o 23:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Cytuj:
...a te _delay'e w kodzie są testowe - po wyrżnięciu i podłączeniu "normalnego" przebiegu liczy dość-dość

To było do kolegi Hannibal9 i jego uwag co do wyników. Bo te jego testy w takiej wersji kodu, były jak gonienie własnego ogona przez kota :)

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 mar 2016, o 00:58 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

rskup napisał(a):
To było do kolegi Hannibal9...

Wiem, ja tylko uzupełniłem to co napisałeś o "moim" programie.

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 mar 2016, o 11:05 
Offline
Użytkownik

Dołączył(a): 19 gru 2014
Posty: 155
Zbananowany użytkownik

Pomógł: 0

Panowie, Koledzy dziękuję za pomoc, moje "wypociny" są związane z pewnym małym projekcikiem, w którym mam zamiar użyć 5 czujników odległości HC-SR04. jestem początkujący w uC i w C, tak się zastanawiam czy nie łatwiej było by zakupią 5 czujników analogowych ( są sporo droższe) i obsłużyć je przez ADC, czy próbować z tymi HC.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 mar 2016, o 11:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
Tak szczerze mówiąc to nie wiem jak byś to miał robić za pomocą ADC - ale nie znam tematu; być może tak się robi tylko zastanawia mnie sposób pomiaru bo jego częstotliwość jest ograniczona. Jeśli jeszcze nic nie robiłeś na tych czujnikach to możeT U T A J coś się dowiesz. Co prawda kod "nie po naszemu" ale dobrze komentowany wię można podejrzeć. Tak nawiasem mówiąc na naszym forum często jest jak w kryminale - na samym końcu dowiadujemy się kto jest głównym winowajcą ;) - może trzeba było zacząć od nakreślenia celu, a nie od luźnego zagadnienia "Pomiar czasu trwania impulsu".
Pięć czujników - ( jak wspominałem nie znam tematu ) tutaj chyba trzeba wykorzystać PCINT - więc jednak odsyłam do (najlepiej od początku ) do cz.III przerwań.

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 36 ]  Przejdź na stronę 1, 2  Następna strona

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO