Witam W programie wykorzystuję dwa timery: Timer0 i Timer2. 0 służy do zliczania zmiennej powstającej w czasie programu i do jego działania (narazie) nie mam zastrzeżeń. Problem jest z Timerem2. Służy on do zapalania diody na określony przez użytkownika czas (wartość czasu ustawiana przyciskami +-). Po wciśnięciu przycisku zapalającego diodę, świeci...
Witam ! Tworzę mały sterownik do auta i mam problem. Dotyczy on pomiaru częstotliwości (a właściwie czasu trwania stanu niskiego lub wysokiego) na Atmedze 128, która po dalszych przeliczeniach będzie mierzyć obroty silnika. Sygnał , który będzie mierzony to prostokąt o wypełnieniu 50% i częstotliwości w granicach 15-150Hz. Jak w tytule pomiar ma się...
Witam, Jestem w trakcie budowy komputera pokładowego na procesorze AtMega8 oraz na wyświetlaczu LCD LS020. Program który tworzę ma zrealizować podstawowe funkcję komputera pokładowego, takie rzeczy jak menu i możliwość nastawienia parametrów odpuszczam a jedynie chcę prawidłowo obsłużyć wejścia i pomiary sygnałów. W trakcie pisania programu natknąłem...
Witam, napotkałem problem dotyczący generowania od dwóch do czterech sygnałów PWM na dwóch timerach - 8 i 16 bitowym. Posiadam Atmegę 328p z kwarcem 16 Mhz. Timer 8 bitowy ma generować przerwanie z czestotliwością 800 Hz (po 200 Hz na kanał, przy obsłudze czterech kanałów.). Timer 16 bitowy ma generować przerwanie by w efekcie PWM miał szerokość od...
Cześć, Platforma: STM32F769I-DISCO OS: FreeRTOS Środowisko: System Workbench for STM32 Próbuję zaimplementować PTP na podanej platformie, jednak od dłuższego czasu męczę się z regularnie pojawiającym się Hard Faultem. Jak zdołałem wybadać, błąd pojawia się prawdopodobnie, gdy upłynie czas jednego z timerów programowych, które są tworzone. Tworzonych...
Witam! Poszukuję instrukcji obsługi do w/w wyłącznika czasowego. Dzięki z góry za pomoc
Kiedyś programowałem w WinApi i szło to jakoś tak: Na początku zdefiniuj sobie timer tak: #define IDT_TIMER1 1001 w trakcie programu po stworzeniu okna najlepiej wywołujesz pierwszy timer: unsigned int czas = rand() % 10 + 25; // czas od 10 do 35 sek SetTimer(hWnd,IDT_TIMER1,czas,TIMERPROC(... // tworzymy nowy timer Nastepnie w procedurze obsługi...
Oj ale wstyd nie skupiłem sie na tej matematyce ale masz race Draco, już to poprawiłem. Ale nie dostaje to co chce. Chce uzyskać zmiane czestotliwosci w dużym zakresie dlatego zmieniam prescaler ( jesli zmieni sie stan na PINIE) zastosowany przełacznik obrotowy który odpowiada za zmianę prescalera. Nie mam oscyloskopu ale wydaje mi sie ze czestotliwosci...
Siedzę na problemem od kilku dni i nie mogę się dopatrzeć błędu. Dla niecierpliwych - sam problem opisany jest na samym końcu. Próbuję odczytywać dane z czujnika AM2302 z użyciem timera (timerów). Czujnik posiada jedną linię danych typu OC (lub coś w pobliżu). Komunikacja polega na tym, że master (MCU) w celu wybudzenia czujnika generuje stan niski...
Witajcie. Przyszedł ostatnio do mnie facet, z małym urządzeniem, które koniecznie mam mu załatwić, bo nigdzie nie może tego znaleźć. Jest to Timer, który obsługuje podnośnik w warsztacie samochodowym. Zdjęcia: Po wpisaniu rozmaitych haseł w google, wszystko daje mi do zrozumienia, że w Polsce tego nie dostanę. Znalazłem ten produkt np. na ale nawet...
Witam. Kupiłem na AliExpress moduł timera z regulowanym zakresem czasu od 10 sekund do 24 godzin do sterowania czasem świecenia i automatycznym włączaniem i wyłączaniem diod LED. Problem jest taki, że nie rozumiem, jak ten moduł ma automatycznie włączać i wyłączać diody LED jak przykładowo jest ustawiony tylko na 10 sekund to załączy diodę LED na 10...
Do 15zł. nie znajdziesz. Natomiast AWZ516 od Pulsara może się nada. Koszt około 53zł netto. Dzięki ale nie potrzebuję aż tak zaawansowanej konstrukcji Szukam czegoś na NE555 Tutaj znalazłem tanio ale nie do końca spełnia wymagania i wolałbym jednak coś naszego.
Szkoda, że nie wiadomo na czym jest zrobiony( rzeczony timer oczywiście). Dokładnie, miałem właśnie o tym pisać znając życie Chińczycy ukryli układ pod wyświetlaczem aby nie czynić dodatkowej roboty i zdzierać z niego symbolu. Widać od spodu PCB (w miejscu wyświetlacza) piny prawdopodobnie odpowiedzialne od programowania układu sterowania. Mym skromnym...
Witam! Mam problem z jednoczesnym użyciem Timera1 i funkcji RC5 która jak wiadomo dziął na Timerze0 (kod napisany na ATTINY2313) Jeśli rozdzielę kod na dwa czyli: 1. Wykorzystuje timer1 do sterowania serwem - wszystko działa (bez funkcji pilota na RC5) 2. Jeśli zaprogramuje attiny2313 aby używało tylko funkcji RC5 (pilota) i przy okazji korzystam z...
[syntax=c] #include <stdlib.h> #include <stdio.h> #include <avr/io.h> #include <util/delay.h> # include <math.h> #include <avr/interrupt.h> #include "HD44780.h" # define a 50 # define keypin PIND # define keyddr DDRD # define keyport PORTD # define keypd5 _BV(PD5) # define keypd6 _BV(PD6) volatile _Bool keypin_pressed...
Witam Do "kompletu" brakuje mi obsługi zegara DCF77. Tzn. uruchamiałem już wcześniej na Atmega8 i nie było problemów. Jednak przy tym układzie wykorzystuję Timer, przerwania - może konfiguracja jest zła ?. Timer0 - liczniki i flagi Timer1 - DCF77 Timer2 + INT0 - odbiór RC5 INT1 - przerwanie od PCF8574 Całość działa, do momentu podpięcia sygnału zegara...
Witam Napisałem program, który dekoduje sygnał DCF77 ( ustawia flagę ), następnie zapisuje ( przy pierwszym uruchomieniu ) wartości zmiennych do PCF8563 i cztery razy na dobę wysyła przez RS485. do tego dwa razy na dobę koryguje czas w PCF8563. I to działa bez problemu. Do celów testowych mam podłączony LCD. Chciałem dołączyć możliwość pomiaru i wysyłania...
Witam, Napisałem program do odpytywania stanu klawiszy na Atmega16, kwarc-16MHz. Według wyliczeń przerwanie powinno sie pojawiać co 2,5ms, jednak tak nie jest, jest o wiele wolniej (ponad 1s). Analizowałem program i sam juz nie wiem co może być źle. Pomóżcie Preskaler clk/1024=16000000/1024=15625 1/15624=0,064ms 40*0,064ms=2,5ms #include <avr/io.h>...
Dzięki z tym TCCR2 masz racje. Kod zaczął wstępnie działać, miałem jeszcze jakiś śmieć w głównej pętli oraz za duża wartość licznika. Teraz inne pytanie bo nie wiem jak sobie z tym poradzić kod na zmianę stanu wygląda tak ISR(TIMER2_OVF_vect, ISR_NOBLOCK) { ccc++; if(ccc > 100) { stan = 1; ccc = 0; } else { stan...
Piszę program, do czasowego wyzwalania migawki: Na pokładzie mam attiny13, tact-switcha, oraz diodę led i transoptor. Układ ma wysyłać impuls ok 300ms co określony czas. Czas ustawia się poprzez wciskanie przycisku - jedno wciśnięcie = 0.5s więcej. Dłuższe przyciśnięcie (pow. 3s) powoduje ustawienie minimalnego czasu(0.5s). Problem jest taki, że im...
No tak, nie sprecyzowalem. Na razie efekt miał być taki że switch (PD.0) miał włączać timer. Docelowo będą dwa switche, jeden włącza (PD.0) a drugi wyłącza (PD. 1) timer. Przeanalizuj więc ten przykład: [syntax=basic4gl] 'Timer0 measures time interval betwneen two falling edges: 'input#1 - PIND.0, -START Timer0 (S1) 'Input#2 - PIND.1 -STOP Timer0 (S2)...
Witam Mam taki o to problem. W przerwaniach Timera0 jest odczyt z DS18B20 i multipleksowanie 4 7Segmentowych wyświetlaczy. Działa to ok, wyświetla się poprawna temperatura. Chciałbym jednak przesłać ta temperaturę do LabVIEW przez RS232. Napisane funkcje do Inicjalizacji i Transferu działają poprawnie, w osobnym projekcie bez przerwań od Timera przesyłają...
Witam serdecznie. Zazwyczaj większość problemów udaje mi się rozwiązać bez pisania na forum, jednak ten doprowadza mnie już do szewskiej pasji. Chcę zrobić zegarek na Atmega8A taktowanym wewnętrznym oscylatorem, z podłączonym kwarcem zegarkowym do wejść TOSC1/TOSC2 -bez powodzenia. Zawsze program staje na pętli Na layoucie jest oznaczona niepołączona...
Rozpisz sobie tabelkę np. taką jak poniżej: BGR 000 110 101 011 100 010 001 lub RGB 000 011 101 110 001 010 100 Uważnie się przyjrzyj i jak dojdziesz do wniosku, że już wiesz o co chodzi to zacznij przesuwać bity. Co do wyłączenia układu po 2 sekundach to do wyboru : watchdog lub timer0. Co do Attiny13 to strasznie niewygodny układ dla Bascom'a zwłaszcza...
Witam Po krotce omówię problemik z jakim się borykam: Uczę się oczywiście programowania AVR w C, napisałem prosty programik, który ma spełniać role BARDZO UBOGIEGO zegarka. problem polega na tym, ze nie wiem dokładnie jaka wartością mam nadpisać rejestr TCNT1 aby przerwanie wystąpiło dokładnie co 0.1s. Powinienem uwzględnić czasy wykonywania kodu zawartego...
Witam, Chciałbym skonfigurować przerwanie od Timer 2/3, aby było wywoływane co 125ns (8 MHz). Pracuję na wewnętrznym oscylatorze z włączona pętlą PLL -> częstoliwość 32MHz. Gdy do rejestrów PR3 i PR2 wpiszę 16 000 000 (do PR3 starszą część, do PR2 młodszą) to dioda pulsuje z częstotliwością 2Hz (1s świeci i 1s nie świeci). Gdy wpiszę do tych rejestrów...
Witam Kolegów, "Sprowokowany" przez Kolegę mirekk36 wziąłem się za napisanie prostej, nieblokującej funkcji obsługi switcha, która zwraca następujące wartości: - IDLE, gdy klawisz niewciśnięty, - SHORT, gdy wciśnięty przez czas poniżej 50…<500ms, - LONG, gdy wciśnięty powyżej >=500ms, - REPEAT, gdy nadal trzymany (powtarzanie co 200ms)....
Witam Siedzę już drugą noc nad samymi timerami, a termin końcowy oddania projektu się zbliża. Problem wygląda tak, że gdy załączę zezwolenie na przerwanie od timera2 zawiesza się cały program (kratki na wyświetlaczu). Potrzebuje drugiego timera do obliczeń a Timer1 generuje przerwanie co 0,5s w trybie CTC. Kwarc 8MHz. [syntax=cpp] #include "board.h"...
Bah, :) wiem , i nie tylko wcale Cisco i HP posiadają to rozwiązanie ,ale tez i urządzenia ExtremeNetworks (zdecydowanego lidera na rynku przełączania od lat ) oraz paru innych firm . Ba, być może nawet stare AWAYA Cajun''y to miały , nie pamiętam już , ale chyba tak. Inna sprawa że to rozwiązanie trochę sztywne i mało konfigurowalne - Extreme poszedł...
Ktoś na forum pytał jak powinno się napisać taki kod ustawiający timer1. Ja myśle że można różnie. Wrzucam tu troche kodu, jak ktoś chce coś skrytykować czy zaopiniować, jak zrobić to inaczej itp. to zapraszam. :) Choć temat jest o timer1 to jest on niejako jako przykład. A więc może można napisać kod łatwiej przenaszalny na inny sprzęt? Na początek...
Witam ,napisałem sobie następujący program który ma pełnić funkcję prowizorycznego zegarka. W obsłudze przerwania timer inkrementuję sobie sekundy , ale gdy chce wyświetlić je w main ciągle wyświetla zero na led. Natomiast gdy ostatnią linijkę kodu zamieszczę w obsłudze przerwania działa ok . W związku z tym moje pytanie jak zrobić, żeby przekazywać...
Układ ma odmierzać czas pracy przekaźnika, sygnalizować... i działa No więc... wykonałem to jak do tej pory z Waszą pomocą tak; [syntax=c]#include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #define LEDR (1<<PD2) #define LEDY (1<<PD1) #define PRZEKAZNIK (1<<PC0) #define PRZYCISK (1<<PC1) #define...
Nie chcę wstawiać zamiennika. Mam kilkadziesiąt gotowych układów z tym procesorem i takim kwarcem. Asemblera w ogóle nie rozumiem, dlatego poprosiłem o pomoc. Nie wiem(nie rozumiem) jak się ustawia prędkość uarta. W programie jest opis, ale dla mnie to "czarna magia". [syntax=asm] $MOD51 $TITLE(E-MI - DMX to RGB PWM converter for LED driver V 3.0) $NOPAGING...
Witam Od pewnego czasu zmagam się z problemem odbioru danych przez procesor ATmega32 w kodzie Menchester. Opisze w skrócie jak działa poniższy układ. W przerwaniu (tryb CTC) timera 0 znajduje się funkcja obsługująca trzy wyświetlacze LED (wspólna Anoda) oraz funkcja skanująca klawiaturę. Katody wyświetlaczy podłączone są pod PORTB, anody pod piny PD5,...
Dobrej nocy, jak napisałem wyżej już wyrzuciłem je z przerwań co poskutkowało tym że już nie ma transmisji.. RXC działa ale teraz transmisji brak... heh Dodano po 1 A po modyfikacjach jak niżej problem znów ten sam. Jeżeli wywołam metodę ustaw_timer() przy fladze Juz_freq to nawet Startu(0x80) już nie dam. Gdzie teraz tkwi szczegół? Switcha nie mogę...
Witam. Próbuję zrobić regulację mocy wiania za pomocą atmegi16 i timera0 - fast PWM. Koncesje mam taką że w pętli głównej jest prosty warunek który będzie włączał ustawienia timera0 w trybie fast PWM lub CTC. Dalej mam switcha z menu głównym i pod switchem jako pod menu. kod w skrócie wygląda tak: [syntax=c] while(1) { if(grzanie_chlodzenie==1){ t_moc_grzania();...
Witam od 2 dni próbuje zsynchronizować TMI1 (podczas generowania przebiegu PWM) i ADC2 w taki sposób aby przetwornik ADC2 próbkował w czasie gdy gdy nastąpi przepełnienie w liczniku jak poniżej na rysunku: Dodam, że Timer pracuje w trybie "Center-aligned mode 2" a przetwornik ADC2 używa kanału wstrzykiwanego "INJECTED", który pobudzany jest "trigerem"...
Witajcie moi drodzy Zapraszam na moją recenzję 'inteligentnego' włącznika WiFi światła Smart Life. Sprawdzę czy jest on kompatybilny z aplikacją BlitzWolfa, przetestuję go z aplikacją Smart Life, pokażę jego wnętrze a na koniec przedstawię jak można samodzielnie napisać dla niego firmware pozwalające sterować nim przez WiFi w środowisku Arduino IDE....
Witajcie moi drodzy. Pokażę tutaj nieco mniej typowy rodzaj przekaźnika z WiFi, który pozwala wykorzystać posiadany przez nas wcześniej przycisk bistabilny do sterowania urządzenia. Klasyczne przekaźniki IoT typu "sonoff" posiadają tylko mały przycisk chwilowy (monostabilny) na obudowie, więc jak mamy np. lampkę z przyciskiem bistabilnym to musimy...
Witam. Postanowiłem sobie napisać na Atmegę8 sterownik do silnika BLDC wymontowanego z napędu CD. Częstotliwość obrotów jest regulowana enkoderem. Problem tkwi w tym że częstotliwość na wyjściach nie zgadza się z tą, którą obliczam. Żeby to sprawdzić do portu C podpiąłem diody zamiast silnika i widzę jak szybko migają. Poniżej wklejam kod. Mam ustawiony...
Dziękuję za odpowiedź. Oczywiście o volatile pamiętałem, a cały środek przerwania w C mam już napisany tylko tutaj nie wrzucałem. Problem z dziwnym działaniem programu już rozwiązałem. Okazało się, że przyczyną nie był timer tylko brak dodania break w pętli switch. Tak banalna rzecz, że aż mi głupio :D W każdym razie dziękuję za pomoc. Dodano po 2 Pozwolę...
Od jakiegoś czasu staram się zdobyć rozwiązanie na zrozumienie zasady działania funkcji timer. Teoria teorią ale dla mnie przykład jest ważny by zrozumieć analogię danego rozwiązania. W necie można znaleźć kilka przykładów ale nie wiem czemu one nie działają i koniec końców nie mam programu który obsługiwałby jedną czy dwie dwie diody z opóźnieniem...
Ok, z niechęcią pokażę jeszcze trochę kodu. Od razu wyjaśniam - ten kod to tylko taka tymczasowa partyzantka celem sprawdzenia i wykrycia takich sytuacji jak ta powyższa. Docelowo to będzie zupełnie inaczej zorganizowane. Dane są zbierane do RAMu przy pomocy DMA do podstawy 5-5ms/kratkę. Powyżej już są wyświetlane na bieżąco. Niemniej w obu przypadkach...
Wielkie dzięki za odpowiedź. Jeżeli chodzi o konfiguracje rejestru TCCR0 to wzorowałem się na pracy dyplomowej w której był taki zapis i działał poprawnie. Wcześniej nie używałem tego rodzaju zapisu. TCCR0=(1<<WGM01)|(1<... Rozumiem, że w przyszłości jak będę konfigurował jakiś rejestr to należy...
Witam wszystkich. W końcu wziąłem się za naukę C, tym bardziej, że zakupiłem książkę naszego forumowicza mirka (polecam książkę, lekko napisana i ta po "chłopsku") oraz wpadł mi w ręce zestaw startowy z and-tech EvB 4.3 (bardzo podobny do tego z ATNEL-a). Pierwsze kroki z diodą i wyświetlaczem LCD za mną. Przerwanie i migoczącą diodą także. Problem...
#define TIMERA_DIVIDER 2 #define SYSTEM_TICK 10 #define TIMERA_INT_PERIOD (XTAL/TIMERA_DIVIDER/(1000/SYSTE... #define TIME_DOOR_OPEN (5*60*(1000/SYSTEM_TICK))... #define TIME_BRAK_CODE (30*60*(1000/SYSTEM_TICK)... u32_t timer; void TIMER1_Init(void) { TACCR0 = TIMERA_INT_PERIOD; TACCTL0 =...
Dzieki za podpowiedzi , zabieram sie za lekture i dokańczam zegarek :) Dodano po 1 ahh... poprawiłem kod tak jak podaliście , dodałem volatile do zmiennych globalnych,ustawiłem tryb asynchroniczny według punktów z noty katalogowej i tylko jedna rzecz sie zmieniła ,program przestał dochodzić do pętli głownej , zatrzymuje sie na kodzie [syntax=c]while(ASSR...
wciśnięcie jednego powoduje, że między masą a jednym z przewodów pojawia się ściśle określona rezystancja. Może nie tyle rezystancja co napięcie - to trafia do procesora, który na podstawie jego wartości ustala co to za rozkaz i go realizuje. Jeśli są dodatkowe funkcje dostępne jedynie z pilota, to może się okazać, ze nie da się ich wymusić napięciem,...
Witam serdecznie. Poszukuję schematów, pomysłów układów elektronicznych działających na zasadzie timera. Mianowicie chodzi mi o urządzenie, któro bedzie co jakiś czas na jakiś czas wyłączać napięcie zasilające np. zasilacz w switch`u, itp.
Chciałbym na timerze0 zrealizować ciągły odczyt czterech niezależnych liczników w trybie obsługi przerwań za pomoca kanałow porównująch, MR0, MR1, MR2, MR3. Timer1 jest zajęty. Czasy to 100 msec, 60 sekund , 100 sekund oraz dowolny inny. tick dla timera0 wybrałem na 1 msec. Licznik działa poprawnie bez włączenia przerwań od timera0, liczy te 1000 Hz....
Właśnie zaczynam zabawę z programowaniem mojego układu i chciałem nauczyć się wykonywania pomiarów czasu ale prawdopodobnie mam źle skonfigurowanego timera. Przejrzałem sporo tematów tutaj i nie tylko, czytałem datasheeta i dalej tego nie rozumiem. Program jak na razie ma mierzyć czas po jakim pojawi się impuls na porcie D i wyświetlać rząd wielkości...
Masz racje z tym 36 The PLL configuration (selection of HSI oscillator divided by 2 or HSE oscillator for PLL input clock, and multiplication factor) must be done before enabling the PLL. Once the PLL enabled, these parameters cannot be changed. Może spróbuj funkcji Frediego: [syntax=c] static void flash_latency(uint32_t frequency) { uint32_t wait_states;...
Witam. Mam drobny problem i nie wiem jak go ugryźć. Atmega32 kwarc 16mhz W przerwaniu odczytuję klawiaturę ps2 i w między czasie robię wyświetlanie na matrycy w Timerze z preskalerem 64. I jeszcze mam uruchomione PWM. Jesli wyświetlanie zrobie w pętli głównej i wyłaczę timer to klawiatura czyta się prawidłowo ale jeśli uruchomię timer to wówczas czyta...
Aż se na płytce złożyłem ten układ i program sprawdziłem. No i faktycznie świeciło na stałe. Do poprawienia były bzdety. Wklejam jeszcze raz, przetestowany i na 100% wszystko działa jak chciałeś [syntax=basic4gl] $crystal = 8000000 'Deklaracja częstotliwości kwarcu $regfile = "attiny2313.dat" Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A...
Witam, czy poniższe funkcje działają w sposób prawidłowy z logicznego punktu widzenia? Jeżeli ustawiam timer i OCR0 ręcznie to układ działa jak trzeba a po wykonaniu tych funkcji nie. tablica_uart jest to tablica charów o rozmiarze 5. np. "00064" czyli 100. Dodano po 47 I czy można zaininicjować timer w pętli glównej programu? Jeżeli robię to przed...
Robi się mały off topic, ale nie zgodzę się z poniższym (co by jeszcze mniej doświadczeni ode mnie nie pomyśleli, że tak łatwo można sobie to zastosować): Nie trzeba assemblera - wystarczy ISR_NAKED Proszę bardzo, najpierw elementarny program bez ISR_NAKED (Optymalizacja: Os): [syntax=c] volatile uint8_t softTimer; int main(void) { sei(); while(1);...
Przemyślałem dokładnie zastosowanie całego układu i nie potrzeba jednak żeby impuls występował 0.5s później. Wystarczy, że będzie trwał trochę dłużej niż impuls ze switcha. Ale tak jak pisałem impuls masy musi pojawić się po 2,4,6,8... naciśnięciu switcha. Czy da się w jakiś prosty sposób to zrealizować na tranzystorach czy potrzeba stosować timer?
Fakt. Było kilka błędów. W chwili obecnej kod wygląda następująco: [syntax=c] //Porgram mierzy prędkość "przejazdu" między 2 fotokomórkami #define F_CPU 16000000uL #include <AVR/io.h> //biblioteka we/wy #include <AVR/interrupt.h> //obsluga przerwan #include <util/delay.h> //obsluga opoznien #include <LCD/lcd.h> #include "HD44780.h"...
Witam panowie. Zagadka jest taka. Jest sobie arduino uno, ale programuję je bez bootloadera, bezpośrednio w c w avr studio wersja 4. W pewnym momencie w programie startuję timer 2 w trybie CTC i używam go jako wyjście zegarowe dla bufora. Timer 2 ma ustwienia prescalera na 1 i rejestru porównawczego na 7, co daje ze wzoru przy częstotliwości uC 16Mhz,...
Na płycie zasilania nie zauważyłem wybrzuszeń na kondensatorach. PoE też nie wykrywa, po zmianie software pokazuje się tyle: [syntax=tex]Firmware Version:01.00.00 USB: scanning bus for devices... 3 USB Device(s) found scanning bus for storage devices... 1 Storage Device(s) found ELF file is 32 bit Consoles: U-Boot console FreeBSD/arm U-Boot loader,...
Witam. Mam szczotkę elektryczną Oral-B z timerem. Niestety nie działa. Może akumulatorek stracił moc. Sprawdziłem silniczek na krótko- działa. Switch też- zwiera. Po podłączeniu do zasilacza z regulacją napięcia działa, ale się nie wyłącza. Proszę o podpowiedzi co i jak sprawdzić, gdzie może być usterka. Ciężko o lepsze zdjęcie, bo mam słaby aparat...
Here is the project. This will use 7 segment display to show the power timer.
Cykliczne wybudzanie nie sprawdzi się w tym temacie. Przycisk wybudzajacy może zmienić swój stan w dowolnej chwili i wybudzenie musi nastąpić natychmiast, więc w zasadzie musiałbym go wybudzać co 50ms. To bardzo często. R Dodano po 6 Też trochę się obawiam tak słabego podciągania, choć jest tam jeszcze kondensator 1n do masy...niemniej jednak chyba...
Potrafię zrobić płytkę, finalnie obwód będzie na płytce rozszerzającej o we/wy przez can podpięte do sterownika silnika. Przepraszam że jeszcze nie podałem wszystkich informacji ponieważ sam jeszcze się zastanawiam jak to dokładnie będzie. Idea jest taka że finalnie na wyjściu będzie jeden przekaźnik, który będzie załączany przez jedną bramkę AND z...
Ten komunikat autoroutera bierze sie stad, ze uzywasz elementow SMD, ktore maja pady tylko po jednej stronie plytki. Przerzuc element na druga strone i bedzie ok. Co do sterowania wentylatorem to uzyj albo mosfeta (jesli to wentylator o wiekszej mocy), albo tranzystor bipolarny (latwiej wysterowac), podlacz do pinu procesora, na ktory mozesz wyprowadzic...
Witam, napisałem taki o to program, którego zadaniem jest wyświetlenie wartości zmiennej w postaci dziesiętnej. Wszystko wydaje się być w 100% racjonalna, ale niestety nie działa poprawnie. Kod programu poniżej: #include <reg51.h> #include <absacc.h> #define bit_get(p,m) ((p) & (m)) #define bit_set(p,m)...
Napisałem prosty program do fazowej regulacji napięcia za pomocą triaka przy uzyciu pilota (rc5). #define F_CPU 8000000L #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include "rc5.h" volatile int16_t czas=65379; SIGNAL (SIG_OVERFLOW1) { sei(); PORTB |= 1<<PB0; // ON _delay_us(9);...
Witam mam problem z uruchomieniem Timera 2, chcę go wykorzystać do wyświetlenia cyfr na 4 wyświetlaczach 7 segmentowych. Timer0 jako licznik czasu sprawuje się. Jest taki myk, że jeśli zrobię Timer2Init(); po Timer0Init(); to gra drugi timer a 0 stoi. [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> #include <avr/pgmspace.h>...
W obsłudze timera mam komendy wysyłające bajty po Bluetooth. Widzę je w terminalu na PC i nie są wysyłane co 100ms. [syntax=java] private class MyTimerTask2 extends TimerTask { public void run() { czas = czas + 1; switch (czas) { case 1: try { writer.write('0'); writer.write('0'); writer.write('1'); writer.write('3'); writer.flush(); } catch (IOException...
Może nie zignorowałem tylko programuję w Programmers Notepad stąd pewnych nieścisłości kompilator mi nie pokazuje:) Na pewno pokazuje. A dlaczego ie piszesz w oryginalnym Atmel Studio? 1. Zamieściłem teraz u góry F_CPU To nic nie da - czytałeś wskazany artykuł? Zmień środowisko na oryginalne Atmel Studio: 2. Załączaj tylko io.h? chodzi o to żeby załaczać...
1. Nic dziwnego, że wynik jest identyczny. ADC jest pędzony z tego samego źródła co rdzeń i T2. Zmiana częstotliwości taktowania skutkuje zmianą dla wszystkich układów, więc ze względu na pracę synchroniczną, czasy powinny się zgadzać. 2. Tutaj już poprawić nie można. 3. Tutaj chyba też ;) Nie wiem jaki jest cel Twojej pracy, ale zazwyczaj jak ktoś...
Dzień dobry Dostałem w szkole zadanie, aby zrobić timer na scalakach cmos. Założenia są takie, że tact switchem zadaje czas (0-9) na wyświetlaczu 7 segmentowym i później timer odlicza do zera na tym samym wyświetlaczu. W tym czasie mam mieć możliwość uruchomienia jakiegoś urządzenia poprzez klucz tranzystorowy/przekaźnik ( ma działać coś a'la mikrofalówka)....
Odtwarzacze MINI DISC mają już trochę lat, do tego masz combo Nagrywarkę CD / Mini Disc 'em Lifetec LT-8964, a więc przyczyną może być tak prozaiczna kwestia jak niedomagająca klawiatura/uszkodzony któryś switch. I co znaczy po chwili? A da się ustawić natychmiast? Może po okresie bezczynności system sam wychodzi z menu?
Witam naprawiam dziecku zabawkę imitację płyty indukcyjnej 2 przyciski (mikro switch) dwa palniki (diody LED) układ został zalany wodą więc wymieniłem wszystkie elementy na nowe, poza scalakiem (nie ma 2 nóżek) DIP8 z którym mam problem . Nie ma na nim żadnych oznaczeń na górnej części obudowy a od spodu I2 w kółku i kod BG1539 którego nie mogę odszyfrować....
ok,najpierw chce sprobowac z kwarcem 12 Mhz i preskalerem 1024 oto maly kodzik,ale nie bardzo chce dzialac.. nie wiem w ktorym miejscu robie blad.. DDRB=0xFF; OCR0=8; //wstepnie TCCR0=0x05; /pre 1024 TCCR0|=_BV(WGM00); TCCR0|=_BV(WGM01); //Fast PWM TCCR0|=_BV(COM01); TCCR0&=~_BV(COM00); //zalaczenie licznika TCNT0=0x00;...
Zrobiłem tak jak Pan kazał : #include <avr\io.h> #include <avr\sfr_defs.h> void init_pwm(void) { TCCR1A |= (1<<COM1A1)|(1<<... //ustawiam bity w rejestrach TCCR1B |= (1<<WGM12)|(1<<C... DDRB |= (1<<1); // port OC1A - PB1 jako wyjście } void init_port(void)...
Prześledziłem kilka wątków na elektrodzie lecz nie znalazłem odpowiedzi. Docelowo ma być automatyczne pwm z licznika 16bit, narazie do testów chciałem zwiększać wartość przyciskiem. Naduszanie switcha nie powoduje rozjaśnienia diody. Co źle robię, proszę o poradę. PS. ręczne wpisywanie wartości przed wgraniem [uint16_t pwm] powoduje zmianę poziomu jasności...
Jakby cię interesowało więcej podobnych sprytnych rozwiązań to znajdź w internecie książkę SWITCHING POWER SUPPLY DESIGN Keith Billings, Taylor Morey
Teraz trochę inna kwestia. Chcę zrobić zewnętrzne przerwanie, które reaguje na wciśnięcie przycisku i wtedy dopiero ma się uruchomić w nim generowanie tych 2kHz (działa tylko przy wciśniętym switchu, . Częstotliwość jest obecnie generowana non-stop, tak jak kolega wspomniał nie potrzebne są przerwania. Tylko jak teraz do tego napisać w/w przerwanie...
Witam, zbudowałem stanowisko uruchomieniowe na XC9572XL. Jest układ CPLD zasilany napięciem 3.3V. Chcem do niego podłączyć zewnętrzny sygnał zegarowy (z tego co mi wiadomo to ten układ nie ma wewnętrznego) i żeby to zrobić chcem wykorzystać timer LM555. Wiem jak się nim posłużyc, tylko niewiem w jaki sposób podłączyć go pod CPLD. A i timer podłącze...
mylisz sie - wisi - popatrz idzie tak - plus baterii węzeł - ruchomy styk przekaźnika - lewy styk przekaźnika switch - węzeł absolutnie nigdzie indziej nie jest podłączony - wobec powyższego układ scalony jest niezasilany bo brakuje mu plusa na mój gust brakuje połączenia pomiędzy + 0,01 uF i plusem zasilania - hmm co do archeologii - kojarzyłem ze...
Witam ponownie! Ok co do diod to mój błąd wydawało mi się, że tą samą diodę zmieniasz w funkcji main i w przerwaniu, ale jest ok. Jeśli zaś chodzi o zatrzymywanie timera 1 to rozumiem Cię jak ma program działać docelowo. Pytałem kiedyś jak podajesz impulsy na t0 i się nie pochwaliłeś. Jeśli to robisz przez jakiś switch bezpośrednio to drgają styki i...
Przełącznik może być np. "switch 255SB", lub jaki ci pasuje do płytki, obudowy. Połączenia - tak, jak pisał kolega.
Jak zrezygnujesz z wyświetlania czasu to mogę Ci dać cały projekt łącznie z gotowym do termotransferu PCB :!::D czas ustawiany potencjometrem od 0,99sekundy do 60 sekund. Po tym czasie urządzenie odłącza jeden odbiornik a załącza drugi - można wykorzystać tylko załączanie lub wyłączanie lub dwa na raz. Cały timer odpalany z przycisku typu micro-switch...
Hej, z ciekawości zajrzałem do kodu nadajnika i wydaje mi się, że znalazłem małego robaka. Otóż, uruchomiłeś przerwanie zewnętrzne dla zmiany stanu wejść PCINTx celem wybudzenia kontrolera z trybu uśpienia, a konkretnie z głębokiego trybu Power Down. Jednak w kodzie brak jest procedury obsługującej to przerwanie. Wystarczy że pod adresem wektora przerwania...
Zmieniłem ISRa na taki: #pragma vector=TIMERA1_VECTOR __interrupt void Timer_A(void) { switch (TAIV) // które źródło zgłosiło { case 0x0002: break; case 0x0004: break; case 0x000a: TACTL |= TACLR; // to kasujemy licznik break; } } Licznik się resetuje (o ile debugger nie kłamie), ale dalej LEDa podpięta...
Tlumaczylem, ze restart bedzie tylko raz mozliwy, w petli programu. Nie napisales jasno, ze ma byc w kazdej chwili. Moze jutro ci wlepie kawalek kodu. ________________________________________... CONFIG INTx = LOW LEVEL On Intx Przerwanie Enable Interrupts do loop:end Przerwanie: disable intx '.... tu reset '.... enable intx Return...
Odświeżam temat i przedstawiam co zrobiłem . Wykrywanie stanu i wystawianie stanu logicznego nie chciało działać kiedy było zrealizowane na opóźnieniach. Do głowy wpadł mi pomysł kolegi pikczu by zrobić coś w przerwaniu TIMERA. Tak wiec odczytywanie stanu jest w podprogramie przerwania a w pętli sterowanie ledem. Do zmiennej sw zapisujemy poklei czy...
haha, mam takie ustrojstwo zrobione, na tinie13, tylko trzeba by było zmodyfikować program, bo moje cacko po zadanym czasie wyłącza zasilanie i sygnalizuje awarię, a tutaj na potrzeby użytkownika wystarczy dopisać parę linijek kodu:) obsługa to jeden switch i dioda led dwukolorowa, ustawianie czasu co 10sekund.
Robię właśnie prosty timer do naświetlarki UV, którą fizycznie już poskładałem. Ponieważ projekt ma być niskobudżetowy, nie planuję timerów z programowaniem i wyświetlaczem LCD, wystarczy mi taki oto schemat (tak mi się przynajmniej wydaje): (avt-2225) Oczywiście mam w domu worek elementów, w tym 90% z odzysku, stąd pytanie: czy będzie tu odpowiedni...
Kupiony został na allegro... [url=]Link. Jest to EC11B.
Zrobiłem właśnie taki banalny układ odmierzający czas pracy (ma włączać 230V na ok. minutę), tu jest schemacik (ten pierwszy z dwóch przedstawionych) i opis: Uruchomił się od pierwszego "kopnięcia", pracuje elegancko, ale mam jedną uwagę. Otóż przy załączeniu zasilania zachowuje się tak, jakby dostał impuls załączający ze switcha. Czyli włączam zasilanie...
Witam po małej przerwie. Mam znów kilka pytań, ale proszę o wyrozumiałość, bo naprawdę dopiero zaczynam z u-kontrolerami. A więc tak, zrobiłem jak radziliście, niestety nie potrafie jeszcze pojąć w pełni timerów, chodź umiem już je ustawiać aby odliczały jakiś tam ''kwant'' czasu. Przeglądam forum i widzę tutaj jeszcze dziwniejsze dla mnie rzeczy, mianowicie...
Witam, proszę o info czemu mi to nie działa. Działenie powinno być takie: przerwanie zewn INT4 powoduje podanie kolejno 67, 67 i 66 impulsów w kolejnych uruchomieniach. Realizuję to przez załączenie T0 w obsłudze INT4. T0 odlicza 250us i ustawia zmienną i aby wykonał się switch() w pętli głównej. Na wyjściu PE2 chcę uzyskać 67 pulsów o częstotliwości...
jeszcze jedna uwaga do kodu: ISR(INT0_vect) { ... for(a=0; a<500; a++) if (bit_is_clear(PINB, 2)) count++; if(count>=150) switch_mode(); ... } Poradziłeś sobie z drganiami przycisku, ale na przyszłość wystrzegaj się czekania w przerwaniu, gdyż stopujesz cały mikrokontroler na ten czas....
Przykładów mnoży elektroda: trudno uszkodzić czujnik podłaczając parasite a przy 3 przewodach lamenty co drugi post w tej sprawie Druga sprawa to trzy druty to już tłok przynajmniej dla mnie nawet RS puszczam po 2 drutach. Trzeci przykład przy dwóch drutach mamy dodatkowy switch w każdym punkcie pomiaru temp więc nie trudno sobie wyobrazić zastosowan...
Odliczy dokładnie: 1/1M = 0,000001 co 1024 tyknięcie zegara impuls czyli z racji że 100ms to 0.1s więc: 0.1/0.001024 = 97.65625 impulsów Więc w rzeczywistości odliczy 99.328ms. Więc możesz w przerwaniu dać funkcję która co 97 przerwanie zwiększa zmienną o 1. Potem wystarczy porównać jaką wartość ma ta zmienna np. w switch() i gotowe.
To mój plik z obsługą 1Wire [syntax=c]/*ds18b20.c*/ #include <avr/io.h> #include <util/delay.h> #include "ds18b20.h" #include <avr/interrupt.h> /*RESET*/ unsigned char uc1Wire_ResetPulse(void) { unsigned char ucPresenceImpulse; OUT_1WIRE_LOW; DIR_1WIRE_OUT; cli(); _delay_us(500); sei(); DIR_1WIRE_IN; cli(); _delay_us(45); sei(); if(bit_is_clear(PIND,PIN_1WIRE))...
Witam, Mam lodówkę ENB 34433W, która jest wyposażona w timer jak w tym temacie: Problem z nim jest taki, że głośno tyka:) Serwisant stwierdził, że to normalne i nie podlega to wymianie gwarancyjnej. Czy jest na to jakaś metoda? Jeśli tylko wymiana na nowy (drogi), to chodzi mi po głowie zastąpienie tego tykacza elektronicznym substytutem. Pytanie jakie...
Wytłumacz mi jedno: Oba przerwania nie korzystają ze wspólnych zasobów. A ja tam w obu widzę: [syntax=c]SPI2_IRQ_State = 0;[/syntax] W tym, że pierwsze przerwanie pokazałeś jakieś okrojone. Jaki parametr ląduje do instrukcji switch - case ? Niech zgadnę, ... SPI2_IRQ_State ?