☃️ Prośba O Pomoc W Organizacji Festynu
Podziękowanie za pracę przy organizacji festynu. Dyrekcja Szkoły pragnie złożyć gorące podziękowania wszystkim zaangażowanym w przygotowanie i zorganizowanie szkolnego festynu. Dziękuję wszystkim rodzicom, którzy pomagali w organizacji i wspierali rzeczowo całą imprezę. Dziękuję wszystkim darczyńcom, którzy materialnie
Proszą również o odsprzedanie za niewielkie pieniądze lub podarowanie komputera, dzięki któremu mogliby wykonywać drobne prace chałupnicze. Wszystkich, którzy mogą okazać pomoc, prosimy o kontakt z ks. Wiesławem Kanią, proboszczem parafii Najświętszego Serca Jezusowego przy ul Kawęczyńskiej w Warszawie, tel. 619 58 03.
Podziękowania minister Elżbiety Bojanowskiej za organizację konferencji podziekowania _Niepodlegla.pdf 0.65MB Strony dostępne w domenie www.gov.pl mogą zawierać adresy skrzynek mailowych. Użytkownik korzystający z odnośnika będącego adresem e-mail zgadza się na przetwarzanie jego
Umowa na organizację eventu firmowego – podstawowe kwestie. Przede wszystkim należy pamiętać, aby umowa została zawarta na piśmie. Przy organizacji tak dużego wydarzenia jakim jest impreza firmowa nie należy bazować na umowie ustnej, ponieważ jest to zbyt duże przedsięwzięcie. Może być ona powodem niepotrzebnych spięć czy
§ prośba o pomoc (odpowiedzi: 1) Witam mam prośbe o pomoc w pewnej sprawie a więc tak. Jestem kierowca mzk podczas wykonywania pracy zaistaniała taka sytuacja podczas wjazdu na § Bardzo proszę Państwa o pomoc- uczelnia. (odpowiedzi: 1) Witam. Jestem w klasie maturalnej. Zadecydowałem, że będę starał się dostać na studia prawnicze.
Serdecznie dziękujemy za pomoc i wsparcie podczas organizacji 23. festynu w ramach Dni Kultury Chrześcijańskiej 2021. Dziękujemy za pomoc i zaangażowanie w działalność Parafialnego Oddziału Akcji Katolickiej w Szubinie!
Podziękowania za pomoc w organizacji festynu. Red. 13 czerwca 2022 o 21:28. Dyrektor, grono pedagogiczne, uczniowie, Rada Rodziców Szkoły Podstawowej w Zbytowej oraz Rada Sołecka wsi Zbytowa bardzo SERDECZNIE DZIĘKUJĄ za ofiarność i otwartość, wsparcie finansowe na zakup "fantów" oraz za różne artykuły przeznaczone na Loterię
Festynu Rodzinnego „ Czas na prawidłową postawę" §1 Postanowienia ogólne Niniejszy regulamin został opracowany na podstawie przepisów: Ustawy z dnia 20 marca 2009 r. o bezpieczeństwie imprez masowych (t.j. Dz.U. z 2013 r. poz. 611 ze zm.), Ustawy z dnia 7 września 1991 r. o systemie oświaty (t.j. Dz.U. z 2004 r. Nr 256 poz. 2572 ze
Knurów: Podziękowania za pomoc w organizacji festynu przy Miejskim Przedszkolu nr 12 ——- więcej informacji na naszej platformie IKNW:
AYxUUg. Zakończyła się pewna epoka w Mosinie. Decyzją władz samorządowych, MOK i OSiR zaprzestano organizowania dożynek gminnych. Według informacji uzyskanych od dyrektora Mosińskiego Ośrodka Kultury, Marka Dudka dożynki o charakterze gminnym przestaną być organizowane. – Nie jesteśmy typową gminą rolniczą – powiedział w rozmowie telefonicznej Pan Marek Dudek dyrektor MOK. – Powód zaprzestania organizowania dożynek gminnych okazuje się prozaiczny – co raz mniejsza ilość rolników gotowa jest przejąć na siebie trud organizacji. Okazuje się bowiem, że z roku na rok brakuje chętnych rodzin rolniczych gotowych do pomocy przy organizacji imprez dożynkowych. Mosiński Ośrodek Kultury, organizując Gminne Dożynki, nie zwracał się do rolników z prośba o pomoc w organizacji. Jedyne kwestie, które kierowaliśmy do sołectw gminy Mosina to prośba o udział w korowodzie dożynkowym z wieńcem, który reprezentował dane sołectwo. Ponadto Burmistrz Gminy typował kandydatów do uczestnictwa w obrzędzie dożynkowym w formie Starosty i Starościny Dożynek Gminnych. W jednym i drugim przypadku występował problem z chętnymi do udziału. Gmina Mosina nie jest gminą rolniczą. Na terenie większości sołectw mieszka i pracuje w rolnictwie zaledwie po kilku lub kilkunastu rolników. Są też sołectwa pozbawione typowych rolników. – Uroczystość dożynkowa ma swój tradycyjny od wieków obrzęd, który składa się z uroczystego podziękowania za zebrane plony oraz radosnej zabawy po zakończeniu żniw – powiedział Marek Dudek. – Bardzo trudno w pełnym zakresie realizować w Gminie Mosina pierwszą, najważniejszą część obrzędu. Dlatego decyzja aby zrezygnować z gminnej uroczystości dożynkowej na rzecz pomocy w organizacji form sołeckich oraz parafialnych /Rogalinek, Sasinowo, Czapury, Daszewice, Wiórek, Babki, Krosno, Drużyna-Nowinki i inne/ oraz organizować imprezę o charakterze rekreacyjnym i rozrywkowym – odbyła się w dniu 15 sierpnia w ramach festynu „Spotkanie z Polską”. Dla przypomnienia, przy organizacji imprez dożynkowych w gminie Mosina odpowiedzialne były MOK, OSiR, władze samorządowe oraz właśnie rodziny rolnicze zamieszkujące gminę Mosina. W gminie Mosina stosunkowo niewiele jest osób wykonujących zawód danych z Powszechnego Spisu Rolnego z 2010 r. w gminie funkcjonuje prawie 800 gospodarstw rolnych, o łącznej powierzchni 11 847 ha. Prawie połowa (47%) to gospodarstwa małe, o powierzchni do 1 ha włącznie. Około 17% stanowią gospodarstwa o powierzchni 15 ha i więcej. 430 gospodarstw prowadzi działalność rolniczą – są to głównie gospodarstwa powyżej 1 ha. 215 gospodarstw utrzymuje zwierzęta gospodarskie. Około 33% gospodarstw rolnych posiada ciągniki. Z całkowitej liczby podmiotów gospodarczych w Mosinie, rolnictwo, leśnictwo oraz rybactwo stanowi zaledwie 3%. Jest to bardzo mało, zważywszy na fakt, że gmina Mosina jest gminą miejsko-wiejską. Podmioty gospodarcze w gminie Mosina Zgodnie z zasadą: „W naturze nic nie ginie” pustkę dożynek gminnych ma wypełnić festyn rodzinny o nazwie: Spotkanie z Polską organizowany na mosińskim rynku. Impreza ta pierwszy raz odbyła się 15 sierpnia, jednak nie cieszy się ona jeszcze tak dużym zainteresowaniem jak dożynki gminne. Dożynki gminne były organizowane od 2004 roku. Imprezę tę zapoczątkowała ówczesna burmistrz Zofia Springer. Do tej pory odbyło się 11 edycji tej imprezy. Cieszyły się one ogromną popularnością, a mieszkańcy licznie w nich uczestniczyli. Szkoda, że ta inicjatywa upadła, i że nie ma już takiej motywacji… Dożynki w gminie Mosina W tym roku zorganizowane zostały Dożynki sołeckie w Rogalinku i Sasinowie – impreza odbyła się w miniony weekend tj. 21 sierpnia. Oprócz tego, na terenie gminy Mosina, organizowany jest przez sołtysów Czapur i Wiórka festyn dożynkowy. Z przyczyn atmosferycznych festyn ten został przeniesiony na dzień (niedziela) i odbędzie się w godzinach 15:00-23:00. Oprócz tego imprezy dożynkowe organizowane są również w Stęszewie oraz Komornikach. Ocena artykułu: (Głosujących: 21)
Pytanie: Proszę o wskazanie jak mam oszacować wartość zamówienia na realizacje kompleksową festynu, w skład którego wchodzi wywieszenie banerów, instalacja i obsługa domu dmuchanego, kolportaż reklamówek itp. Czy należy oddzielnie liczyć każdy element i gdy już kupowałem reklamówki czy należy łącznie liczyć wartość zamówienia? Proszę o przytoczenie przykładu jak oszacować, przeprowadzić postępowanie i zawrzeć umowę ramową na dostawę środków czystości ( pasty do podłóg, ścierki, płyny do naczyń itp.)? Czy stosując prawo opcji muszę stosować proporcjonalność np. zamówienie podstawowe 40% a opcja 80% , gdyż w takich proporcjach mogę otrzymać transze finansowe? Pozostało jeszcze 88 % treściAby zobaczyć cały artykuł, zaloguj się lub zamów dostęp. Nie jesteś jeszcze użytkownikiem Portalu? Zamów już teraz pełny dostęp do portalu i korzystaj z: 4 519 fachowych porad prawnych możliwości zadawania 3 własnych pytań w miesiącu codziennie aktualizowanej bazy ponad 650 000 przetargów nielimitowanej możliwości ustawienia alertów i powiadomień o nowych przetargach ponad 200 wzorów dokumentów 22 szkoleń wideo na tematy związane z Pzp wyroków KIO oraz słownika kodów CP Zamów dostęp Mam już dostęp Jeśli masz już konto w Portalu ZP Autor: Ksenia Latosaplikant radcowski, specjalista ds. zamówień publicznych z wieloletnim doświadczeniem po stronie wykonawcy, pełnomocnik przed KIO oraz sądami w sprawach dotyczących zamówień publicznych
Autor Wiadomość Tytuł: switch case - prośba o pomoc w organizacji instrukcjiNapisane: 7 sty 2016, o 23:42 Użytkownik Dołączył(a): 02 kwi 2015Posty: 447 Pomógł: 2 Witam!Zorganizowałem licznik 100ms w przerwaniu timera sprzętowego. Próbuję zmusić licznik aby po doliczeniu do konkretnej wartości ( uległ wyzerowaniu, wykonał ciąg instrukcji switch case (linia 7), a następnie liczył dalej do 600 i tak bez przerwy. Nie bardzo wiem, w którym miejscu kodu umieścić tę procedurę. Bardzo proszę o cMusisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć instrukcji do wykonania:język cMusisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć Góra Google kicajek Dołączył(a): 11 sty 2013Posty: 1760 Pomógł: 196 Witamavrfun napisał(a): wykonał ciąg instrukcji switch case...ale tak "ciurkiem" czy co 100ms?Pozdr. Góra avrfun Dołączył(a): 02 kwi 2015Posty: 447 Pomógł: 2 Góra avrfun Dołączył(a): 02 kwi 2015Posty: 447 Pomógł: 2 badania nad "rozjeżdżaniem się" timerów programowych napisałem krótki program testowy (poniżej). Umieściłem w nim 2 debuggery jednodiodowe. Spodziewałem się, że obie diody będą mrugać w tym samym rytmie gdyż timer programowy (tu z założenia) powinien zerować się co 10ms, ale tak nie jest (zdjęcie poniżej). Nie potrafię tego wyjaśnić. Proszę o podpowiedź. język cMusisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Pozdrawiam Góra Google rskup Dołączył(a): 11 mar 2014Posty: 1475 Pomógł: 167 W którymś momencie Timer1 dochodzi Ci do zera i już z nim nic nie pętla główna się cały czas wykonuje, bo tam masz już spełniony warunek język cMusisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć Pozdrawiam,Robert Góra MirkoT Użytkownik Dołączył(a): 24 sty 2012Posty: 1468 Pomógł: 56 A jak wygląda deklaracja i definicja zmiennej Timer1------------------------ [ Dodano po: 2 minutach ]rskup napisał(a):W którymś momencie Timer1 dochodzi Ci do zera i już z nim nic nie pętla główna się cały czas wykonuje, bo tam masz już spełniony warunek język cMusisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć Pozdrawiam,RobertNie, nie... w przerwaniu jest cały czas dekrementowana, więc się przekręca i znów działa. _________________Jestem początkujący i moje porady mogą być błędne Góra rskup Dołączył(a): 11 mar 2014Posty: 1475 Pomógł: 167 A gdzie? Masz:język cMusisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć tylko wykonuje się jak Timer1 (n) jest różny od Pozdrawiam,Robert Góra avrfun Dołączył(a): 02 kwi 2015Posty: 447 Pomógł: 2 rskup napisał(a):W którymś momencie Timer1 dochodzi Ci do zera i już z nim nic nie pętla główna się cały czas wykonuje, bo tam masz już spełniony warunekSkładnia: [ Pobierz ] [ Ukryj ]język cif(!Timer1){GeSHiDzięki. Dodałem linię 20, aby po wyzerowaniu timera ustawiać go na 1 czyli 10ms, a więc po 100ms powinien wykonać się warunek case 10. W terminalu cyfry od 1-4 pojawiają się po kolei i co 150 tyknięć, ale LED PC6 nadal mruga nieregularnie, więc nie wiem jaka jest częstotliwość zmian i ile trwa tyknięcie. Chciałbym aby warunki instrukcji switch wykonały się po kolei co 100ms. język cMusisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Timer zdefiniowany jest w przerwaniu:język cMusisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć brak regularności w wyświetlaniu kolejnych cyfr w terminalu! Dla mnie w chwili obecnej to jak interferencja dwóch lub więcej rytmów (częstotliwości), które wypadkowo dają nieregularne mruganie diody (impulsy mają długość: 10ms, 30ms (najczęściej) oraz rzadko 20ms). Góra Google avrfun Dołączył(a): 02 kwi 2015Posty: 447 Pomógł: 2 Góra rskup Dołączył(a): 11 mar 2014Posty: 1475 Pomógł: 167 Czy przypadkiem funkcja puts() nie jest blokująca?Daj język cMusisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. jako pierwszą instrukcję w warunku (tym pierwszym, bo i tak sprawdzasz to samo dwa razy).Jakiej prędkości rs232 używasz?-- Pozdrawiam,Robert------------------------ [ Dodano po: 6 minutach ]Jak chcesz mieć regularność twojego programu, to timer nie powinien być zatrzymywany w przerwaniu tylko ponownie przeładowywany a do głównej części programu iść tylko znacznik (inna zmienna) o przepełnieniu nie ma sensu działania ze zliczaniem 1 impulsu bo dokładność masz jednego impulsu ;( Ustawiając Timer1 = 1 nie wiesz na jakim etapie zliczania jest licznik w [ Dodano po: 11 minutach ]Cytuj:W jaki sposób użyć flag przerwania timera sprzętowego (TIMER0 CTC Atmega32) zamiast timera programowego, czyli zamiast: if(!Timer1) {instrukcja; Timer1=100}. Pomyślałem, że po co tworzyć timer programowy gdy można bezpośrednio wykorzystać flagi przerwań - będzie dokładniejTimer programowy ma sens jak zliczasz np. 100 lub 1000 razy wolniejsze zdarzenia niż przerwanie przepełnienia. Ty próbujesz robić to 1 do 1, więc ciężko to nazwać timerem sprawdzić czy nastąpiło przepełnienie to nie włączasz przerwania TIMER0_COMP, tylko sprawdzasz flagę w rejestrze. Masz to wszystko podane w datasheetcie do procesora. Góra kicajek Dołączył(a): 11 sty 2013Posty: 1760 Pomógł: 196 WitamA może tak na żywca; "u mnie" takt to wyliczone wiem czy zadziała; tak bym próbował:język cMusisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć na "górze"język cMusisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Góra avrfun Dołączył(a): 02 kwi 2015Posty: 447 Pomógł: 2 Bardzo dziękuję za porady. Program działa jak należy i "równo" w takt 100ms rskup napisał(a):jako pierwszą instrukcję w warunku (tym pierwszym, bo i tak sprawdzasz to samo dwa razy).Jakiej prędkości rs232 używasz?Tak zrobiłem: Timer1=10 jako pierwsza instrukcjaRS232: 115200rskup napisał(a):Dodatkowo nie ma sensu działania ze zliczaniem 1 impulsu bo dokładność masz jednego impulsu ;( Ustawiając Timer1 = 1 nie wiesz na jakim etapie zliczania jest licznik w po 10 impulsów (10x10ms)rskup napisał(a):Aby sprawdzić czy nastąpiło przepełnienie to nie włączasz przerwania TIMER0_COMP, tylko sprawdzasz flagę w rejestrze. Masz to wszystko podane w datasheetcie do że należy napisać coś w rodzaju: if(flaga sprzętowa){instrukcja}. Jak jednak zliczać 10 takich flag na tyknięcie (100ms), czyli jak zastąpić warunek Timer1=10?kicajek napisał(a):A może tak na żywca; "u mnie" takt to wyliczone dobrze. Rozumiem, że zliczasz 5 impulsów po 20ms na takt?Pozdrawiam Góra Google rskup Dołączył(a): 11 mar 2014Posty: 1475 Pomógł: 167 Cytuj:Zliczam po 10 impulsów (10x10ms)Wcześniej podawałeś kod:Cytuj:język cMusisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć teraz już piszesz:Cytuj:Tak zrobiłem: Timer1=10 jako pierwsza instrukcjaCytuj:należy napisać coś w rodzaju: if(flaga sprzętowa){instrukcja}.Tak. Sprawdzasz flagę. Jak jest ustawiona, to ją od razu kasujesz (uwaga, kasuje się przez wpisanie 1) i zmniejszasz Timer1. Jak Timer1 = 0, to go ustawiasz na wartość startową (10) i wykonujesz napisałeś jaki masz procesor. Ale dla ATmega32 jest to:Cytuj:Jak jednak zliczać 10 takich flag na tyknięcie (100ms), czyli jak zastąpić warunek Timer1=10?Aby mieć sprawdzanie 10 tyknięć to musisz i tak mieć zmienną typu Timer1, która będzie je zliczać. Proponowana przez Ciebie obsługa flag, to po prostu realizacja timera programowego w całości w pętli głównej. Ale raczej tak nie powinno się robić. Aby mieć dokładny timer programowy, to zliczanie tyknięć TIMER0 powinny być robione na przerwaniach. Gdybyś to robił w pętli głównej, to musiałbyś mieć gwarancję, że najdłuższy czas wykonania pętli głównej jest krótszy od tyknięcie TIMER0, bo inaczej możesz zgubić jakieś tyknięcie. Jak robisz to na przerwaniu, to pętla główna powinna być jedynie krótsza niż wartość timera programowego (u ciebie 10 tyknięć TIMER0).-- Pozdrawiam,Robert Góra avrfun Dołączył(a): 02 kwi 2015Posty: 447 Pomógł: 2 napisał(a):Wcześniej podawałeś kod:Cytuj:Składnia: [ Pobierz ] [ Ukryj ]język cif(!Timer1) Timer1 = 1;GeSHichoć teraz już piszesz:Cytuj:Tak zrobiłem: Timer1=10 jako pierwsza instrukcjaPo przemyśleniu i Twoich poradach o dwukrotnym sprawdzaniu tego samego warunku it(!Timer1) i "rozdzielczości", sprawdzam go tylko raz, a Timer ustawiam na 10, zamiast na napisał(a):Aby mieć sprawdzanie 10 tyknięć to musisz i tak mieć zmienną typu Timer1, która będzie je zliczać. Proponowana przez Ciebie obsługa flag, to po prostu realizacja timera programowego w całości w pętli głównej. Ale raczej tak nie powinno się robić. Aby mieć dokładny timer programowy, to zliczanie tyknięć TIMER0 powinny być robione na przerwaniach. Gdybyś to robił w pętli głównej, to musiałbyś mieć gwarancję, że najdłuższy czas wykonania pętli głównej jest krótszy od tyknięcie TIMER0, bo inaczej możesz zgubić jakieś tyknięcie. Jak robisz to na przerwaniu, to pętla główna powinna być jedynie krótsza niż wartość timera programowego (u ciebie 10 tyknięć TIMER0).To rozjaśnia moje spojrzenie na zagadnienie flag przerwań sprzętowych. Sądziłem, że sprzętowo będzie dokładniej, ale teraz rozumiem, że kluczem do tej dokładności jest długość pętli dziękujęPozdrawiam Góra rskup Dołączył(a): 11 mar 2014Posty: 1475 Pomógł: 167 Cytuj:To rozjaśnia moje spojrzenie na zagadnienie flag przerwań sprzętowych. Sądziłem, że sprzętowo będzie dokładniej, ale teraz rozumiem, że kluczem do tej dokładności jest długość pętli liczy timer sprzętowy. W pętla głównej umieszczasz funkcje wymagające dłuższego czasu ich wykonania, ale timerowi sprzętowemu to nie przeszkadza, bo ma przerwania, które się wykonują wstrzymując działanie pętli głównej. Lecz jeżeli chcesz sam sprawdzać flagę znacznika przepełnienia zamiast generować przerwanie, to nie musisz to robić natychmiast po jej ustawieniu, ale musi to być szybciej niż jedno tyknięcie timera sprzętowego, bo inaczej będziesz gubił "tyknięcia".Podobna zasada dotyczy timera programowego, tylko tutaj zakładasz jego długość x razy więcej niż sprzętowego. Dlatego aby zgubić jego "tyknięcie" to musisz w tym wypadku działać w pętli głównej x razy wolniej niż jakbyś sprawdzał timer programowy możesz używać w dwóch trybach. Pierwszy to wystawiający flagę a liczący od razu od początku. Więc jak nie zgubisz, jak wcześniej wpisałem jego tyknięcia, to masz dokładne odstępy. W drugiej wersji nie zliczasz kolejnych tyknięć dopóki nie zaczniesz obsługiwać tego timera. Przez co będziesz miał zmienną długość czasu timera (zależnie od długości działania pętli głównej), ale gwarancję że nie będą zgubione żadne musisz wybrać jakie są wymagania Twojego rozwiązania i co będzie także możesz liczyć i obsługiwać timer programowy na przerwaniu. Tylko funkcje wykonywane na nim muszą to być proste - na przykład miganie może miganie diodą lepiej robić na początku w pętli głównej, bo jej nieregularność od razu mówi, że coś nie do końca tak Pozdrawiam,Robert Góra avrfun Dołączył(a): 02 kwi 2015Posty: 447 Pomógł: 2 rskup napisał(a):Sam musisz wybrać jakie są wymagania Twojego rozwiązania i co będzie napisał(a):Choć może miganie diodą lepiej robić na początku w pętli głównej, bo jej nieregularność od razu mówi, że coś nie do końca tak za dla którego założyłem ten wątek jest rozjeżdżający się timer programowy w dawcy czasu wykorzystywany do odmierzania czasu do synchronizacji wg polecenia:język cMusisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Na debuggerze jednodiodowym i liczniku na LCD obserwuję jego zacinanie się co przekłada się na dłuższe i krótsze czasy do następnej synchronizacji przy stałym zadanym odstępie np. 10 minut. Postanowiłem więc wykonać "ciało" GetNtpTime_EVENT jako osobny program z użyciem timera programowego i flag. Obie wersje działają bardzo dobrze i synchronizacja jest dokładna. Umieszczenie tego w moim kombajnie skutkuje dławieniem się synchronizacji. Tak wygląda pętla while(!): język cMusisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Włączałem i wyłączałem poszczególne instrukcje w różnej kombinacji, ale nieregularność pozostaje. Nie chodzi mi o super dokładność, bo czy synchronizacja nastąpi po 10 czy 15 minutach nie ma znaczenia dla sprawy, ale chodzi o wymknięcie się programu spod mojej kontroli, a to już jest trudne do przyjęcia. Czytając Twoje wyjaśnienia pomyślałem, że można wymusić na sztywno synchronizację po zadanym czasie za pomocą flagi timera sprzętowego licząc się nawet ze stratami. Wyobrażam to sobie tak. Zadany czas do synchronizacji ustawiam np. na 10 minut. Chimeryczny timer programowy generując kolejne tyknięcia co 70, 100, 140, 60ms sprawia, że 10 minut uzbiera się w różnym czasie. Flaga timera sprzętowego zostanie wystawiona dokładnie po 10 minutach i wymusi synchronizację. Powtarzalność Czy takie podejście jest poprawne merytorycznie, a jeżeli tak to jak to zrealizować? Góra rskup Dołączył(a): 11 mar 2014Posty: 1475 Pomógł: 167 A gdzie masz zliczanie timera programowego?Daj więcej kodu. Szczególnie tego związanego z Pozdrawiam,Robert Góra avrfun Dołączył(a): 02 kwi 2015Posty: 447 Pomógł: 2 Cytuj:A gdzie masz zliczanie timera programowego?Daj więcej kodu. Szczególnie tego związanego z timerów programowych:język cMusisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. język cMusisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. język cMusisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. while(1) język cMusisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. GetNtpTime_EVENT() język cMusisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Góra rskup Dołączył(a): 11 mar 2014Posty: 1475 Pomógł: 167 Masz w procedurze obsługi przerwania timera (TIMER2_COMP) zatrzymywanie liczenia dla zmiennych timera programowego Timer1/3/5/_SuperDebounce. Liczenie ponownie uruchamiane jest dopiero w elementach pętli głównej w momencie obsłużenia danego zdarzenia wykonywanego przy wyzerowaniu zmiennej Timer1/3/5/_SuperDebounce. Jest to poprawne, ale czas liczony między kolejnymi zerowaniami danej zmiennej to nie tylko czas wyznaczony przez przerwania przepełnienia timera ale także czas jaki mija na dojście w pętli głównej do momentu ponownego uruchomienia zliczania danego timera programowego (wpisanie do niego wartości różnej od zera). A ten drugi czas zależy od czasu wykonania pozostałych funkcji / eventów w pętli głównej a także od momentu w którym akurat trafi się wyzerowanie zmiennej timera programowego (jak stanie się to tuż przed daną procedurą, to następuje szybko a jak zaraz po niej, to zajmie to czas potrzebny do obsłużenia wszystkich funkcji).Zwróć też jeszcze uwagę, że timer dla NTP uruchamiasz ponownie (* tmr_100ms = 16;) na koniec procedury. Czyli musi się wykonać wszystko co masz tam w danym momencie zrobić i dopiero zaczynasz liczyć. Czyli raz dzieje się to szybciej a raz nie dziwi mnie że Twoje 10 minut jest raz bliższe a raz dalsze tego spodziewanego Pozdrawiam,Robert Góra rskup Dołączył(a): 11 mar 2014Posty: 1475 Pomógł: 167 Co zduplikował się poprzedni post Ostatnio edytowano 13 sty 2016, o 18:33 przez rskup, łącznie edytowano 1 raz Góra avrfun Dołączył(a): 02 kwi 2015Posty: 447 Pomógł: 2 Góra rskup Dołączył(a): 11 mar 2014Posty: 1475 Pomógł: 167 Cytuj:Rozumiem, że timer programowy jest "zatrzymywany" poprzez ustawienie wartości w pętli głównejTimer programowy jest zatrzymywany w procedurze obsługi przerwania timera sprzętowego. Bo zmienna jest zmieniana tylko w przypadku wartości różnej od zera a w momencie wyzerowania już nie:Cytuj:język cMusisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć ponownej wartości różnej od zera następuje w funkcjach / eventach wywoływanych w pętli głównej. I tak dla Timer3 następuje to w evencie GetNtpTime_EVENT() i to samym jego końcu. Więc masz od momentu wyzerowania wartości Timer3 do czasu jego przeładowania nową wartością zatrzymany timer programowy. A czas przeładowania jest zależny jak szybko wejdziesz w GetNtpTime_EVENT() i jakie elementy w nim będą Pozdrawiam,Robert Góra avrfun Dołączył(a): 02 kwi 2015Posty: 447 Pomógł: 2 rskup napisał(a):Dlatego nie dziwi mnie że Twoje 10 minut jest raz bliższe a raz dalsze tego spodziewanego sobie z problemem rozjeżdżania się timera programowego odliczającego czas do następnej synchronizacji poprzez... rezygnację z niego. Wykorzystałem sekundowe zmiany flagi sprzętowej przerwania INT0 - z czasem synchronizacji podawanym jako argument RTC_EVENT(). Teraz synchronizacja jest precyzyjna w dowolnym okresie czasu. Zauważyłem jednak ze zgrozą , że kropka sekundowa mruga bardzo nieregularnie w rytm... timera programowego (cy2 bez kropki / cy2 z kropką). Nie wiem jak włączyć mruganie cy2 w rytm "INT0", a może rozwiązać to zupełnie inaczej. Proszę o w chwili obecnej wygląda tak:język cMusisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć cMusisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć Góra Kto przegląda forum Użytkownicy przeglądający ten dział: Bing [Bot] i 4 gości Nie możesz rozpoczynać nowych wątkówNie możesz odpowiadać w wątkachNie możesz edytować swoich postówNie możesz usuwać swoich postówNie możesz dodawać załączników
prośba o pomoc w organizacji festynu