Witam, .......... Czy arduino uno posiada może wbudowany licznik który działa niezależnie od programu? Tak aby przerwaniem co sekunde mógłbym sprawdzać jaka jest wartość w liczniku który liczyłby impulsy? TAK! Arduino posiada ich trzy, funkcjonujące totalnie niezalenie od wykonywanego programu, z pewnymi jednak warunkami lub ograniczeniami. Są to :...
To właśnie zostało uruchomione - musi działać. Pisane pod WinAVR [syntax=c] #define SET(port, bit) port|=(1<<bit) #define RESET(port, bit) port&=~(1<<bit) #define NOT(port, bit) port^=(1<<bit) //Przerwanie wywolywane 100 razy na sekunde ISR(TIMER1_COMPA_vect)// == SIG_OUTPUT_COMPARE1A { NOT(PORTD,PD6); } int main (void) { SET(DDRD,PD6);...
Przetestuj ten. Tak go poopisywałem, że aż mi się nie podoba :D [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize = 32 '# wyświetlacz 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 '# timer ' 8000000Hz(8MHz)/256(Prescaler)=...
Chciałbym wykonać coś nie zbyt skomplikowanego na Arduino , dla domu macie może jakieś propozycje? Może być coś z led Potrzebujesz gotowy program, czy brakuje ci konceptu?.... Jeżeli to jest początek nauki programowania, to zamiast projektów praktycznych dla domu, raczej ogranicz się do prowizorycznych/nie trwałych 'projektów' czyli zwyczanych cwiczeń....
To jest proste jak świński ogon :D ahahahaha, ale napisz kawałek kodu. Czy masz tam jakiś LCD czy nie, czy masz tam jakiś Timer ustawiony do odmierzania sekundy czy Wait`ujesz :D Czy w dokumentacji czujnika pisze, że nadaje tez na końcu niewidoczne w terminalu znaki 13 lub 10? EDIT: aaa masz tu taki prosty. Napisałem przy śniadaniu więc błąd mógł się...
zacznijmy od tego, ze kod umieszczamy w klamrach Dodano po 10 to jest kod na jedna sekunde $regfile = "m8def.dat" $crystal = 8000000 Config Pind.7 = Output Portd.7 = 0 Przekaznik Alias Portd.7 Config Timer1 = Timer , Prescale = 256 On Timer1 Sekunda Enable Interrupts Enable Timer1 Load Timer1 = 31250 Do Loop End Sekunda: Load Timer1 =...
Do drasmen: jeżeli chcesz aby układ zadziałał musisz przestawić fuse bity na wew. generator np. 8MHz a do pinów gdzie podłączasz kwarc musisz wpiąć kwarc zegarkowy 32.768kHz. Program dla autora tematu: 'Program wykorzystujący przerwanie od timera0(8 bitowego) generowane co 8ms 'jeżeli przerwanie zostanie wywołane 125 razy, otrzymamy 1 sekundę...
Teraz spłodziłem coś na chacie w bascomie ;-) Może w końcu ta koncepcja ruszy.... uwzględnia drgania styków, działa na innej zasadzie... powinna byc odporna na wszelkiego rodzaju czasy między puszczeniami wciśnięciami itp... w przerwaniu co 10ms sprawdzamy stan przycisku zadziałanie przycisku następuje najwcześniej po 10 jego sprawdzeniach (po 100ms)...
Może jakaś kawa by pomogła ;) Zastanówmy się co tu robimy A = 1000 A = A - 1 ..czyli A = 999... X = A czyli X = 999 i dzielimy je przez tysiąc tak? T = X / 1000 ...hmm jeśli T nie jest typu Single to 999/1000 to 0 Teraz mnożymy Zero razy tysiąc tak? Wynik = 0 Odejmujemy od 999 zero tak? Potem.. Y = T * 1000 S znowu równa się 999 / 100 ..czyli 9 Z =...
Pozwolę sobie umieścić post pod postem żeby wiadomość dotarła do zainteresowanego. Jeszcze lepszym wyjściem dla takiego zegara będzie zastosowanie dedykowanego rezonatorka 32768Hz (32,768KHz) Wartość 32768 to w zapisie binarnym dokładnie piętnaście bitów. Jeśli więc Timer będzie zliczał generowane impulsy to po 32768 uzna że mineła sekunda :D Bascom...
Nie chce mi się zagłębiać dalej w pisanie. Tych trybów możesz sobie dopisać ile chcesz. I jak Przewijajac menu naciśniesz Set to zmień tryb na, na przykład, "Ustawiam_temp" i w tym trybie znów przyciski Plus i Minus bedą działać dla zmiennej ustawianej. Potem naciskasz ESC i wracasz do trybu jakiego chcesz.. to proste i pewne. [syntax=basic4gl]$regfile...
Nie wiem czy chcesz się nauczyć czy potrzebujesz program. Na początek te uwagi: 1. Nie wiem co tam robi dyrektywa $eeprom. Jest niepotrzebna w tym kodzie 2. Zmienna Ds jest zwiększana w przerwaniu niezależnie od tego czy jesteś w Menu czy nie. Tak więc po powrocie z Menu już na pewno nie zdążysz załapać się na warunek If Ds = 2 i wyzerować jej wartość....
Tak, jak już pisałem, nie tędy droga. Trzeba zrozumieć, ze Menu czyli interfejs programu z człowiekiem powinno być tylko jego nakładką graficzną. Nie może być tak, że kiedy jesteś w Menu to program zaniedbuje cały system, na przykład nie pilnuje zadanych temperatur. Pomyśl co by było gdyby termostat sterował grzałką w akwarium a Ty sobie radośnie wszedłeś...
Po kilku godzinach program odpaliłem ..... podświetlanie się załącza dopiero po naciśnięciu kilka razy klawisza, monitor pokazuje start i numery naciśnietych klawiszy i to nie za każdym naciśnięciem. nie wiem jak "zatrzymać" dany ekran menu żeby zrealizować inna funkcje np; zmiana stanu wyjścia /* * sterownik który wykończy mnie i innych ..............
Troche siedziałem nad tym i nie moge sobie poradzić z napisaniem tego programu. Włączam timer na sekunde i nie wiem w jaki sposób to ma liczyc ( w przerwaniach?) a jezeli podczas wysylania danych do wyświetlacza nastąpi przerwanie? prosze o jakiś przykład w C.
Jesli dasz prescaler 64 to okolo 2 razy przepelni ci sie timer czyli 2 razy na sekunde wywali ci przerwanie.... dlasz szybszego oliczania wrzucam programik.
To co zamieściłem powstało w oparciu o tą stronę. Więc nadal nic to mi nie daje. Nadal nie wiem jak skonfigurować timer aby zliczał impulsy na sekunde a potem zerował wartość. może chociaż ktoś mi powie czy to co napisałem ma jakikolwiek sens.
na bascomie sie za dobrze nie znam, timery mam juz wykorzystane w programie tak: Config Timer0 = Counter , Edge = Rising Config Timer1 = Timer , Prescale = 64 Config Timer2 = Timer , Prescale = 1 napisales by ustawic timer tak by odliczal sekunde ale nie wiem jak to zrobic(?) i dlatego nadal szukalem prostszego rozwiazania... moze da sie cos wykompinowac...
najlepiej zaprzęgnać procesor napisać soft wykożystujacy timer generujacy przrwanie np co sekunde i zrobić licznik liczacy te sekundy od tyłu np od 99:99:99 (gg:mm:ss) i już masz Pozdro
Chcialem uzyskac przerwanie co 1 sekunde aby zwiekszyc tylko zmienna sekundy do odmierzania czasu. Ale mikrokontroler jak sie okazalo resetuje mi sie co sekunde gdy tylko nastapi przerwanie. blad w programie? pomóżcie prosze. z gory dziekuje! #include "hd44780.h" #include <interrupt.h> // funkcje sei(), cli() #include <avr/io.h> // dostęp...
Witajcie mam pytania i tak mam 90s8515 z kwarcem 8M są dwa timery chciałbym żeby ich wartości zmieniały się co 1 sekunde i jak zrobic żeby timer0 liczył większe wartości niż 255 dlaczego timer0 liczy z inną prędkością niż timer1? $regfile = "8515def.dat" $crystal = 8000000 Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4...
oto jak ja to rozumiem: rezonator podlaczony do mikrokontrolera ma 16MHz wiec 16 milionow razy tyka na sekunde wiec jedno tykniece trwa 1/(16000000) sekundy at89s52 na kazda operacje (czyli podniesienie timera o jedne) zzera 12 tykniec wiec efektywna czestotliwosc = freq/12 = 1.(3) MHz = 4/3 MHz wiec musi tyknac TIMER (nie kwarc) 1.3 miliona razy zeby...
Witam! Chciałbym napisać program na mikrokontroler dsm51 w którym to sterowanie diodą test odbywać się będzie za pośrednictwem timerów. Mianowicie program ma wyglądać w ten sposób że po uruchomieniu go dioda świeci się przez sekunde i sekunde sie nie świeci potem 2s sieci i 2s nie potem 3s swieci i 3s nie i tak analogicznie do 255 i zapętlić to aby...
mozesz sprzetowo liczyc impulsy zewnetrzne i co sekunde je "parametryzowac" i zaczynac od nowa... mozesz tez generowac przerwanie INT i w nim inkrementowac zmienna, dodatkowo zrobic timer ktory bedzie co sekunde odczytywal zawartosc zmiennej i ja zerowal.... 1. ustawic np. timer0 na TIMER jednosekundowy: -prescaler 1024, kwarc 16MHz. -timer0 = 157...
Myślę, że najlepiej usyawić TIMER tak, aby co sekunde wywoływał podprogam zmieniający zawartość wyświetlacza. Chociaż, jak tak teraz myślę, to zły pomysł :D, bo możesz nie trafić i sekundy zmienią się co np. dwie. Może przerwanie INT które wywoła program przy zmianie na wejściu, np. z PCF.
usiadz chwilke i pomysl! wyobraz sobie ze procesor to TY, masz na rence zegarek(DS1307), na codzien chodzisz do szkoly jesz, biegasz, grasz w pilke piszesz "glupoty" na elektrodzie ;) i teraz powiem ci tak. 1. Zeby wiedziec ktora godzina to mozesz ciagle patrzyc na zegarek i nic w zyciu innego nie robic :)(program glowny to tylko czytanie i wyswietlanie...
Witam Mam problem. Pracuje na visual c++ 2006. Utworzyłem zdarzenie timer ID_TIMER i uruchamiam go opcja SetTimer(ID_TIMER , 1000 , NULL) w funkcji OnInitDialog(). Do timera dołożyłem funkcje OnTimer(idEvent) w ktorej wywołuje progressbar. Problem polega na tym ze timer nie pracuje mi w tle co sekunde tzn. progrescbar nie zmienia sie. Po uruchomieniu...
Witam wszystkch. Mam wątpliwości co do odmierzania czasu w Bascom za pomocą Timerów. Sprawa dotyczy procków 51. Proszę o poprawienie mnie jeśli się myle. 1. Timer zlicza w górę od wpisanej wartości do 65535(16bit), Tryb 1. Zadaną wartość ładujemy komendą load timerx, yyyyy 2. Tak więc aby odliczyć 1 sekundę należy np.: 20 razy odliczyć po 50ms więc...
Ty to jesteś krejzolka Aldoro wiesz hahahahaha Podłączył byś wyjście transoptora do wejścia INTx albo ustawił Timer jako Counter a wyzwalanie jako, na przykład Falling, Co sekundę sprawdzał byś ile impulsów nabiło przez sekundę. I to wszystko. Bez obsługi przepelnienia Timera osmiobitowego zmieścił byś 255 impulsów na sekunde. Miłego dnia. Mogłeś wcześniej...
Wlasnie dlatego stosuje sie przerwania, jak procek ma cos innego do roboty to one i tak wystapia. Jesli ma wystapic pozniej przy pracy synchronicznej, to przy asynchronicznej tez wystapi pozniej. A co do kwarcu zegarkowego, przy zegarze 1MHz tez da sie odmierzyc dokladnie jedna sekunde :)
Witam, szukałem w archiwum, w fack'u i w paru innych miejscach, ale wciąż nie moge dojść jak działa Timer. Napisałem krótki program ktory miał mi generować jedną sekunde - wstępnie o to mi chodzi. '$sim $crystal = 18432000 '18432000/12=1536000 'Konfiguracja wyświetlacza Config Lcdbus = 4 Config Lcdpin = Pin , Db4 = P1.4 , Db5 = P1.5 , Db6 = P1.6 , Db7...
Witam, tworzę pewien projekt i spotykam się z tak zwaną rozbieżnością między teorią a praktyką. Używam 2 timerów, z których jeden generuje sekundę a drugi chcę aby generował coś najbliższe 24kHz Timer generujący sekunde to 16bitowy timer1 z preskalerem 1024, kwarc 16MHz, z wartością początkową wyliczoną przeze mnie 0xc2f6, którego sprawdzałem z zegarkiem...
Czesc, No niestety nie hula... probowałem tego. Myśle ze atmega jest zryta jakos... Mimo tego, ze mam obsługe przerwań i tak, wiem ze to musi działać bo skopiowałem to z mojego poprzedniego projektu, to mi się restartuje atmega. Zwrać na płytce nie ma. [syntax=c] #include <avr/io.h> // Załaduj bibliotekę input/output #include <avr/interrupt.h>...
Nie wiem dlaczego ale nie potrafie poprawnie uruchomic Timer w Bascomie. W efekcie mojej konfiguracji Timer uruchamia sie z jakąś losową ( wg mnie ) częstotliowścią i nie potrafie go zmienić na np 1HZ Kwarc 3.6864 MHz Czy ktoś mógłby podesłać lub umieścić gotowy plik bascoma 8051 z uruchomionym timerem ( obojętnie którym ) w trybie autoreload który...
Witam. Chciałbym prosić o sprawdzenie kodu. Chciałem uzyskać dwie rzeczy mianowicie: 1. Ustawić tak timer by 100 razy na sekunde wystąpiło przerwanie. 2. Ustawić przerwanie zewnętrzne od zbocza opadającego na którymś pinie (np. PE0). Skonfigurowałem tak peryferia: stm32f10x_it.c : [syntax=c]void EXTI0_IRQHandler(void) { static unsigned int i=0; //.....//...
Nadal nie rozumiem kwestii konfigurowania timera tak aby zliczał tyle ile chcę. Poczytałem parę wątków i nadal nie wychodzi. Aktulanie na Atmega16 z taktowaniem 4MHz staram sie uzyskać przerwanie co 100ms. Dla testów wyświetlam zmiany na LCD [syntax=basic4gl] $regfile = "m16def.dat" $lib "I2C.LBX" '$lib "mcsbyte.lbx" $lib "Ds1307clock.lib" $crystal...
Witam W zasadzie już zbliżam się ku koncowi stacji meteorologicznej z wykorzystaniem atmegi8 i PC. Z uwagi na funkcje jakie musze wykorzystać a wiec timer i USART wystapił problem. Wykorzystując timer1 generuje przerwanie co sekunde i licze czas aktualny. Podczas połączenia z komputera wysyłam na zasadzie: 1 znak z PC, a w odpowiedzi z Atmegi string...
Witam, mam w ukladzie ATmega8 + MAX232 do komunikacji z komputerem. ATmega jest taktowana z zewnetrznego kwarcu 16MHz. Wydaje sie, ze fuse bity sa dobrze ustawione, bo do obliczenia parametru predkosci USART (wpisywanego w UBRR) musze wykorzystywac wlasnie 16000000. Mam jednak problem z timerami. Zarowno _delay_ms(), jak i _delay_loop_2() dzialaja tak,...
Witam Mam zegarek/budzik z wyświetlaczem LED ( dwukolorowy ). Zegarek generalnie działa. Ale mam problem z sterowaniem jasnością. Wiadomo, że robi się to tak, że jasność zależy od częstotliwości odświeżania. Tutaj o jasności wyświetlania ma decydować zmienna jasnosc. . jasnosc : [syntax=vbnet] '************ Timer0 1000 = 1 sekunda, 10000 = 10 sekund,...
dodatkowo zliczam 250 czyli 250 * 250 = 62500 poprzednio jak mialem Atmege8 i 16 MHz mialem tak Config Timer0 = Timer , Prescale = 64 On Timer0 Sekunda Sekunda: Load Timer0 = 250 Incr Jednostki_czasu If Jednostki_czasu = 1000 Then 'mam sekunde Jednostki_czasu = 0 End If i odliczało dokładnie 1 sekundę ale chyba masz racjębo układ nie działa (nie...
Witam! Jak moge odliczyc 1us poprzez timer przy kwarcu 16 MHz ?? Posiadam procesor AT89S8252 jest to wogole mozliwe ?? jedną sekunde odliczam w ten sposób: $regfile = "89s8252.dat" $crystal = 16000000 $large Config Lcdpin = Pin , Db4 = P0.4 , Db5 = P0.5 , Db6 = P0.6 , Db7 = P0.7 , E = P3.5 , Rs = P3.6 Config Lcd = 16 * 2 Cursor Off Cls Dim...
Witam, Mam problem z zmuszeniem do pracy jako PWM Licznika "Timer0" Timer jeden działa mi jako przerwanie co jedna sekunde wiec nie moge go użyć do tego. Próbowałem zrobić to tak jak w tym temacie, ale wyświetlacz wtedy wariuje. http://www.elektroda.pl/rtvforum/topic28... Gdy wykasuje z kodu linijke: 'Config Timer0 = Pwm , Prescale = 64 , Compare...
Z 51 mialem stycznosc dwa lata temu, teraz nie pamietam wszystkich rejestrow funkcyjnych i za co one odpowiadaja, ale za etykieta START masz ustawienie przerwania od timera, wpisywana jest wartosc poczatkowa i pewnie ustawiane priorytety przerwan i ich maskowanie. a za mruganie diody co sekunde odpowiedzialny jest rozkaz CPL, ktory zmienia wartosc wyjsc...
załączam program, ale to nie jest problem napewno tego.: spark2_nowy.h ioinit.h enkoder.h spi.c [syntax=c] static inline void SPI_SET_SS() { PORTB|=(1<<PB2); } static inline void SPI_RESET_SS() { PORTB&=~(1<<PB2);// SS -> PB2 } void SPI_master_init() { SPI_SET_SS(); SPCR = _BV(SPE) | _BV(MSTR) | _BV(SPI2X);// (SPE) SPI Enable, (MSTR)Master...
Po kilku dniach pracy urządzania stwierdziłem że jednak przydało by się żeby serwerek dodatkowo wysyłał dane do "https://thingspeak.com/" chociaż z termometru domowego. Próbowałem na rożne sposoby ale nie mam pojęcia jak to zrobić. Może ktoś z Was jest w stanie zmodyfikować kod ? Może kolega (at)bart-projects czyta ten temat? ;) (to ten sam kod co w...
W bascomie były taki sampel zegara na wyświetlaczu LED. Tylko nic nie rozumiem, bo opisy nie są po angielsku :( '---------------------------------------... ' (c)1997-2000 Mirko Pelcl ' Slovenie '---------------------------------------... ' CLOCK with the LED display ' ' Demo project ' '---------------------------------------...
Witam. Chcę aby program sprawdzał PORTB pin2 dwa razy w odstępie ok.1s. Mianowicie gdy na PB2 pojawi się stan niski uruchomić ma się timer i przez ok. sekunde będzie sprawdzał PB2 i jeżeli w tym czasie pojawi się stan niski program wraca do LOOP. Jeżeli po odmierzeniu owej sekundy nie pojawi się stan niski na PB2 to program ma odmierzyć czas ok. 1s....
aha. czyli wystarczy ze po wykryciu braku zasilania odpowiednio ustawie ten bit (bodajrze w PSW?). mówisz że każde przerwanie? mój timer zgłasza 30 razy na sekunde przerwania. i procek bedzie sie cały cza sbudził i usypial. wiesz może jaka jest różnica w poborze pradu podczas pracy i uśpienia?. ja ososbiscie myśłałem żeby dać jakaś małą pętle, która...
Ok, generalnie przeplywomierz posiada wbudowana funkcje skalowania sygnalow. I tak sygnal wchodzacy do PLC ma wynosic od 0 do 100Hz dla przeplywu od 0 do 450l/min. Sterownik to MODICON M340 z modulem wejsciowym typu DI 3202K, Schneider powiedzial ze ich moduly wejsciowe maja zintegrowana funkcje HSC i nie potrzebne sa zadne dodatkowe czy dedykowane...
Witam! Mam problem z timerami w języku C (w moim projekcie) dlatego zwracam się do Was o pomoc. Napiszę od początku, żeby przedstawić o co mi chodzi. Zbudowałem kiedyś sterownik taśmy led RGB oparty na mikroprocesorze attiny2313, w którym za pomocą jednego przycisku zmieniam podstawowe kolory na pasku ledowym (czerwony, zielony, niebieski) oraz ich...
sekunde bascom klatek sekunde monitor widac sekunde
radiotelefon vertex ekspres krups konserwacja alarm przestał działać
mikrokomputer cobra1 mikrokomputer cobra1
LG K50 LM-X520EMW – czyszczenie pamięci, Smart Cleaning, przenoszenie danych Ford Focus Mk1 XS4R-7002-FA vs XS4R-7002-FB – różnice skrzyń iB5, zamienność, szczegóły rewizji