Do timera dołącz "wyświetlacz" (gruba linia) a w nim zaznacz "autoryzation" - wtedy będzie widoczny na wyświetlaczu a po naciśnięciu OK będą działały + i - do zmiany wartości. Lepszym rozwiązaniem jest nastawianie wartości za pomocą licznika (wyjście "curent" na wyświetlacz) i komparowanie tej nastawy z analogicznym wyjściem timera. Licznik można zwiększać...
można to uzyskać w linuksie bezproblemowo np. usleep(10) ale na windowsie narazie mi się nie udało nic takiego znaleźć. Do plotera użył bym µC tam możesz wykorzystać timery co bardzo ułatwia sprawę.
Timer i zmiana stanu wyjścia w przerwaniu. Długość dźwięku określić innym timerem.
Opóźnienie - zatrzymanie timera na określoną ilość cyklów zegara. Zanegowanie - zmiana wartości w rejestrze porównywania(chyba OCRx). Zamiast 10 dajesz 255-10=245. Wystawić na innym wyjściu - zmienić timer. Pomyliłeś pojęcia myśląc, że układ sprzętowego PWM steruje na rejestrze PORTx. Takie rozwiązanie nie pozwalało by użytkownikowi na korzystanie z...
Kiedyś zrobiłem projekt odtwarzacza dzwonków z nokii na tiny26. Użyłem timera i wyjścia PWM. Zmiana częstoliwości następowała przez przekonfigurowanie timera odpowiedzialnego za PWM. Trzeba było tylko zrobić mechanizm anty glitch żeby nie było stuków w głośniczku prze zmianie częstotliwości.
A jaki mikrokontroler? Trzeba zmienić timer lub jeśli obsługuje dwa wyjścia to odpowiednio rejestry pozamieniać.
Witajcie, Mam problem ze zmianą polaryzacji wyjścia timer w locie. Sprawa wygląda tak. Mam dwa timer jeden (TIM1 na CH1) generuje PWM o dużej częst. a drugi (TIM7) zlicza czas w dół i następnie w przerwaniu zmienia polaryzację wyjścia PWM TIM1. Niestety pojawia się wtedy flaga UIF w rejestrze SR, co powoduje przeładowanie TIM1 i wtedy na krótki czas...
Układ na oko jest dobry, tylko te 14V. Ja to rozwiązałem inaczej. MAX232 może podwajać napięcie i zmieniać polaryzację. Przy 5V zasilania teoretycznie daje na wyjściu +/- 10V. Jeśli podłączysz nadajnik wprost do wyjść tego układu to można uzyskać nawet 20VAC przy zmianie kierunku prądu. Zasięg mojegu układu przy podobnej budowie odbiornika to ok. 1m....
Kosmo Timer1=34285 wyszło z prostej kalkulacj. przy zegarze 8000000 i preskalerze 256, timer uP'a zliczy 8000000/256= 31250 "impulsów". Czyli aby licznik sie przepelnil nalezy zaczasc zliczanie od 65535-31250=34285.
Witam. Poszukuję schematu prostego timera. Najlepiej na NE555, który na wyjściu powinien mieć napięcie 230V. I by zmiana czasu była co pół godziny tak do 3H. Timer miałby uciągnąć zasilacz od ładowarki AKU 18V. PS. Gdyby nie ten dział to proszę o przeniesienie.
Witam Poszukuję układu zewnętrznego Timera, który zawierał będzie minimum 2 timery i najlepiej gdy by dało się go konfigurować po magistrali I2c. Wymagane jest również aby mógł sygnalizować przepełnienie czy dopasowanie do wartości rejestru kontrolnego na osobnych nogach jako zmiana stanu umożliwiająca wywołanie przerwania w uP. Układ potrzebny ponieważ...
Można, ale nie na głównym "pulpicie". Hasło użytkownika i "*" -> Testy -> Temperatura. Z tym wyjściem "Przełącznik MONO" należy jeszcze pamiętać, aby odznaczyć timery, które sterują wyjściem. Żeby nie było kiedyś niespodzianki.
A może wyłumaczyć mi ktoś tak jaśniej niż whelpie bascoma ;) co to jest ten prescaler i co on dzieli. Może tak po kolei jak twój program widnieje: 1. Jeżeli PORTB jest przeznaczony do obsługi LCD to nie konfiguruj go w ogóle w stylu jaki podałeś w pierwszym poście. Config Portb = &B11111111 : Portb = &B11111111 ===> źle!!! Może to powodowac zakłócenia...
Atmega32 - timer 1 w trybie 8-bit pwm, zmiana porównania napięć wejściowych powoduje zmianę stanu wyjścia komparatora - sygnalizacją LED 8. Przy stanie wysokim wyjścia komparatora ma nastąpić wyzwolenie przechwycenia stanu czasomierza1.
Attiny2313 ma możliwość sprzętowej generacji PWM a jeżeli nie chcesz używać sprzętowej generacji to pozostaje ci przerwanie od timera i zmiana stanu wyjść w odpowiednich cyklach. Generacja PWM w pętli głównej to nie jest dobre rozwiązanie bo wypełnienie będzie ci pływać w zależności od tego co będzie robił program zaszyty w pamięci uP.
Mało danych. Chcesz, żeby dioda migała na przerwaniach? Czyli przerwanie włącza, następne wyłącza - tak to zrozumiałem. Co do obsługi T0 musisz zrobić obsługę przerwania od adresu 0x0BH (czyli wyzwalanie przez flagę TF0). Wstaw coś takiego po LJMP start na początku: [syntax=text]ORG 0Bh ; start przerwania CLR TF0 CPL P1.4 ; zmiana stanu wyjścia sterującego...
Jak przeprowadzałeś ten test dla tych 2 kanałów (wschód - zachód)? Uzywając już docelowych fototranzystorów? Co z wejściami dla sensorów północ-południe, też miały coś podłączone czy wisiały w powietrzu? Co do kodu to przydałaby się jakaś histereza, i zmiana algorytmu żeby nie blokował się na jednym kierunku - aktualnie jak jest nierówność na jednym...
Nadużywasz |= - tak, jak byś nie wiedział, co jest w rejestrze po resecie i bałbyś się to zmienić. Po prostu zapisz do rejestru to, ca ma tam być, np. TCCR0 = 1 << WGM01 | 1 << CS0; W ten sposób oglądając kod za pół roku będziesz wiedział dokładnie, co jest w rejestrze i nie będziesz szukał po całym programie, w którym miejscu wpisałeś który...
Przeanalizowałem działanie układu timera 4541 według informacji dostępnych z katalogu, a ponieważ dalej miałem pewne wątpliwości, to jeszcze dla pewności zrobiłem próbę, bo akurat miałem ten układ. Nie pamiętam dokładnie co Ci odpisałem na PW, ale mogę teraz powiedzieć, że schemat zamieszczony przez Ciebie w tym wątku jest poprawny (z wyjątkiem uwag...
Aha, teraz jeszcze zauważyłem, że timer programowy zrobiłeś na 16bitowej zmiennej. W ten sposób zawsze bredzisz miał błędne odliczanie, bo AVR są 8bitowe i będzie się zdarzać, że tylko jedna część tej zmiennej zostanie przypisana na czas podczas wykonywania przerwania. Wyjściem jest tzw. atomowy blok, albo zmiana zmiennej timera na 8bit (jestem za drugą...
Na nie możesz policzyć? Chyba że nie wiesz jak :D Masz 8MHz. A przerwanie przychodzi z częstotliwością 125Hz (dlatego trzeba 125 razy odliczyć aby wyszła 1 sekunda). Preskaler Timera 256. 8000000/256/125 = 250. I dlatego jest Load Timer0 = 250 Teraz chcesz kwarca 7372800. Więc musisz tak kombinować aby uzyskać jakąś sensowną liczbę przerwań i sensowny...
Super, działa :) Tylko żeby zwiększyć częśtotliwość usunąłem bit CS11. Na wyjściu mam teraz ~15,6kHz. [syntax=cpp] TCCR1A = (1 << WGM11) | (1 << WGM10) | (1<<COM1C1); TCCR1B = (1 << WGM12) | (1 << CS10); [/syntax] Czy moge się odwołać w podobny sposób do innych wyjść? [url=http://sobisource.com/?p=195]Tutaj piszą, że timer...
W przypadku ustawienia funkcji iloczynu logicznego dla wyjścia fizycznego 5, które w moim przypadku steruje oświetleniem LED po utworzeniu dwóch wyjść wirtualnych (timer) oraz Wskaźnik Czuwania po spełnieniu dwóch wcześniej wymienionych funkcji uruchamia się LED. Natomiast mi zależy również na tym żeby niezależnie od tego można było wysterować wejście...
witam szukam rozwiązanie problemu centrala satel 128 wrl + int-iors chciałbym żeby o określonej godzinie z timera centrali na wyjściu iorsa pojawiła się 1 sekundowa zmiana stanu. ma ktoś pomysł jak to zrobić? zmiana ma zewrzeć włącznik nadajnika rolet somfy rts. mirek
nie mam sumy logicznej wyjść. Ale po prawej wszystkie timery są zaznaczone i pewnie wtedy traktuje jako suma MONO i Timerów? Jak będę w domu to sprawdzę. Dzięki. Faktycznie o to chodziło. Dziękuję
Atmega 328 Przerwanie 50hz do sterowania fazowego blokuje odliczanie millis(); , występują opóźnienia w całym programie. Trudno cię zrozumieć, ale sprawdzanie millis() wskazuje na to że nie używasz potencjału jaki jest w sprzęcie, powinieneś ustawić przerwanie tak aby timer wywołał je kiedy jest potrzeba zmiany stanu wyjścia, albo w ogóle bez udziału...
Witam sprawdź ten kod co prawda są inne numery portów i inny procek ale jak zmienisz powinno działać. Problem jest jeden w momencie jak naciskasz przycisk i zmieniasz końcówkę na WYJŚCIE to stan tego pinu Musi być (0) Niski , żeby nie zrobić zwarcia. '$sim $regfile = "attiny2313.dat" $crystal = 11059200 $baud = 9600 enable interrupts 'włącz...
Myślę, że kolega tmf źle zrozumiał autora, a kolejne osoby już nie wnikały. Pisząc "programowo" miał na myśli napisanie programu, a nie to że "bez wykorzystania urządzeń mikrokontrolera". Więc jedyna sensowna rada użyć timera w trybie Compare match i zmianą stanu na wyjściu OC Zmieniając wartość rejestru OCRx zmieniamy częstotliwość.
1. Sformatuj kod - użyj tagów "Syntax C" 2. Wszędzie, gdzie masz zapisy typu zmienna = zmienna += 1 zapisz zamiast tego zmienna ++, to samo ze: zmienna += 1 zastąp zmienna ++, zmienna -= 1 zastąp przez zmienna -- 2. Na pętlach nie da się sensownie regulować jasności, bo czas wykonania pętli zmienia się w zależności od warunków. Nie wiem, jak ten program...
Usiadłem przy Atmedze328P i uruchomiłem SPWM dla Twojego przykładu. Zdefiniowałem następujące wyjścia sygnałów: - PD0 - sterowanie lewym dolnym MOSFETem mostka H - PD1 - sterowanie prawym dolnym MOSFETem mostka H - PD5 - sterowanie lewym górnym MOSFETem mostka H - PD6 - sterowanie prawym górnym MOSFETem mostka H Wyjścia PD5 i PD6 są niezmienialne, ze...
Mam centralę Integra 64+. Chciałem aby jedno z wyjść można aktywować tylko w godzinach nocnych. Ustawiłem więc timer 2 i 3 na godziny załączania i wyłączania i dołączyłem do sterowania wyjścia MONO. Wyjście się o określonej godzinie uaktywniło wtedy zrozumiałem, że powinienem zrobić iloczyn logiczny (zdarzenie + timer). Zresetowałem więc ustawienia...
ok, próbowałem odpalić timer0 i wielkie nico mi z tego wyszło :) Może ktoś znajdzie błąd w kodzie. Sprawdzałem pod symulatorem AVR Simulator i w ogóle zegar nie startuje. #include <avr/io.h> #include <avr/interrupt.h> #define TIMER0_INIT0x00 unsigned char flag; int main(void) { DDRB = 0x04; //PIN 2 portu B na output TCNT0 =...
Jaki konkretnie procesor? ATMEL to dość ogólnie napisane :) Wysłanie sekwencji 0 na port B? Co to znaczy? Czy przy starcie wartość wysyłąna na port B to ff i co jakiś czas jest dekrementowana aż do wartości 0? Klawisze podłączone są do jakiego portu? D? Całego programu ci nie napiszę ale coś spróbuje pomóc. Dodano po 7 Treść zadania ;Silnik krokowy...
Nie widzę, jak robisz tu opóźnienie o 64 sekundy - czy TIFR to rejestr flag przerwań z timerów? Nie widzę sensu używania zmiennej 'toggle' - poza tym, że podwaja czas między zmianami stanów wyjść (zmiany są co drugie przerwanie z timera, o ile dobrze zgaduję, co to jest TIFR).
Już dostałeś tę odpowiedź: Jeśli Timer odwraca stan pinu to tylko raz. Musi minąć znów czas do następnego przerwania żeby znów odwrócić stan. to jest dzielenie przez dwa :), choć nie przerwanie miał na myśli kolega niveasoft, tylko moment wykrycia spełnienia warunku porównania, a w konsekwencji zerowania licznika TCNT. Widać to na rysunku z fragmentu...
Dziękuję za znalezienie błędu. Oczywiście timery zachowują się tak jak piszesz w tym trybie. Cały problem wynika z tego, że w tym rozdziale błędnie jest napisane, że przykład jest z rozdziału 18 - powinien być z rozdziału 14, str. 272 - sterowanie jasnością wyświetlacza LED. Chodzi o to, że uzyskanie PWM wymaga programowej zmiany stanu wyjść związanych...
Tykanie nie pochodzi z Timera, wyeliminowałem tą możliwość na samym początku. 555 taktuje z dwa razy większą częstotliwością niż słyszalne puki. One same idealnie pokrywają się z sekwencją załączonych diod. Przełączniki są 3 pozycyjne i w środowej pozycji diody są odłączone (wtedy uporczywy problem znika) stąd wniosek że powoduje to prąd na wyjściach...
Dlaczego nie uzyskasz? Dla 16-bitowego timera i preskalera 1024 dla f=1MHz uzyskasz nawet minutę. Ja bym to zrobił tak, że ustawiłbym timer na zliczanie tego okresu 0-1,3 Hz, w przerwaniu zmieniłbym parametry pracy tak, żeby kolejne przerwanie wyszło po 20ms, wtedy ponowna zmiana i generowanie czasu do kolejnego impulsu. W przerwaniu programowa zmiana...
Twojego programu nie analizowałem, nie chciało mi się, albowiem od razu Ci powiem, że ja bez przerwań w ogóle bym się za to nie zabierał i dotyczy to nie tylko enkodera ale także zwykłych przycisków. Tak jak napisał tmf , każdy zestyk ma tendencję do drgań, a więc enkoder również, jest to opisane w książce Pieńkosa i Turczyńskiego "Układy scalone TTL...
moze pomogłoby połaczenie kilku programowanych równolegle liczników i na tej podstawie (przy odpowiedniej częstotliwości zegara) programować go wartością przy której liczniki zgłaszałyby przerwanie (przeniesienia albo pożyczki w zależności w którą stronę by liczył) wówczas może by można było mówić o nieco płynniejszej regulacji częstotliwości. Tylko...
Jest gdzieś skrótowa dokumentacja do ustawień CubeMX, aby zaczynający programista się nie zniechęcił? Nawet jeśli korzystasz z CubeMX to zacznij najpierw od jakiejś literatury. "Poradnik Szczywronka" takie rzeczy dość łopatologicznie tłumaczy tzn. podstawy działania timerów (i nie tylko). Na pierwszym zrzucie mamy włączony OPM na drugim wyłączony....
Rozumiem, że "sygnał" z jednego wału to jeden przebieg prostokątny o częstotliwości zależnej od prędkości. Wały są cztery. Mamy zatem cztery sygnały prostokątne podłączone każdy do osobnego pinu. A zatem, potrzebne są dwa timery, jeden do generowania PWM (nie wiem w jakim celu kolega tego używa). Drugi do odliczania konkretnego odcinka czasu. Jak ten...
...i wymyśliłem taki układ: http://img143.imageshack.us/img143/1809/... Ma on działać następująco: w momencie zamknięcia lub otwarcia styku J1 (reagując na zmianę poziomu logicznego) zostanie uruchomiony timer 555, który na wyjściu da impuls o czasie trwania wyznaczonym przez R6 (peerka) i C3, zaświecając diodę przez ten czas (kilka sekund)....
Za pierwszym razem timer przypisałem jak wyjście bistabilne, po nocnej awarii i znalezieniu rozwiązania przywrócenia centrali do życia wykasowałem to wirtualne wyjście, natomiast nie wykasowałem ustawień timera, który miał działać od 15 do 00 i dokładnie o 15 centrala znowu ześwirowała i odpaliła wszystkie aktywne wyjścia. Po zmianie ustawień timera...
Wielkie dzięki za tę odpowiedź, chyba tego potrzebowałem. Czy mogę zrobić tak, że przycisk z timera będzie jednocześnie przyciskiem z tego układu ? Pozdrawiam. Można to zrobić np.tak: http://obrazki.elektroda.pl/7680550100_1... Wejście CP przerzutnika 4013 można wyzwalać z jednego z trzech wyjść (WY1÷WY3). Użycie WY3 zmienia stan przerzutnika...
Chyba tak to miało by wyglądać: '*********************** Ustawienie TIMER1 **************************** Config Timer1 = Timer , Clear Timer = 1 Enable Interrupts Enable Timer1 ' ma być 50Hz - procedura przerwania i sterowania serwem co 20ms (z teorii sterowania serwomechnizmmem tak ma być) Ocr1ah = High(312) Ocr1al = Low(312)...
Ok ale czy zmiana stanu na IO zabiera aż 20 cykli? poza zmianą stanu nic innego się tam nie dzieje ;] funkcja zmiany stanu na wyprowadzeniu: [syntax=csharp] static __INLINE void GPIOSetValue( uint32_t portNum, uint32_t bitPosi, uint32_t bitVal ) { LPC_GPIO[portNum]->MASKED_ACCESS[(1&l... = (bitVal<<bitPosi); } [/syntax] oraz odczyt:...
To mniej więcej Twój układ: http://www.555-timer-circuits.com/knight... A tu masz kombinację ze zmianą świateł (i przerwą między nimi): http://www.555-timer-circuits.com/police... I jeszcze inna kombinacja połączeń: http://www.555-timer-circuits.com/traffi... Generalnie kolejno "zapalają się" wszystkie wyjścia. Popatrz...
https://obrazki.elektroda.pl/5103151200_... Tutaj przykład zamiast clockaHZ na timerach różnica jest taka że tutaj po wciśnięciu przycisku od razu zaczyna podnośić a przy użyciu clocka trzeba było trafić akurat jak będzie "otwarty" ThornDC mógłbyś troszke przybliżyć temat?, w eventach nie znalazłem nic takiego jedynie increase bit...
Co zmieni zmiana InputPort na InterruptPort ? I powiesz mi jak ustawić ten timer żeby mierzył czas od jednego impulsu do drugiego? Bo właśnie z tym mam największy problem. Bo z takiego przykładu: [syntax=csharp] public static void ZegarInit() { Timer timer1 = new Timer(new TimerCallback(OnTimer1), null, 0, 1000); } static void OnTimer1(object state)...
Poczytaj o Timerach. Po uruchomieniu timera możesz zająć się czymś innym w programie. Zmianę stanu na wyjściu zrób w obsłudze przerwania od Timera.
Witam Napisałem poniższy prosty program który po 6 zmianach stanu na nóżce int0 (PB2) wykonuje przerwanie. include "tn15def.inc" .def acc = r16 ;nadanie rejestrowi r16 nazwy symbolicznej .def licz1 = r20 .def licz2 = r21 .def licz3 = r22 .org 0x00 rjmp pocz .org 0x06 rjmp timer0 .org 0x0B ; -- POCZĄTKOWE USTAWIENIA SPRZĘTOWE -- pocz: ldi...
Wybaczcie, ze dopiero teraz. Nieszczęśliwa seria. Najpierw żniwa, potem burza i wywaliło internet. Siedzę na necie cichaczem w pracy o_O. Po włączeniu trybu PWM timer zaczyna liczyć gdy wartość rejestru TCNTn (licznika) przekroczy wartość zapisaną w rejestrze wtedy na wyjściu PWM OCn nastąpi zmiana ze stanu wysokiego na niski a na !OCn odwrotnie. Pomóż...
Witam. mam problem z programem gdyż korzystając z Timera1 chciałbym w programie zmieniać prescale po wciśnięciu np. s1 na 8 a po wciśnięciu s2 na 1024, problem w tym że w najprostrzej wersji programu : If Pinb.0 = 0 Then Config Timer1 = Timer , Prescale = 1024 End If If Pinb.1 = 0 Then Config Timer1 = Timer , Prescale = 8 End If pinb.0 i pinb.1 ustawione...
Wkradła się pewna nieścisłość. Racja: nie "gdzie" tylko "kiedy" występuje przerwanie. Niestety to nadal nie rozwiązuje mojego problemu, dlatego że rozumiem przerwanie tak jak to opisałeś a mimo wszystko zachowuje się to wszystko nieco inaczej... Jeszcze raz: [syntax=c] //definicja LED1 (do którego pinu podłączony LED1) #define LED1 PC0 //definicja LED2...
Witam. Mam następujący problem - chciałem użyć timera 2 do pracy asynchronicznej z zewnętrznym rezonatorem kwarcowym (zegarkowym) o częstotliwości 32,768 kHz. Czyli ATmega powinna być taktowana wewnętrznym szybkim oscylatorem, a jedynie ten timer zegarkowym. Kod: #include <avr/io.h> int main (void) { DDRD |= (1 << 0);...
Witam, Buduje Skalara który był jeszcze darmowy. Mam już zbudowaną płytę główną jednak chciałbym wprowadzić małą zmianę - tzn. aby wszystkie wyjścia (timery, oświetlenie) można było dodatkowo włączyć i wyłączyć z przełącznika żeby nie trzeba było wchodzić do meny skalara: Zrobiłem taką modyfikację i działa: http://obrazki.elektroda.pl/7042141300_1...
Witam. Napisałem taki program .............. W moim programie po kolei załączają się rożne tryby migania diody a ja chciałbym żeby wciskając raz switcha załączał się pierwszy tryb później po wciśnięciu załączał się drugi tryb i aż tak do czwartego trybu. Pozdrawiam, Masz prawdopdobnie zadanie zmieniać tryby migania (4 tryby) jednej diody z użyciem...
Sterowanie "mocą" to coś co zawsze mnie omijało, dlatego chętnie się dowiem na żywym przykładzie jak to powinno być realizowane. Niepokoji mnie ten nagła zmiana współczynnika PWM na 180°, czy to dobra praktyka aby sygnał sterujący zmieniał się tak gwałtownie ? Co do atmega, najlepiej będzie tutaj wykorzystać timer z dwoma wyjściami PWM, dzięki czemu...
Witam, Mam za zadanie przerobić program w chińskiem maszynie która ma sterowanie dwuręczne. Przeróbka polega na dodaniu dodatkowego timera, niewielka i w miarę prosta ingerencja. Sterownik jednak ma zabezpieczony program i trzeba go napisać od początku, nie ma innego wyjścia. Całe sterowanie generalnie jest zrobione na tym PLC nie ma żadnego osobnego...
Witam serdecznie ponownie. Koresponduję sobie z supportem Satela. Wymieniłem w testowej rolecie włącznik na chwilowy, dwuprzyciskowy. Zaczyna to działać całkiem znośnie. Na chwilę obecną jest problem z zatrzymaniem rolety w trakcie posuwu, i szybką zmianą kierunku na przeciwny. Support pisze o opóźnieniach w takiej sytuacji do 3 sek, w tym scenariuszu...
[syntax=csharp]#include <avr/io.h> #include <avr/interrupt.h> //definicja LED1 (do którego pinu podłączony LED1) #define LED1 PB0 //definicja LED2 (do którego pinu podłączony LED2) #define LED2 PB1 //definicja początkowej wartości timera #define timer_start 6 //zmienna pomocnicza-licznik używana w przerwaniu volatile uint8_t cnt=0; void...
DB jest zadeklarowane tuz przed użyciem i w całości programu jedno db używane. Drugi problem to że mogę wyzwolić timer np przyciskiem zmieniającym stan na wejściu, a nie mogę wyzwolić zegara zmianą stanu komórki, czy flagi. Tak jakby stan komórki był 1 lub 0 i nie istniało zbocze. Jak przy wejściach. Innymi słowy, chciałem zrobić na wyjściu sygnał prostokątny...
Dzień dobry! Mam taki o to problem, przerzuciłem notę ale nie mogę jakoś ogarnąć jak uruchomić drugi timer 8 bitowy, przykładowo: Proszę pamiętać o używaniu znaczników syntax . Opcja Listing kodu . - arnoldziq
Atmega88 nie ma takich w ogole rejestrow: TIMSK, TCCR0! Ten kod jest poprawny. #include <avr/io.h> #include <avr/interrupt.h> #define TIMER0_INIT 175 char i; // procedura obsługi przerwania od timera TC0 SIGNAL (SIG_OVERFLOW0) { TCNT0 = TIMER0_INIT; // załadowanie do licznika wartosci poczštkowej PORTB ^= (1<<PB1);...
A czy mógł bym prosić o fragment kodu abym mógł to jakoś załapać bo nie wiem jak to za bardzo to napisać? Dostałeś przecież ode mnie link, a w nim dokładnie opisany przykład: http://www.elektroda.pl/rtvforum/viewtop... Czytam to co jest tam napisane, analizuje i kombinuje na kodzie ale nie mam pojęcia jak za pomocą Timera zdefiniować...
https://obrazki.elektroda.pl/3227491500_... https://filmy.elektroda.pl/98_1514068986... Właściwie mamy już Święta i świąteczny konkurs w DIY. A w nim sporo konstrukcji opartych na programowalnych diodach WS2812B. Stąd też, aby ułatwić innym realizację świątecznych projektów oświetleniowych, postanowiłem podzielić się rozwiązaniem...
System event może dla timera robić dwie rzeczy - być źródłem zegara - to już zrobiłeś, ale oprócz tego każdy timer ma rejestr (CTRLD), w którym można powiązać kanał zdarzeń z akcją, jedną z dozwolonych akcji jest zmiana kierunku zliczania góra/dół (UPDOWN). Zresztą już to musiałeś wykorzystać, bo jedną z akcji jest QDEC, czyli dekoder kwadraturowy....
Witam. Mam problem na który sensownej odpowiedzi nie znalazłem, w nocie katalogowej także nie ma opisanego takiego przypadku za to jest kilka innych które mi średnio pasują do czegokolwiek. Mianowicie potrzebuje produkować przebieg o niezależnie programowalnej częstotliwości i czasie trwania stanu wysokiego. Parametry tego przebiegu to częstotliwość...
Wyłączyłeś przerwania za pomocą disable interrupts, a włączyłeś je jakoś później ? Zadeklarowałeś timer na początku programu i co dalej z nim ? Wykorzystujesz go jakoś ? Dajesz jakieś opóźnienie dla czujnika temperatury ? Samo przełączanie zmiennej chyba nie wystarczy. Domyślam się, ze chciałeś użyć timera do tego ? tak , jest błąd w kodzie , dodałem...
Witam, proszę o wyjaśnienie zasady działania sygnału PWM [syntax=c]int main(void) { DDRB |= LED1 | LED2; //Wyjścia LED //Inicjalizacja Timer1 (PWM) TCCR1A |= (1<<COM1A1) //Zmiana stanu wyjścia OC1A na niski przy porównaniu A | (1<<COM1B1) //Zmiana stanu wyjścia OC1B na niski przy porównaniu B | (1<<WGM11); //Tryb 14 (FAST PWM, TOP=ICR1)...
Jeden przebieg PWM wpuszczasz na bramkę lewego dolnego NMOS i bazę tranzystora npn, którego kolektor steruje bramką prawego górnego PMOS. Drugi odwrotnie. żadnego zwarcia nie będzie, o ile nas obu wyjściach PWM nie pojawi się równocześnie stan wysoki. nie ma wówczas również groźby równoczesnego otwarcia obu tranzystorów w jednej gałęzi - trzeba tylko...
Co ty opowiadasz... Mamy enkoder, który generuje max kilka impulsów na sekundę i to ma być problem? No właśnie zależy od enkodera. Dlatego zapytałem się w pierwszym moim poście. Ja kiedyś trafiłem na taki enkoder z jakiejś wieży albo wzmacniacza, że miał bardzo dużo impulsów na obrót. To miało chyba symulować 'analogowosc'. Jak zrobiłem odczytując...
No więc sprawa wygląda tak, że zastosowałem finalnie bramkę żeby odwrócić przebiegi, ale wcześniej długo kombinowałem jak to zrobić programowo... Na początku próbowałem z FOCnx bez rezultatu, procesor ignorował całkowicie ten bit, potem kombinowałem ze zmianą wartości rejestru OCR1B i wtedy wpisując do niego wartość 1 udało się odwrócić przebieg o 180°...
jak działa urządzenie, którego schemat jest poniżej? https://obrazki.elektroda.pl/3063375200_... Schemat przedstawia prosty układ czasowy oparty na tranzystorze MOSFET (Q1, typu N), diodzie (D1), kondensatorze (C1) oraz układzie scalonym CD4001, który zawiera cztery bramki NOR. Zasada działania: 1. Gdy wejście "Uin" jest w stanie...
Mam "drobny" kłopot ze sterowaniem wyjść w INT-IORS polegający na chwilowym wyłączaniu stanu wysokiego na wyjściu przy zapisie danych do pamięci FALSH centrali z programu DLOADX. Centrala i DLOADX w wersjach 1.17. Na INT-IORS są obok siebie dwa wyjścia sterowane przez Wskaźnik czuwania. Niedawno jedno z tych wyjść "przewlokłem" przez dodatkową logikę...
Witam. Pisze dopiero teraz bo mam chwilkę czasu na dalsze rozmyślania i pisanie programu. Więc tak jak pisałem, skala będzie wybierana, albo logarytmiczna albo liniowa. Dla skali logarytmicznej chcę zrobić tak, że będą zbierane 2 próbki, jedna do częstotliwości 2KHz, druga do 16KHz czyli tka jak jest u Ciebie. Oczywiście odcięcie będzie realizowane...
1. Czy wartości cewki i kondensatora muszą być dobrane idealnie na tyle ile wyliczono, czy może wartości wyliczone są wartościami minimalnymi, a każda większa cewka czy kondensator to tylko lepiej - mniejsze tętnienia? Niestety nie znalazłem tak trywialnej odpowiedzi. Jak pamiętam to obliczasz wartości minimalne. Ale nie należy też przesadzać. 2. Jeśli...
mam jeszce jeden problem, według kodu z linku dondu #include <avr/io.h> #include <avr/interrupt.h> //definicja LED1 (do którego pinu podłączony LED1) #define LED1 PB0 //definicja LED2 (do którego pinu podłączony LED2) #define LED2 PB1 //definicja KLAWISZ (do którego pinu podłączony KLAWISZ) #define KLAWISZ PC0 //definicja...
No i na początek problem. FLASHX v. 1.13 prawdopodobnie konieczny do wersji firmware płyty 1.13 nie uruchamia się. Mam komunikat "Zasoby systemowe nie wystarczają do ukończenia żądanej usługi". Wersja niemiecka 1.13 uruchamia się bez problemu. Dodatkowo antywirus Avira wykrywa zagrożenie w pliku PL. Pomogło wyłączenie antywirusa. Przy wystartowaniu...
Witam, Kolego okm8 czytam Twój poprzedni wpis odnośnie wyświetlania timerów na panelu... Funkcja S_Pext na wejściu TV oraz wyjściu BCD przyjmuje wartości s5time, na panelu takiej zmiennej nie wyświetlisz, ale w bibliotekach standard library>IEC Function Blocks są dwa bloczki FC33 i FC40 które konwertują zmienną typu s5 time na time i na odwrót. Przy...
Witam. Chciałbym zbudować układ oparty na timerze ne 555, który ma sterować dwoma paskami Led o napięciu 12 volt, prądzie 300 mA i mocy 6 Wat każdy. Ma migać na zmianę raz jeden pasek raz drugi. Samo stworzenie układu timera jest raczej proste, ale kłopot mam z wysterowaniem tak mocno obciążonego wyjścia. Jak wiadomo z nóżki nr 3 otrzymam impuls dodatni...
Witam! Mam program, który wykorzystuje liczniki do wysyłania impulsów o danej częstotliwości. Częstotliwością steruję za pomocą zmiennej okres1, która jest mnożnikiem preskalera. Np. preskaler=8 clkio=1000000Mhz okres1=127, czyli co 8*128=1024us zmienia się stan na danym pinie przerwania od przepełnienia licznika (dla timera1a jest to pd5), co znaczy,...
Jaśniej ? :-) Po włożeniu oporniczna i kondensatorka do [4] wyjścia NE555 nic się nie zmieniło, czyli układ w dalszym ciągu przy załączaniu zasilania zachowywał się tak, jakby dostał impuls. Więc usunąłem te dwa elementy. Następnie zmniejszyłem wskazany przez Kolegę rezystorek z 10k do 1k. Efekt jest taki, że rzeczywiście nic się nie dzieje automatycznie,...
Dzięki za odpowiedź! nie ma powodu, żeby nie była powtarzalna Czyli bez różnicy, którą wersję zrobię bo nic poza tym interwałem nie będzie. Zatem biorę się za zrobienie na gotowo i spróbuję dwie wersje; waitms i timer. Drążę prosty temat, bo ten wzorzec ma iść do GUM, oni sprawdzą, zapłacę, wystawią świadectwo, zaplombują i koniec grzebania. Zamierzam...
W pokazanym fragmencie kodu nie włączasz trybu PWM. Konfigurujesz licznik tak, aby następowała zmiana stanu wyjścia (toggle) gdy TIM_CNT zrówna się z TIM_CCRx. Zrównanie występuje raz w czasie okresu licznika, dlatego też wartość CCRx nie ma wpływu na częstotliwość migania diody. Licznik zlicza do wartości rejestru TIM_ARR (i się przekręca). Dlatego...
Napisałem program który generuje impulsy (40kHz) na porcie za pomocą timera0. Mam pytanie czy i w jaki sposób moża zrobić żeby ciąg impulsów podzielić na "paczki" po 5 impulsów z odstępami ok. 100Hz. Jezeli bym zaprzągł do tego licznik 16bitowy to by mi sie przepełniał co 122Hz i odpalał timer 0 na jakiś czas i to by mi w sumie wystarczało ale nie mam...
Wczoraj nasunęło mi się jeszcze kilka pytań: 1. Jaką częstotliwość akustyczną wybrać (albo przedział częstotliwości) 2. Jaki wpływ na barwę dźwięku ma współczynnik wypełnienia? 3. A co z wyjściem drugiego timera? Wydaje mi się, że tam też powinienem dać tranzystor? Z tego co wiem to z 555 można pociągnąć max 600mW, a głośnik bierze coś ok 2.5W, przy...
Witam Od niedawna próbuje okiełznać układ zegara/kalendarza PCF8563. Jeżeli chodzi o jego funkcje podstawowe, tj. zapis/odczyt daty i godziny nie mam żadnych problemów. Chciałbym jednak wykorzystać wyjście CLKOUT oraz nauczyć się obsługi Timer'a wewnętrznego tego układu. Pomimo wielu prób nie udało mi się ani zmienić częstotliwości CLKOUT, ani uruchomić...
http://obrazki.elektroda.pl/3883873400_1... Witam wszystkich Chciałbym tu zaprezentować swoją najnowszą konstrukcję jaką jest sterownik akwarium na AVR ATMega8. Sprzęt nie jest szczególnie odkrywczy, ale jest konstrukcją na miarę moich aktualnych potrzeb, a może i kilku innych osób które akurat poszukują czegoś podobnego. Jak napisałem...
8051 ma 0kB (zero) pamięci programu :P A poważnie, to ma tyle, ile się do niego podłączy pamięci zewnętrznej, max. 64kB To już archaizm - pierwsze procki z rodziny '51 Wtedy słowo Flash kojarzyło się z niejakim Gordonem Flashem :d Przed 8051 były jeszcze 8031, a przed nimi był chaos :D A chcesz te wyjścia wykorzystać jak wyjścia normalnego licznika?...
Więc tak: Niech to bedzie prosty układ więc świtła dla samochodów i przyciski przy przejściu dla pieszych, które przełanczają swiatła dla samochodów z zielonego na pomarańczowy i czerwone. Tak wygląda program: sieć 1 AN Q 0.1 "czerwone" = Q 0.0 "ziel" sieć 2 A( O I 0.0 "key1" Przyciki wywołujące zmiane świateł O I 0.1 "key2" ) L S5T#10S SE T 1 timer...
Dodatni na wyjściu na R15 żeby załączyć trafo. Ide grzebać w rupieciach. Pokombinuję na płytce stykowej chociaż nie zmierzę dokładnie czasu na wyjściu ale tak na oko sprawdzę. Nie wiem tylko czy mam wszystkie elementy ale muszę pogrzebać w czeluściach kanciapy. Wg tego kalkulatora http://kalkulator.majsterkowicza.pl/obli... dla...
Nie przesadzaj, z jakim zegarem taktujesz procesor? Jeśli nawet tylko 1MHz, to 3 takty to zaledwie 3mikros. A jak potrzebujesz super dokładność to użyj timera i wyjścia OCx. Możesz zaprogramować zmianę jego stanu z dokładnością do taktu zegara z uwzględnieniem preskalera timera.
Mikrokontrolerem można odmierzać okres - jeśli działa z zegarem 1MHz, to można na nim zrobić generator dający się ustawić na 1000Hz, 999.001Hz, 998.004Hz,... przy mniejszych częstotliwościach odstępy będą coraz mniejsze. Nie da się cyfrowo zrobić równych odstępów, jeśli sygnał ma być równym prostokątem. Można natomiast wykonywać dodawania: np. do zmiennej...
checkInputsFlag to flaga ustawiana w przerwaniu od timera np. co 10ms. Na jej podstawie są sprawdzane wejścia co 10ms. Sprawdzenie odbywa się w pętli głównej. Zrobiłem tak ponieważ chcę mieć zamiecione wszystkie wejścia w stanach ustalonych zanim wykonam cokolwiek na wyjściach. Muszę zatem wiedzieć które wejście ma stan wysoki bo go miało a które ma...
Witam po długiej przerwie, strzały pojawiały się w dwóch sytuacjach, po ustawieniu bitów COM1B1:0 i po ich wyzerowaniu. W pierwszej sytuacji zgodnie z tym co pisał Andrzej, jak wyzerowałem wcześniej bity COM1B1:0 wtedy kiedy na wyjściu była jedynka i ustawiłem bity w czasie kiedy na wyjściu miało być zero to ta zapamiętana jedynka powodowała strzał...
Witam, Chciałbym napisać program do sterownika 8 kanałowego, w którym na raz 4 diody płynnie się zapalały, i w tym samym czasie 4 kolejne płynnie gasiły. Projekt jest wykonany na mikrokontrolerze attiny2313, częstotliwość kwarc-a 1MHz. Poniżej przedstawiam moduł wykonawczy sterownika. http://obrazki.elektroda.pl/1844319400_1... [syntax=c]/*...
Witam męczę się już od dawna z przerwaniem od timera 0. Wymyśliłem sobie że po przepełnieniu licznika 0 ma nastąpić przerwanie. Licznik 0 liczy od 0-255 chciałem miec kontrolę na częstotliwością wywoływania przerwania więc gdy przerwanie jest wykonywane wpisuję od razu do licznika konkretną liczbę tak by miał on mniej do zliczania. Problem polega na...
Sterownik ma być zbudowany w zasadzie od podstaw. Zależy mi zarówno na układzie elektronicznym, płytce drukowanej jak i programie do uC. Założenia przedstawiają się następująco: Wejścia: a) pomiar temperatury b) pomiar temperatury c) pomiar temperatury d) pomiar (wartość liniowa, napiecie mV, wymagana duża impedancja wejściowa - jest to pomiar ph wody)...
zmiana portu timera zmiana impedancji wyjścia zmiana nazwy wyjścia
bęben minolta zasilacz przegrzanie kocioł gazowy przez wymiennik ciepła
pogotowie antywirusowe pogotowie antywirusowe
Oleo-Mac 937: Wzrost obrotów po obróceniu na bok MeCool KT1 - Pulsująca dioda, twardy reset nie działa