Wyłącz preskaler, bit CKDIV8
https://obrazki.elektroda.pl/2568884200_... Witajcie moi drodzy Zapraszam na kolejną część mojego tutoriala PIC18F2550 i kompilatora SDCC . W tej części zademonstruję jak używać wyświetlacza 7-segmentowego z PIC18F2550 . Kod obsługi wyświetlacza będzie oczywiście napisany w oparciu o przerwania i timery . Cały proces powstawania układu...
Panowie lubię wasze wypowiedzi, w 90% tematów można je znaleźć na tym forum. Moje pytanie, temat nie dotyczy wyboru rozwiązania czy narzędzia.. a jasno sprecyzowanego problemu technicznego, bez dywagacji o tym co lepsze lub jak coś zrobić. Akurat potrzebne mi to jest do zabawy, eksperymentów, czy benchmarków, przy liczeniu czasu wykonania różnych algorytmów...
Na timerze 16 bit + CTC uzyskasz na AVR 15Hz-1MHz z krokiem 15Hz. Jeśli chcesz większych rozdzielczości to musisz zawęzić zakres częstotliwości. Ewentualnie (jeśli program ma robić tylko to) to możesz odmierzać czas za pomocą kilku timerów np. 16 bit liczy z grubsza półokres, potem 1 lub 2 8-bitowe odmierzają dokładny czas i zmiana stanu pinu. Ale żeby...
Przy takim trybie pracy timera (zamiast sugerowanego przez piotrva CTC) Twój zegarek będie się zawsze późnił, bo od zgłoszenia przerwania do przeładowania timera zawsze upłynie pewien czas, w dodatku nie zawsze taki sam. To nie jest dobry sposób na dokładne odmierzanie czasu.
Proszę zapoznać się np. z tym tematem : [url=http://www.elektroda.pl/rtvforum/vi... Dokładny timer, mikrosekundy.
Chodzi o mikrokontrolery? Chyba słabo szukałeś. Wewnętrzne oscylatory zazwyczaj są dużo gorsze i mniej stabilne od zewnętrznych. Zupełnie się nie nadają do dokładnego odmierzania czasu. Poczytaj: https://www.elektroda.pl/rtvforum/topic2... https://www.elektroda.pl/rtvforum/topic2...
1. Usleep nie jest dokładny - zawsze może wynieść więcej. Nie będę wdawał się w szczegóły. 2. Usleep wywołuje funkcję wait w sposób nieoczekujący na sygnał. Generalnie dokonywane jest uśpienie wątku i bodajże odbywa się to na poziomie jądra.
Po pierwsze, nie wysyłaj printf skoro chcesz odmierzać dokładnie. Po drugie, jeśli chcesz sprawdzić co jest nei tak to zapamiętaj w przerwaniu wartość licznika jaka jest w momencie przerwania i ją wyślij uartem. Po trzecie, zeruj licznik w przerwaniu. Po czwarte, musisz mieć dokładny kwarc/generator. Po piąte, używaj typedef i definicji zmiennych uint8_t...
Witam. Też bym był za zastosowaniem układu 4541. Tu jest przykład zastosowaniem takiego układu. http://www.elektroda.pl/rtvforum/topic10... Jest tam też do pobrania jego dokładny opis (PL). Ale może trzeba by zastosować takie dwa układy, pierwszy odmierzał by czas opóźnienia a drygi może musiał by jeszcze odmierzać czas dzwonienia... Układ pobiera...
Instrukcja WAIT Przeznaczenie: Przerywa działanie programu na określony czas. Składnia: WAIT il_sekund Opis: Instrukcja wstrzymuje działanie programu na podaną ilość sekund. Odmierzany czas jest wartością przybliżoną, więc nie należy stosować tej instrukcji do dokładnego odmierzania czasu. Używanie przerwań, może znacznie wydłużyć działanie instrukcji....
Witam. Na swojej stronie chciałbym umieścić skrypt który odmierzał by czas do premiery pewnego filmu. Data premiery fimu zapisana byłaby w pliku .txt . To jest kod który podaje aktualny czas i co sekunde dodaje tą sekunde : [syntax=html4strict] Godzina: <span id='zegar'>1292673689</span><... <script type="text/javascript"> function...
Poproszę jeszcze dokładny schemat połączeń. Nie posiadam. Skoro czujki ruchu mają swój timer, to po co automat w tej sytuacji? Czujki ustawione są na najkrótszy możliwy czas ponieważ to właśnie automat ma odmierzać ten czas. Schemat raczej nie jest potrzebny ponieważ na logikę wiadomo jak to jest podłączone. Mnie interesuje czy to jest spowodowane...
Jesli nie masz kwarcu częstotliwość będzie bardzo pływać... zegar bedzie bardzo nie równo odmierzać czas ( spieszyć albo śpaźniać ) ... Dziś częstotliwość w sieci jest bardzo stabilna, większość zegarów zasilanych sieciowo podstawę czasu bierze z sieci i działają w miarę dokładnie. Sam mam radio-budzik jak wiele innych osób i czas pokazywany jest OK....
W fabrycznych autach jest komputer, który dokładnie wie, co robić. To właśnie ten komputer decyduje na jak długo otworzyć wtryski, wiec on doskonale wie ile paliwa wlał do cylindra, zna temperaturę silnika, ilość obrotów, ilość powietrza w spalinach. Myślę, że pomiar czasu otwarcia wtrysków da nam dość dokładny wynik zużycia paliwa. Zasada działania...
witam Temat być może jest trochę mylący. Ale do rzeczy. Bawię się zestawem zl3avr i jestem na etapie obsługi transmisji w kodzie RC5 w asemblerze. W książce "Mikrokontrolery AVR ATmega w praktyce" podane są gotowe programy do nadawania i odbierania wiadomości w RC5. O ile procedurka nadawania nie budzi żadnych moich wątpliwości, o ile w przypadku odbierania...
HEj. Może znacie jakiś program który dokładnie wyznacza odcinki czasu między danymi funkcjami w programie / ? Chodzi o to aby był b. dokładny tzn. uwzględniał też czas skoku do funkcji oxniającej . Ma to być funkcja odmierzajaca us, potrzebna dla 1 Wire - stąd koniecznośc dokąłdności ... Rady: - dbaj o styl swojej wypowiedzi - nie popełniaj błędów -...
Zamiast "gołej" pętli proponuję użycie funkcji: _delay_loop_2(uint16_t __count) Z biblioteki <avr/delay.h>. Bo raczej miganie LEDkami nie potrzebuje hiper dokładnego odmierzania czasu (choć jest to możliwe wykorzystując inne funkcje z tej biblioteki). Z tymi MHz to przesadziłeś, pewnie chodziło Ci po prostu o Hz. :D Aha funkcję w programie wywołujesz...
Ściągnij datasheet ze strony producenta i otwórz na stronie 23. Masz tam tabelkę do ustawienia bitów CKSEL3..1 (w Twoim przypadku to będzie 110) a na stronie 24 masz tabelkę do ustawienia bitów: CKSEL0 i SUT1..0. Musisz sam zadecydować jak je ustawić w zależności od Twoich potrzeb. Od tych bitów zależy czas startu mikrokontrolera. Pamiętaj, że bit zaprogramowany...
Witam ... Jak w delphi odmierzać dokładnie bardzo krótkie czasy ??? np. 1,6ms lub 320µs ??? Chodzi mi o napisanie procedurek komunikacyjnych 1²c , 1-wire, RC5 itp...² Jak w Delphi zmieniać (binarnie) stany wyjść RS232 ??? robię to na przerwanich DOS ale wydaje mi się to być nieeleganckie Zamykam. - arnoldziq
OK, ale jak w bascomie ma wygłądać przykładowy program na odliczenie czasu 100ms????????????? :?
Nie wiem czy czytałeś dokładnie całą konwersację ale było już pisane, że czujnik poziomu płynu nie mierzy od pełnego zbiornika a dopiero jego końcówkę. DB podaje "Volume d'urée supérieur à 6 litres" czyli "Objętość mocznika większa niż 6 litrów". Dopiero jak poziom spadnie poniżej 6L to zaczyna się dokładne odmierzanie.
Witam... Najprościej chyba będzie użyć gotowych funkcji opuźnienia czasowego... Raczej nie ma sensu w tym przypadku pchać się w timer... #define F_CPU 1000000 /* Tu wpisujesz częstotliwość zegara z jakim pracuje uC #define CYCLES_PER_US ((F_CPU+500000)/1000000) /* cpu cycles per microsecond */ void delay(unsigned int us) {...
(at)ElektrodaBot chcę wykorzystać mikrokontroler i timer/licznik jednak chcę uniknąć PLL. Ponieważ układ zegara LED zlicza impulsy w ciągu sekundy to dla dokładnego odmierzania czasu istotna jest ilość impulsów w ciągu sekundy. Dlatego po wybraniu częstotliwości 60Hz planuję wykorzystać podział 32678Hz tak aby uzyskać częstotliwości 32Hz (okres 0,03125s)...
1. Jaki język? 2. Mikrokontroler jest w zupełności wystarczający a nawet nadmiarowy - czyli jest OK :) 3. Dodatkowo dołącz kwarc to XTAL1 i XTAL2 żeby odmierzanie czasu zrobić wmiare dokładne na Timerach.
Projektowanie urządzeń GNSS musi być sporym wyzwaniem, tematy dokładnego odmierzania czasu są trudne a tutaj jeszcze dochodzi środowisko kosmiczne. Udało się zajrzeć do wnętrza częstotliwościomierza [url=https://www.elektroda.pl/rtvforum/t... niestety czekała tam niemiła niespodzianka... Znalazłem dokument ile "trzyma" stabilność...
Ja się dziwię dlaczego nie używasz timer'a do dokładnego odmierzania czasu... Przecież po to one są...
Dokładne odmierzanie czasu realizuje się przy wykorzystaniu timera2 z kwarcem zegarkowym na przynależnych mu wejściach... Jak nie chcesz się bawić z takim kwarcem to jest jesze możliwość odmierzania sekundy na timerze 16-bitowym... Przy ustawieniach... 1MHz... prescal 64... wartość początkowa 49911... Pozdrawiam Rafał...
Jeśli chciałbyś się wznieść trochę wyżej, poczytaj o timer-ch. Umożliwiają one bardzo dokładne odmierzanie czasu (zależe od dokładności użytego kwarcu) i wykonanie procedury w przerwaniu, czyli po czasie jakie odliczył timer i bez względu na to jaki kod akurat realizuje procesor.
A czy ten zegar ma działać i wskazywać godziny, czy tylko kiwać sobie wahadłem. Do atrapy możesz próbować coś takiego za 2 zł założyć. No fakt że nie wiem czy to się sprawdzi dla dokładnego odmierzania czasu. A dla atrapy robić-no chyba nie ma sensu.
po pierwsze jako $crystal podaj 16000000 (Twój kwarc to najprawdopodobniej 16 MHz) - o ile masz ustawione jako zewnętrzny kwarc we fusebitach co do dokładnego odmierzania czasu to jeśli na prawdę tego chcesz to odpuść sobie instrukcje typu wait, które nigdy nie będą dokładne. Polecam poczytać conieco o timerach, które mogą odmierzać czas dużo prościej...
A jak jest ze stabilnością wewnętrznego ocylatora RC w XMega? Czytałem, że jakościowo jest lepiej niż to było w XMega. Nie potrzebuję super dokładnego odmierzania czasu ale w miarę stabilne takty..
Powód może być od strony sprzętowej. W µC stosujesz kwarc zewnętrzny czy wewnętrzny generator? DS18B20 musi mieć dokładne odmierzanie czasu. Generator wewnętrzny tego nie zapewnia. Jak go stosujesz to może powodować takie efekty.
Oscylator może mieć +-3% dla 1MHz i 25stopni zgodnie z notą katalogową (ATMEGA16, str. 27), więc do dokładnego odmierzania czasu zaleca się używanie zewnętrznego kwarca. Podobno może uzyskać +-1%.
Będzie bardzo dobra o ile nie ma tzw. efektu rozgrzewania i od razu świeci pełnym światłem bo wtedy będzie Ci ciężko zrobić dokładne odmierzanie czasu naświetlania. Ewentualnie ją trochę bardziej oddalisz i wydłużysz czas naświetlania.
mick - niektórzy może lubią zrobić coś analogowo - weź to pod uwagę. W tym projekcie problemem było by na pewno dokładne odmierzanie odcinków czasu (np 100s) przy zastosowaniu wzmacniaczy operacyjnych. Sam osobiście tak jak autor wybrał bym procesor. Odnośnie projektu - bardzo fajne urządzenie :) i sam musze o czymś podobnym pomyśleć, kolego Gigantor...
Można wykorzystać timer watchdoga do generowania przerwań co sekundę W tym zastosowaniu to jest akurat bez znaczenia ale do dokładniejszego odmierzania czasu watchdog się nie nadaje. Dodano po 2 Dajcie już spokój autorowi, już wie że mógł to inaczej zrobić ale jak się coś robi na szybko to nie zawsze jest to takie oczywiste, to jest właśnie nauka i...
1. Języka C warto się nauczyć, żeby nie gubić się ciągle w rejestrach, trybach adresowania, budowaniu algorytmów w asemblerze. Jest wygodny. 2. Procek zaczyna być potrzebny, gdy zadanie zaczyna być bardziej skomplikowane niż mruganie diodami. (komunikacja szeregowa, pomiar wartości analogowych, dokładne odmierzanie czasu... mogę tu wymieniać długo)
Zrobilem sporo takich "włączników/wyłączników". Najbardziej "nie przewidywalnym" w tych układach jest sam przekażnik, bo to pod jego prąd załącz/wyłącz trzeba dobierać elementy. Oczywiście zastosowanie przerzutnika Schmitta czy to na tranzystorach, czy na bramce scalonej polepsza parametry układu, ale to dodatkowa komplikacja układowa, nie wiem czy...
Do dokładnego odmierzania czasu możesz użyć np. komponentów RDTSC i ZLRDTSC :-> http://www.vclcomponents.com/catalog/Zlp... (With this unit you can measure time intervals with up to nanoseconds resolution&With this unit you can measure time intervals with up to microseconds resolution).
Do PWM wystarczy poczciwa 51, np. AT89S52, ja takiego używam. W PWM bardzo istotną rzeczą jest aby było bardzo dokładne odmierzanie czasu, dlatego najlepiej jest to zrealizować właśnie na Timerze. Kolejną istotną kwestią jest kwarc jakiego używasz, gdyż od tego zależą czasy jakie możesz uzyskać. A programator to polecam np. issprog Dybkowskiego. Pozdrawiam.
Zajrzyj sobie do util/delay.h, to będziesz widział jak to jest liczone. Pętla wykonuje się w jakiejś z góry znanej ilości cykli (jest napisana w asemblerze), trzeba tylko przeliczyć ile obiegów tej pętli przypada na zadane opóźnienie, do tego trzeba doliczyć overhead , czyli instrukcje związane z inicjalizacją pętli itp. Do dokładnego odmierzania czasu...
Zrób tak: 1 licznik do odmierzania czasu, przerwanie co np 25ms 2 licznik do zliczania impulsów Jeżeli nastąpiło przerwanie np 25ms, to zlicz liczbę impulsów. W taki sposób masz dokładniejsze odmierzanie czasu, funkcja wait do tego się nie nadaje. Przeanalizuj sobie ten temat: http://www.elektroda.pl/rtvforum/topic16... a potem dodaj to co napisałeś...
Jak chcesz mieć miernik częstotliwości z prawdziwego zdarzenia to podłącz kwarc. To za pomocą niego uC odmierza 1s, w której zlicza impulsy. Im "sekunda" ta jest dokładniejsza tym lepszy miernik. Generator wewnętrzny nie jest dokładny, a ponadto częstotliwość jego nie jest stała. Inną kwestią jest kształt mierzonego przebiegu. UC jest układem cyfrowym...
Juz lepiej z przejrzystością kodu , sam chyba przyznasz ze łatwiej ogarnąć program , tylko te Wait'y . Miałeś je usunąć z programu . Stosujesz dokładne odmierzanie 1 sekundy i minuty a zatrzymujesz program Wait'em 10 na około 10 sekund . Napisałem jak wykorzystać odmierzanie 1 sekundy do odmierzenia 10 sekund dla buzzera Dopisz w tej linijce kodu Wart_nap...
alarm po czasie na wyjście odpada tylko 255sekund a ja potrzebuje czas 20-30 minut klapnięcie drzwiami też nie załatwia problemu bo nie mam dokładnego odmierzania czasu PS . Problem rozwiązałem : użytkownik steruje wyjściem mostabilnym ( załącza na czas 30 minut ) ,które blokuje linię 24h techniczna , centrala ma zablokowaną linię , jest dostęp czas...
hmm w sumie jakoś bardzo dokładnego odmierzania opóźnień nie potrzebuję , jeśli taka pętla dawała by mi np (1 +- 0.5)us to powinno wystarczyć, z tego co wiem to przy LCD jest określony czas min odstępu między kolejnymi danymi a nie maks. (ale bez przesady). Zależało by mi by to jednak w C było, bo asemblera znam tylko do AVR (MB jest ogółnie zakręcony...
Zależy jakie odcinki czasu chcesz odliczać i z jaką dokładnością. Ogólnie system Windows nie nadaje do odmierzania dokładnych odcinków czasu rzędu kilku ms i mniej. Wynika to z występowania w systemie wielu procesów, które są cyklicznie przełączane. Kiedyś pisałem bibliotekę do programowania mikrokontrolerów poprzez port LPT i tam do odmierzania krótkich...
Póki co celuję bardziej w kontrolę serwomechanizmów, odmierzanie czasu, zbieranie statystyk o środowisku, może w przyszłości coś bardziej ambitnego typu kontrola wyświetlacza. Tak, wiem, że to lekkie przegięcie :) Ale za taką cenę wolę sobie dać trochę miejsca na przyszłe pomysły, żebym mógł wykorzystać jeden układ wielokrotnie. Szczególnie wydaje mi...
....że właśnie chwilowa wartość częstotliwości sieci wynosi więcej niż 56Hz - wówczas moment załączenia triaka nastąpi na początku nowego półokresu. ... gdy częstotliwość sieci zmniejszy się powiedzmy do 44Hz (półokres 11,3ms).... Nie realny scenariusz, częstotliwość sieci trzyma się z dokładnością 2-go czy 3-go miejsca po przecinku. Mechanizm "pomiaru...
odmierzać godzina odmierzać arduino odmierzać cieczy
matiz płyn ekran sharp aquos danfoss podłączyć
Nissan Micra K13 - Błąd P1620: Układ chłodzenia i termostat Vordon radio nie odbiera połączeń z panelu po podłączeniu telefonu przewodem – działa tylko pilot