Chciałem Ci dać wędkę, ale wolisz rybę. $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Cls Config Timer1 = Timer , Prescale = 256 On Timer1 Odmierz_2s Dim Licz As Byte Enable Interrupts Enable Timer1 Start Timer1...
Ma 6 kabli bo ma gaszenie dodatkowo, co do sterowania wyprzedzeniem za pomocą mikrokontrolera to taki mikrokontroler można wpiąć przed fabrycznym zapłonem - między czujnikiem na magnecie a modułem zapłonowym. Mikrokontroler - wystarczy AVR np Atmega8. Cała zasada jest taka że mikrokontroler z impulsów dawanych przez czujnik w magnecie oblicza prędkość...
Generalnie, W Bascomie obsługa RC5 pozostawia wiele do życzenia dlatego też Mark w najnowszej wersji ma wprowadzić obsługę RC5 na przerwaniu ICP ("prawdziwie" w tle) według poniższego kodu, który udostępniam i polecam: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Timer1 = Timer , Capture Edge = Falling , Prescale = 8 '1 tick= 1...
Zacina sie bo to wada bascomowejo Getrc5. ten program musi działac, dlaczego go nie zastosowałeś? Spróbuj, tylko odbiornik IR musisz dac na wejscie ICP procesora. [syntax=basic4gl]$regfile = "m16def.dat" $crystal = 8000000 $baud = 9600 Config Timer1 = Timer , Capture Edge = Falling , Prescale = 8 '1 tick= 1 uS On Capture1 Capture_edges 'To przerwanie...
Że częstotliwość z zegara w przypadku tim2 jest to 86Mhz jest dzielona przez TIM_ClockDivision, następnie przez Prescaler, a potem dobiera się okres sygnału czyli TIM_Period Nie, nie i nie. Na podstawie datasheeta: Several prescalers allow the configuration of the three AHB buses, the high-speed APB (APB2) and the low-speed APB (APB1) domains. The...
Dzięki za tę wskazówkę - przeniosłem się z kanału 22 na kanał 11 i teraz działa zgodnie z oczekiwaniami. Mogę rzeczywiście przetestować HA Discover w następnej kompilacji. Coraz bardziej wygląda na to, że mogę przejść od połowicznego sukcesu do nazwania tego sukcesem. (patrz załączony film) https://filmy.elektroda.pl/71_1754737009... Po podłączeniu...
A po co ten nawias? 16MHz czyli 1 cykl trwa 1/16000000 = 62,5ns. 200*8*62,5ns = 100us
Megi nie miałbym czym zaprogramować .... Tym samym programatorem co masz do ATtiny - pod warunkiem że to szeregowy programator, choć równoległym też się da.
Cześć Przerabiam komputer do samochodu i chce użyć 89C52 zamiast 89C51 bo ma ten dodatkowy timer , ale dokońca nie kumam możliwości tego T2. Ma może ktoś jakiś opis po polskiemu tego procka bo po angielsku PDFa mam ale ten angielski..... W '51 T1 służył do baudrate przy transmisji przez RSa ,a jak to sie ma w '52? Doczytałem sie że T2 może służyć do...
nie możesz używać instrukcji load timer= jeśli chcesz w ten sposób to tak:load timer0,250(to daje do odliczenia 250 cykli) lub counter0=6 co też daje tyle samo do odliczenia czyli 250 cykli, to jeden z problemów z Twoim tajmerem Dodano po 3 Zapamiętaj zasadę, instrukcja load timer oblicza sama ilość cykli zliczanych do wystąpienia (tyle ile wpiszesz...
No nic dziwnego że Ci się nie zgadza bo te wartości z błędne :D Powinno to być 1000 i 20000. A oblicza się prosto. Timer pracuje na zegarze 1MHz (8MHz i preskaler równy 8). ICR1 określa okres, a nie częstotliwość. Częstotliwość pośrednio też ale jako odwrotność. Zatem dla tych dwóch wartości (50 i 1000Hz) mamy: 1000000Hz/50Hz = 20000 1000000Hz/1000Hz...
Moim zdaniem całość nie działa poprawnie, bo używasz Timera1 pracującego w trybie CTC jednocześnie do odmierzania odcinków czasowych wyświetlacza i do pomiaru czasu zatoczenia pełnego koła. W trybie CTC Timer liczy od 0 do wartości Compare1a po czym zostaje wyzerowany, więc ten podprogram w przerwaniu ICP1, który oblicza Ci ile cykli zliczył Timer podczas...
Dzisiaj troszkę posiedziałem nad tymi stosami, zapoznałem się nieco z tym opracowaniem. Próbowałem również rozgryźć tabelkę "SRAM" w symulatorze bascom. Z opracowania i zachowania symulatora wydedukowałem że obszar w sram na $hwstack jest na najwyższych dostępnych adresach pamięci sram i zwiększa się on do dołu(niższych adresów), więc na początku metodą...
Mam problem z którym próbuje uporać się już od dłuższego czasu. Nie wiem jaką wartość powinienem wpisać do timera dwu bajtowego aby uzyskać przerwanie co sekundę. Nie pytałbym się tu o takie rzeczy ale nawet w książce "Mikrokontrolery dla początkujących" autor oblicza wartość timera pisząc sprzeczne równanie! Od razu mówię że programuje w BASCOMIE jeśli...
Cześć! Zbudowałem miernik częstotliwości w oparciu o procesorek Attiny 2313. Oczywiście zrobiłem to w ten nazwijmy "lepszy sposób" czyli dwa timery, jeden oblicza czas równy 1 sekundzie, a drugi liczy impulsy. Kwarc zewnętrzny 11059200MHz, wszystko działa jak należy... ale mam problem z pomiarem czestotliwości w zakresie od 2 do 5 Hz z rozdzielczością...
witam serdecznie mam takie pytanie o co chodzi z tym RDS(on) w mosfetach rozumiem że im mały ten RDS to mosfet się tak nie grzeje moje pytanie jak się oblicza jakimś prostym sposobem rezystor na bazę doczytałem sie nawet ze lepiej nie dawać tych rezystorów na bazę z tego względu że tranzystor wtedy się szybko nie przeładuje i się grzeje ale znowu bez...
Zawartość biblioteki: [syntax=c] #include "Timers.h" void Timer::restart() { _lastTime = millis(); } void Timer::begin(const uint32_t interval) { time(interval); restart(); } bool Timer::available() { if (_time == 0) { return false; } uint32_t actualTime = millis(); uint32_t deltaTime = actualTime - _lastTime; if (deltaTime >= _time) { return true;...
crazy_phisic = faktyczne to mój błąd z różnych testów i kombinacji... m.bartczak = tu również to jedynie błąd z testów. Sprawdzałem na różnych timerach. I przy wklejaniu kodu nie zmieniłem tego. W ramach testu zmodyfikowałem kod, tak aby co 1000 przerwań (czyli teoretyczne 1000*1ms) dał mi 1ms impuls na diodę: $regfile = "m88def.dat" $crystal...
Posiadam przykład kodu na atmega16 (coś mnie ten procek prześladuje :/) i chcę to przerobić na atmega128. Pod atmega16 wygląda on następująco: .cseg RESET:cli clrr30 outEECR, r30 outMCUCR, r30 ; watchdog na ok.1s ldir31, (1<<WDE) | (1<<WDP2) | (1<<WDP1) outWDTCR, r31 ; inicjalizacja stosu ldir31, high(RAMEND) outSPH, r31 ldir31, low(RAMEND)...
Co zrobić aby aby ta pętla działała? Dodano po 7 Kod z zaznaczonymi liniami z błędami: #include <Wire.h> #include <i2c.h> #include <i2c_BMP280.h> #include <WS2812B.h> #include <BH1750.h> #include <DHT.h> #include <LiquidCrystal.h> #include <TimerOne.h> #include <HMC5883L.h> // do czujnika zanieczyszczeń...
Doskrobałem trochę kodu, program działa jeżeli w linii CJNE A,03h,LOOP zmienię 03h na np. #03h co da mi dokładnie taką wartość, a nie wartość rejestru (będzie skakać do etykiety CORRECT jeśli nacisnę '3' na klawiaturze. Może linijkaMOV R3,#32h nie jest poprawna? Z tego by to wynikało. Ponadto aktualnie mój timer może zliczyć coś około 13 sekund, pomyślałem...
czesc w bascomie moze byc? jak tak to: :) Config Timer0 = Timer , Gate = Internal , Mode = 1 ' Configuracja timera Config Lcd = 16 * 2 ' ..wyswietlacza, przykladowa Dim Temp As Byte 'zmienne Dim Temp_2 As Byte Dim Temp_3 As Byte Dim Sekundy As Byte Dim Silna As Single Dim N As Byte Enable Interrupts 'wlaczenie przerwan Enable Timer0 Enable Int0 Enable...
1) jeśli rejestr TH ustawimy tak: THS EQU 256-180 to co ile będzie mrugała dioda w tym przykładzie który dałem wyżej? (wklejam go tu jeszcze raz) 2) Co ile by mrugała gdyby nie było w pętli LOOP liczenia do 20??? 3) Jak to wszystko poustawiać, żeby mrugała dokładnie co sekundę? 4) Jak się dokładnie oblicza te częstotliwości? Tego nie czaję. Może ktoś...
Mam projekt enkodera inkrementalnego który ma dwa pierścienie z polami generującymi sygnał 0 i 1. Między górnym i dolnym pierścieniem jest przesuniecie 90°. Więc tak wyglądają sygnały: http://obrazki.elektroda.pl/7174774200_1... Teraz tak, jedno pole na tarczy zajmuje 2°. Z racji tego że jest przesuniecie 90° mogę uzyskać rozdzielczość...
W przerwaniu Int0 inkrementuj zmienną. Ustaw timer na jakąś jednostkę czasu i w przerwaniu od tego timera obliczaj cześtotliwość i zeruj zmienną
Nie kieruj się bajerami tylko mocą cieplną w stosunku do poboru paliwa. Musisz wyczytać w instrukcjach czy manualach ile dany model piecyka pobiera m3 gazu chcąc wytworzyć określoną (minimalnie) moc cieplną. Nie do końca wiem jak to się oblicza więc nie będę mówił by nie wprowadzić Ciebie w błąd. Wiem tylko że miałem kiedyś JUNKERSA który w ciągu jednej...
http://obrazki.elektroda.pl/7658273900_1... http://obrazki.elektroda.pl/1949961800_1... Pracuję na "żywym układzie" wytrawianym i polutowanym w domu. Istotne jest to, że na płytce stykowej tak samo się zachowywał. Myślałem, że to wina słabych połączeń tych kabelków z płytką, ale po wykonaniu obwodu drukowanego, niestety...
1: nie tylko 24 a 24,25,26,27 czyli cztery bajty , Ja po odczytaniu tej wartości w "switch case:" ustawiam odpowiednio timer . 2: 28.29.30.31 to ilość bajtów na sekundę z podanego wzoru oblicza się ilość bitów na sekundę , 32 to ilość bajtów na próbkę . 3: TAK. ja w programie sprawdzam czy jest mono/stereo jeśli jest mono do obu PWM ładuje tą samą próbkę...
http://obrazki.elektroda.pl/1931730200_1... Pojęcie Theremin po raz pierwszy pojawiło się około 1920 roku, kiedy rosyjski wynalazca Lew Termen skonstruował swój instrument, którego dźwięki przypominają jęki, wycie, kobiecy głos czy nawet flet i skrzypce. Standardowy Theremin posiada dwie anteny jedną do regulacji tonów a drugą do wzmacniania...
http://obrazki.elektroda.net/71_11977438... Święta coraz bliżej. Często na zewnątrz wieszamy lampki choinkowe. Te albo świecą ciągle, albo mrygają niemiłosiernie. Najgorsze są te które niedość że mrygają, grają jeszcze oklepane melodyjki za pomocą blaszki pizeo. Coś efektowniejszego przeważnie kosztuje troche więcej, a sterownik przeważnie nie jest...
Tak sobie obserwuję co jakiś czas ten temat i przyznam szczerze, że jestem pełen podziwu dla kolegi autora za upór, tyle że nie w dążeniu do rozwiązania problemu a do skomplikowania go sobie i utrudnienia życia ponad wszelką miarę. Masz rezystor podciągający? Niektórzy o nim zapominają. Dla DS18B20? Jeśli tak to nie mam, ponadto nigdy ich nie używałem...
Witam No to po urlopie to pewno masz więcej energii na działanie, a myślałem że już zrezygnowałeś z tego wyzwania :wink: Mam pewien problem z uruchomienie pliku .exe (próbowałem wklejać bibliotekę do katalogu Windows i system32, oczywiście na początku uruchamiałem wszystko w jednym katalogu no ale sam widzisz) :?: Wiesz może co to za błąd? (na moje...
na wejścia podłączony jest enkoder(pierwszy zrobiłem z myszki komputerowej) w zależności na którym wejsciu pojawi się pierwszy impuls to przerwanie jest obsługiwane jako pierwsze . może cos z tego skorzystasz. obsługa przerwań jest na dole Dodawanie: i Odejmowanie:. Ale Panowie litości w krytyce to jest mój pierwszy program w Bascomie. Tak się złożyło...
Mam funkcyjke która przeprowadza odczyt z karty sd/mmc nigdy mimo tego, że dokladnie tak samo jest tworzona strukturka do crc na stosie, co lepsze, w identyczny sposób jak w testreadblock. Info: STM32F103RET6 FreeRTOS 6.0.2 Main stack: 0x2000 //bylo mniej, zwiekszylem na test Heap: 0x6000 //tez bylo mniej i zwiekszylem na test Chciałoby sie zapytać...
To nie jest skomplikowane tylko zamiast docinać można wytłumaczyć. Jedna sekunda ma 1000 (słownie tysiąc) milisekund. Herz określa ile razy coś dzieje się na sekundę 1 Herz - coś dzieje się raz na sekundę 50Hz - coś dzieje się 50 x na sekundę Teraz weź 1000ms(czyli sekundę) podziel przez 50 razy czyli 50Hz i wyjdzie Ci 20ms... Potem to już logiczne...
Nie wiem jaki to procesor ale Timer pracuje prawdopodbnie w trybie Fast PWM a wypełnenie to ok. 63%. Po ustawieniu odpowiednich bitów w rejestrach kontrolnych i wpisaniu wartości do rejstru porównania OCR timer generuje PWM już samemu a program może w tym czasie robić co innego. PS. Ten kod nie wygląda mi na asm tylko raczej na program w języku C :P
Ustaw wartość OD ilu ma liczyć Timer. Od 65536 odejmij 62500 i to ładuj za każdym razem na początku do Timera.
Proponuję ściągnąć z sieci program do obliczania parametrów timerów np. kalk.exe. I musisz odróżnić Load timer 1, ? od Timer1 = ?. Za pomocą pierwszego wskazujesz ile timer ma odliczyć a za pomocą drugiego od jakiej wartości ma zacząć odliczanie aż do przepełniena.
NE555 jest dosyć dokładny jak na generator RC, ale na super precyzję nie licz, podałeś wyniki różnice sie zaledwie o 0,2% podczas gdy przeciętny rezystor ma tolerancję 5% przeciętny kondensator 10%, w przy takich elementach możesz sie spodziewać że częstotliwość wypadnie gdzieś pomiędzy 60Hz a 79Hz,
już sobie poradziłem z tym termometrem ale jak narazie na 24h śpieszy się 10 min . Może jakoś inaczej obliczać timer.
No to wg. mnie wywazasz otwarte drzwi. Skoro w wiatraku masz enkoder to wystarczy dowiedziec sie co to za rodzaj enkodera i napisac aplikacje. Jezeli zwykly impulsowy enkoder 2-fazowy to musisz znac ilosc impulsow na obrot. Szybkim licznikiem liczysz z niego imulsy a timerem liczysz czas i ustawiasz przerwanie na wartosc zadana timera. W tym przerwaniu...
Żeby nie zapomnieć na końcu to już tutaj napiszę, że liczy się to w programach bo one się rzadziej mylą, ale zrozumienie tematu jest oczywiście ważne. Jest kilka, a w pełni darmowych, kalkulatorów do tego. Timer jest urządzeniem sprzętowym wbudowanym w mikrokontroler. Najczęsciej taktowany jest w taki sposób, że sygnał zegarowy taktujący mikrokontroler...
Mam pytanie dotyczące języka Visual Basic. Czy istnieje jakiś obiekt, którego mógłbym użyć jak buzzera? Tak by generował jakiś piszczący dźwięk, tyle wystarczy. Kolejna sprawa to timer, chciałbym by odliczał milisekundy, ustawiłem Interval na 1 i wtedy oblicza z dokładnością do 1/100s. Czy da się jakoś polepszyć tę dokładność?
Witam:) mam pytanie do forumowiczów w sprawie pomiaru częstotliwości, sprawa przedstawia się następująco: chciałbym zrealizować pomiar częstotliwości .............. wiem ze należy postąpić w poniższy sposób: 1. zatrzymanie zliczania impulsow z T0 2. zatrzymanie odmierzania czasu bramkowania T1 3. przepisanie zliczonych impulsów do rejestru głównego...
Normalnie bierzesz licznik kasujesz go i zliczasz impulsy przez 10min (czas obliczasz timerem) potem dzielisz tą wartość przez 100 przepisujesz do jakiegoś rejestru, a sam licznik kasujesz. W rejestrze masz pomiar aktualizowany co 10 min.
A może byś kod pokazał? Przeciez napsal ze ma bledny kod .... Load Timer0 = 144 co winno byc: Load Timer0 , 144 albo jezeli preferuje zapis ze znakiem rownosci to: Timer0 = 112 ' gdzie dzialanie (256-144=112) wykona Bascom. e marcus
Po co ci ta sekcja krytyczna w EXTI9_5_IRQHandler ? Czy jeszcze jakies przerwanie korzysta ze zmiennych ktore chcesz chronic ? Jesli jest faktycznie potrzebna )w co watpie) to obliczaj pierwiastek poza nia, skopiuj wynik do zmiennej lokalnej i dopiero w sekcji krytycznej przekopiuj zmienna lokalna do globalnej. Nieliniowe funkcje biblioteczne potrafia...
Przede wszystkim 1 godzina to bardzo długi czas, więc musisz w pierwszym 4541 wybrać maksymalny podział przez 65536, a więc nóżki A(12) i B(13) do plusa. Wówczas oscylator musi pracować z częstotliwością 65536/3600 = 18.2Hz. Wzór na częstotliwość oscylatora to: f = 1/(2.3•R T •C T ) , przy założeniu, że Rs ≈ 2•R T Na Twoim schemacie...
Czekaj, czekaj. Jeden czujnik odpali przerwanie INT0 a w tym przerwaniu sie uruchomi timer. Drugi czujnik po INT1 ma go wyłączyć. Raczej o tym myślałem. Lepiej tak: czy ktoś by mi dokładnie wytłumaczył jak wywoływać timery, zbierać z nich czas, do czego służą poszczególne rejestry. Noty katalogowej tego procka po polsku nie znalazłem, a dobrego poradnika...
No robocik pierwsza klasa muszę przyznać. Z niecierpliwością czekam na jakiś filmik. Jak w części różniczkującej obliczasz dt ? Timerem? ale w jakim trybie?
A tak to by to zadziałało ?? Nie zadziała. Przynajmniej tak, jak tego oczekujesz. Przy kwarcu 2,4576MHz i prescalerze 64 Timer0 przekręca się co ok. 6,7ms a Timer1 co ok. 1,7s. jak ustawić timer żeby odliczał np 1 sec i wtedy coś się działo 1. Zdefiniować co się ma wykonać w przerwaniu 2. Włączyć przerwania od timera 3. Włączyć globalne zezwolenie...
Jaki stosujesz Timer, bo tego w kodzie nie ma. W datasheecie są odpowiednie wzory do obliczania częstotliwości pracy timera.
Teraz wszystko OK :spoko: Pamiętaj tylko, by we wzorze obliczającym stosować 65536 (czyli 2^16), a nie 65535.
jeśli Wy macie problemy z tym to zostaje mi nauczyć się asemblera bądź tych timerów dzięki za wyjaśnienie
W praktyce otwierasz notę katalogową mosfet, patrzysz na wszystkie parametry w niej zawarte, otwierasz jakąś notę katalogową, która opisuje wszystkie te parametry i porównujesz/obliczasz do swojego projektu. Na pewno ważnym parametrem jest maksymalny prąd ciągły, rozproszenie mocy (przy idealnym radiatorze), czas załączenia i wyłączenia tranzystora,...
A po co te dywagacje - po to masz timer aby wyzwalać w odpowiednich okresach czasu.
Obliczanie wartości Timera ma tylko wpływ na opóźnienie, jak sam powiedziałeś i tu masz rację. Ja też tak robię z tym że przepełnienie tego timera wywołuje mi przerwanie w którym wystawiam na porty kolejną wartość czyli kolejno: 1. wyłączam wszystkie anody (przeważnie stosuję takie wyświetlacze) 2. zmieniam wartość segmentów (dalej wszystkie anody są...
Szanowny kolego, Ten fragment kodu jest konwersją wartości typu INT zawierającej liczbę sekund dla timera do formatu S5time. Składa się on z kodu BCD (instrukcja ITB) oraz podstawy czasu, w tym przypadku to sekunda (8192). Reszta wygląda na zabezpieczenie przed ewentualnym przekroczeniem zakresu INT. Pozdrawiam Michał
Cześć. Praktycznie każdy spełni Twoje wymagania, zarówno w prędkości obliczania jak i ilości miejsc po przecinku. Zrobi to spokojnie nawet ATmega8. Przykład możliwości ATmega88 (odpowiednik ATmega8 z minimalną różnicą dot. timerów): http://obrazki.elektroda.pl/8770689300_1... Przy czym jednocześnie zajmuje się generowaniem sygnału wideo,...
Czy dobrze zrozumiałem? INT włącza Timer, który dla max prędkości zliczy np. 2000 taktów, więc w pętli głównej gdzie dokonuje obliczeń po ustawieniu flagi (dokonaniu pomiaru) powinien być warunek, żeby program nie obliczał jeśli timer<2000? Coś w stylu: do if flaga then if timer1>2000 tu robi obliczenia i wyswietla predkosc ... loop
Witam JEstem studentem i mam mały problem w zrozumieniu obliczania czasu TIMERA T0 i T1, nie za bardzo rozumiem to liczenie i nie potrafię się do tego zabrać z odpowiedniej strony,na wykładach było ale wiecie jak to na wykładach, muszę po prostu umieć liczyć te czasy ale nie kumam za bardzo, czy ktoś z was pomógłby mi, wytłumaczyć to jak chłop krowie...
Całe obliczanie czasu w przerwaniu? Czytałem tu, że obsługa przerwania ma być jak najkrótsza. Na pewno mam całe obliczanie wpakować w przerwanie timera 2?
Poradziłem sobie bez przerwań. Prędkość impulsatora obliczam z wykorzystaniem timera, sprawdzając ile razy zmieni się w zakładanym czasie zmienna impulsatora ± 1. Dzięki za pomoc i wskazówki. Temat zamykam.
Strasznie skomplikowałeś tak prostą rzecz. Nie trzeba wyliczać napięć skutecznych i z nich napięć szczytowych. Stosunek tych napięć jest stały, więc można to przeskalować i od razu wszystko obliczać na napięciach szczytowych. Z kolei zamiast ustalania okresu przerwań Timera można wykorzystać przerwania do Timera PWMa. PWM i tak nie jest w stanie wiernie...
w trybie LPM3 procesor chodzi tylko z baterii, co 4 sekundy się wybudza, inkrementuje datę i czas i idzie spać. Pobór prądu < 3uA. to oznacza, że w uśpieniu działa algorytm odmierzania czasu?? A po wyjściu z uśpienia ( co 4 sek) czas jest odświerzany?? działa to tak, że w uśpieniu pracuje jedynie oscylator CPU na kwarcu 32k (rdzeń jest taktowany...
Bo znalazłem na http://bc107.republika.pl/html/zamowieni... Timer.exe (oblicza parametry dla 555) i użyć schemat astabilny 3 (wydaje się najprostszy i ma Ww=50%). :)
Tym programikiem obliczysz wszystkie potrzebne wartości, ustawiasz kwarc, typ timera, prescaler, wartość timera, a on oblicza czasy między przerwaniami
Ale Bascom czy FastAVR to sa to jezyki nieprzewidywalne. Niby tak, ale jeśli do obliczania czasu stosuje się timer i przerwania i wszystko jest dobrze skonfigurowane i wyliczone to nie powinno być problemów czasowych.
z ta kalibracjo to ciekawy temat ,ale jak podepne czujnik do termometru zrobionego na rs232 to temperature pokazuje idealnie,a ten kwarc to faktycznie 12.902400 ,tylko zmieniłem go na 11,059 oczywiscie tez zmieniając w kompilatorze. Wybacz kolego , ale Cię troszkę "obsztorcuje" :D 1)Twierdzisz , że używasz DS1820 (9-bit) , a temperaturę obliczasz jak...
Do obliczania wpisu do timera bez wdawania sie w "teorię" służy dostępny w sieci kalk.exe. Na Timerze0 zliczane są impulsy z zewnątrz w czasie 1 s. Niestety Timer0 może zliczyć tylko 256 impulsów, a częstotliwość np. to 8MHz czyli 8000000. Musimy zliczyć zatem ilość przerwań od timera, pomnożyć to przez 256 i dodać resztkę, która została zliczona ale...
Wejdż na www.elportal.pl >bascom a tam jest znakomity help w naszym rodzimym języku w którym to zagadnienie jest opisane . Polecam również kalkulator do obliczania czasu pomiędzy przerwaniami - do pobrania w/w linku. Pozdrawiam. Waldek.
Wystarczy zamienić funkcję wait na taką, która wykorzystuje timer - nawet niekoniecznie przerwania, po prostu czeka, aż stan timera zwiększy się o odpowiednią wartość (odczytujemy timer, obliczamy stan końcowy i czekamu w pętli aż timer tyle osiągnie) - taka pętla będzie w miarę niezależna od przerwań, no chyba że w tych przerwaniach spędzasz strasznie...
Bo kontaktrony w licznikach rowerowych są jakieś szybsze. Robiłem kiedyś eksperymenty z rowerem i faktycznie zwykłe kontaktrony "rurkowe" nie nadążały się przełączać. Pierwszy z brzegu kontaktron KA-02 ze sklepu na literę T przy napięciu 5V i i prądzie 100mA ma częstotliwość przełączania 125Hz. Czas załączania do oporu 1Ohma wynosi ok 2,5 ms Czas odpuszczenia...
Jednym z dobrodziejstwo jakie daje nam DS18B20 jest CRC. Proponuje więc zapoznać się z [url=http://pdfserv.maxim-ic.com/en/an/A... i napisać funkię obliczającą CRC co załatwi problem błędnego odczytu danych z czujnika a tym samym możliwych przekłamań.
Mam podłączonego go w układzie astabilnym.Czy ma ktoś może wzór na obliczanie częstotliwości z R1,R2,C.Ja miałem i gdzieś zapodziałem.Z góry dzięki.
Witam Staram się zrobić odliczanie na przerwaniach - jak do tej pory nie używałem jeszcze przerwań, więc proszę o wyrozumiałość za banalne pytanie. A więc tak. Potrzebuję za pomocą Timera0 wprowadzić diodę w pulsację z częstotliwością 10Hz (to tak dla testu) Wszystko wydaje się w miarę proste. Skonfigurować T0 i przerwanie na ten zegar. A więc mam tak:...
Jeszcze jedno pytanie: do czego Ci rejestr Timera przy instrukcji warunkowej if() podczas obliczana całki Ei?
Timer ma działać cały czas. A czas trwania obliczasz na podstawie różnicy czasów.
hunterhouse W AVR-ach sprzętowo można zatrzasnąć zawartość timera , ale uruchomić zliczanie trzeba programowo.Natomiast w 51-ce można uruchomić i zatrzymać timer sprzętowo.Jeśli na P3.3 jest stan wysoki i flaga GATE timera1 jest ustawiona , to timer zlicza doputy , dopuki stan na P3.3 nie zmieni się na niski.Problem jest tylko z tym , że Charly chce...
Mam problem z określenie zależności czasowych w 89C52 Potrzebuje aby timery obliczały mi 3 interwały czasowe 55 minut 30 sek i 10 sek Zupełnie nie wiem jak się do tego zabrać :/ to są dla mnie początki w prog. mikro Bardzo proszę o poradę (przykład kodu w C dla interwału czasowego, sposób obliczenia poszczególnych interwalu czasowych) Z góry dzięki...
To jest odrabianie lekcji? C = 3300µF R1 = 6294kΩ (np. 6.2MΩ + 94,2k szeregowo) R2 = 1.32kΩ High = 14400 sec. Low = 3 sec. Do obliczania rezystancji w oparciu o dostępne w handlu wartości rezystorów masz szereg E92: https://pl.wikipedia.org/wiki/Szereg_war...
timer pracuje w trybie 16 bit. to jest fragment obliczania wyniku. Temp = Counter1 'odczytaj wartosc timera1 Zm_pom = Zm_pom + Temp 'dodaj ja do wartosci zmiennej zm_pom Temp = 4218750 / Zm_pom 'oblicz predkosc Wynik = Temp 'zapiasz wynik do zmiennej wynik cos mi sie wydaje ze po prostu moje wyniki przekraczaja zadeklarowana zmienna. czy taki zapis...
Niestety nie udało mi się odnaleźć w internecie wszystkich informacji, które rozjaśniłyby mi problem, stąd mam parę pytań, które mnie nurtują: 1. Z tego co zrozumiałem to aby użyć ICR to trzeba podać sygnał na wejście ICP1, następnie przenieść wartość z ICR do zmiennej i to będzie mój wynik z racji tego, że zeruję sobie wcześniej licznik, tak? 2. Jeśli...
W sumie można. Tak zasadniczo to napisałem malutki programik obliczający wartości ilości cykli potrzebnych przy preskalerze... I faktycznie nie pomyslalem o wydruku. Zamieszcze może tam wersje .pdf. Moze byc? :)
TCCR0=0x04; TCNT0=0x05; I w przerwaniu na początku musisz mieć: TCNT0=0x05; I zliczać równo 125 przerwań - odliczysz doładnie 1s. Tak przy okazji, nie prościej to zrobić na tajmerze 1, który jest 16 bitowy i nieco inaczej pracuje? Zresztą już w jednym Twoim wątku wstawiłem program kalkulatora do obliczania zawartości rejestrów do tajmerów i UARTa.
Myślę, ze sam powinieneś zastanowić się co robi poszczególna linia i dojdziesz co jest nie tak. Po pierwsze jak to ma działać? Bo jeśli prędkość ma być obliczana w oparciu o liczbę impulsów Timer/Counter0 w czasie wyznaczonym przez Timer1 to linia Imppr = Timer1 jest bez sensu (nie mówiąc o tym, że do 8-bitowej zmiennej jest wpisywana 16-bitowa) Po...
-Można dodać linki do kalkulatorów programowalnych online. -Kalkulator dla timerów. Podajesz częstotliwość taktowania i wymagany czas między przerwaniami, uzyskujesz prescaller oraz wartość przy której timer wywołuje przerwanie (w STM nazywa się to output compare). Trzeba by było zrobić opcje dla wszystkich popularnych MCU, bo np. w AVR timery działają...
Samo wygenerowanie częstotliwości nie jest niczym skomplikowanym - obliczasz okres i dalej ustawiasz timery z przerwaniami wywoływanymi co obliczony odcinek czasu. Co do wygenerowania przebiegu - możesz zrobić to używając kilku pętli for i kilku delay'ów :D - tak najszybciej/ najprościej jest to wykonać.
Timery 16 bitowe mają 65553 wolnego na zliczanie , czas do przerwania obliczamy dzieląc czestotliwośc która wychodzi z preskalera przez 65553 co jesli ta czestotliwośc jest wieksza od tych 65553 ?? mi wychodza wieksze wartości żędu powyzej 1 Hz czy dobrze rozumuje a co jesli zaloże sobie częstotliwośc 10 Hz jak to zrównac za pomocą licznika bo gdy mamy...
Oto program który napisałem $regfile = "attiny2313.dat" 'rodzaj mikrokontrolera $crystal = 8000000 '8MHz Dim Pozycja1 As Integer 'zmienna określająca położenie serwa1 Dim Pozycja2 As Integer 'zxmienna określająca położenie serwa2 Dim Czas1 As Integer 'zmienna pomocnicza do odmierzania czasu Dim Czas2 As Integer 'zmienna pomocnicza do odmierzania...
NO to poszukaj na elektrodzie pełno schematów jest z tym timerem nawet są aplikacje do obliczania rezystora pod ten układ .
odpaliłem dwa timery jeden miał dawać sygnał 20 Hz a drugi miał odświeżać mi wyświetlacz 7 segmentowy 100 Hz i niestety nie działa, zrobiłem dwa różne przerwania... ISR(TIMER1_COMPA_vect) // przerwanie dla porownania { PORTD ^= 0x01; // zapalić/zgasić diode ICR1 = 1000000/(16*(0.0234*ADC + 0.9765)); // oblicza nowy szczyt...
Widzę, że temat nieco przycichł i chcę go odświeżyć. Poszukuję kodów paskowych lub liczbowych dla złączek elektrooporowych, najpopularniejszych producentów: Agru, GF, Weba, Fusion, FOX, Plasson. Chcę przygotować zestaw kodów do szybkiego obliczania korekt zgrzewania dla mojej zgrzewarki. Przy okazji pochwalę się własną konstrukcją zgrzewarki, innej...
czesc w zalaczniku masz fajny program do obliczania czsow przerwan dla procesorow AVR w praktyce wyglada to np tak: ustawiasz timer0 tak zeby przerwanie wystepowalo co 2 ms config timer0 = timer, prescale = 64 ... ... counter0 = 6 start timer0 przy kwarcu 8MHz, timerze0 (8 bitow) i preskalerze 64, timer zwiekszany jest co 8 us 256 - 6 = 250 :) 250 *...
Kolega dondu ma rajcję, przedstawiłem prostszy sposob obliczania OCR2, a zapomniałem o synchronizacji timera2 . Spróbuj może jeszcze raz z moim kodem, ustawiając preskaler timera 2 na 64 : [syntax=c] ISR(INT1_vect){ //ustawienie timera2 aby robial przerwania 20 razy na obrot: static uint8_t last = 0; TCNT2 = 0; SFIOR |= 1<<PSR2; // nie zeruj TCNT0...
Może skorzystać z przerwania, które UART zgłosi, kiedy odbierze znak. Wtedy kod może wyglądac tak: ISR (SIG_OVERFLOW2) { //obliczanie wartosci ktore maja byc wyswietlone na wyswietlaczu } ISR (USART_RX_vect) { //operacje na odebranych danych } main(){ //wlaczenie przerwan itp while(1){ //wyswietlanie...
Pierwszy problem który widzę to timer T30 i licznik C1. Używasz konkretnych zmiennych, które przy różnych wywołaniach mogą mieć przecież całkiem inną wartość, wartość ta będzie modyfikowana w kolejnym innym wywołaniu i po powrocie do danego nie będzie miała odpowiedniej wartości. Ponieważ musisz przechowywać dla każdej obliczanej średniej pewne obliczone...
W każdym programie jakoś musisz obsługiwać upływ czasu, na pierwszej lekcji do zamigania led użyłeś delay, do paru innych prostych programów to też wystarczy, ale generalnie należy to robić na timerze. Jest to tak oczywiste, że w Arduino zrobili do tego gotowe funkcje, w AVR C masz sobie to napisać sam. Czyli w obu uC masz mieć timer wybijający rytm...
Hej, Bardzo dziękuję za cenną wskazówkę. Oczywiście ustawienie prescalera na 0 rozwiązało problem. Najciekawsze jest to, że w przypadku innych timerów do obliczania częstotliwości (taktowanie sterowników silników krokowych) biorę pod uwagę wartość PSC + 1, a tutaj o tym w ogóle nie pomyślałem. Nauczka na przyszłość. Co do wartości 4096 w ARR. Oczywiście...
Witam, Zliczaj impulsy w czasie. Uruchamiasz timer i do momentu aż timer nie doliczy do 1h liczysz impulsy. Po odliczeniu czasu obliczasz częstotliwość. Pozdraiwam,
oblicza spadek oblicza konstrukcja oblicza tranzystor
uszkodzona grzałka kuchenki kondensator mniejszy zasilacz miernik uszkodzić przewód
Wymiana presostatu: czy trzeba spuścić wodę? Drukarka Brother DCP-L2532DW nie skanuje do laptopa