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...
Proszę niech mi ktoś powie czy dobrze myślę: Gdy ustawiam Timer1 w tryb CTC = 4 (WGM13=0, WGM12=1, WGM11=0, WGM10=0) to zapis do OCR1A nie jest buforowany, czyli powinien zmieniać się natychmiast po wpisaniu do niego wartości. Timer1 wciąż zwiększa swoją wartość o 1 i gdy osiągnie ona wartość taką jak w OCR1A to wystąpi przerwanie a Timer1 zostanie...
emarcus dzięki teraz już gra. Mam jeszcze takie pytanie bo tak jak wcześniej pisałem docelowo chcę zrobić miernik indukcyjności. Przejrzałem projekty mierników w necie i na elektrodzie i są oki tylko większość z nich opiera się na mikrokontrolerze PIC 16F84A. W sumie mam wsad do procka w asm ale kiepsko znam asemblera wiec postanowiłem napisać własny...
Witam ,napisałem program który ma odmierzyć czas lotu helikoptera (do wyczerpania bateryjki) ,niestety po 2 tygodniach utknąłem na czymś takim: $regfile = "attiny2313.dat" 'wybór procesora attiny2313 $crystal = 8000000 Config Pinb.0 = Output 'dioda sygnalizująca odmierzenie czasu Config Pinb.1 = Output 'buzzer mający piknąć 3 razy po odmierzeniu...
Witam, Mam problem z uruchomieniem dwóch timerów. Timer0 ma obsługiwać przerwanie pochodzące z INT1 (Signal1), natomiast Timer1 (Signal0) z INT0 (ale może być odwrotnie). Każdy z timerów ma wykryć impuls PWM większy od 1,5ms i zapalić lub zgasić diodę / diody. Po wgraniu poniższego kodu, diodki migają chaotycznie, nie ma żadnej reakcji na zmianę szerokości...
Oczywiście, że pomieszałeś, bo pod PD3 jednocześnie masz podłączone sterowanie anodą wyświetlacza i przycisk - jak wciśniesz przycisk, to odpowiednia cyfra wyświetlacza będzie zawsze aktywna... Użyj Timer1 w trybie CTC do odmierzania 0.01s - przy F_CPU = 1MHz chcesz mieć przerwanie z f=100Hz czyli odliczasz do 10000-1. To będzie za mała częstotliwość...
Witam! Ze względu na niedokładność funkcji waitms(); postanowiłem uruchomić licznik TC1 w ATTINY2313. Ma to być obsługa pilota (prawdopodobnie JVC). Więcej danych: - ATTINY pracuje z częstotliwością 1MHz (wewnętrzny oscylator) - TC0 jest już zajęty innymi działaniami (w czasie obsługi pilota TC0 nie musi pracować) - czas, który chcę odczekać to 14700us...
też niedawno zacząłem zabawę z uP ale naskrobałem coś takiego, jeśli źle, to mnie poprawcie. $regfile = "attiny2313def.dat" 'attiny2313 $crystal = 1000000 ' 1MHz Config Portb = Output Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.0 , Rs = Portb.2 Config Lcd = 16 * 2 'wyświetlacz 2 linie po...
Mam Attiny2313, wewnętrzny rezonator 4MHz, Timer1 16 bitowy. Czas jednego cyklu dla rezonatora 4MHz wynosi 0,25us Preskaler ustawiony na 1024 Timer ma zliczać do zadanej wartości, zgłosić przerwanie od doliczenia do pewnej wartości i się wyzerować. Ustawiam wartość do jakiej ma liczyć timer: 62500 62500*1024=64M 64M*0,25us=16s Niestety układ zlicza...
Z tym kodem jest pomiar zliczeń Timera ale przy większych częstotliwościach powyżej 10Hz znowu pojawia mi się cała gama liczb zamiast zbliżonej wartości jak poprzednio. Kolejny problem polega na tym, że jeśli zatrzymam generator to wyświetlacz cały czas pokazuje ostatnią wartość zamiast np. zero. Zatem trzeba skonfigurować przerwania Timera. No i oczywiście...
Witam serdecznie mam następujący problem. Wgrywam następujący kod do attiny: [syntax=c]#include <stdio.h> #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> SIGNAL(SIG_TIMER1_COMPA) { PORTB=0xff; _delay_ms(20); PORTB=0x00; } int main() { OCR1A = 31250; //Set OCR1A TCCR1B = (0 << WGM13)|(1 << WGM12)|(1...
Witam Na wstępie zaznaczam, że AVR-ami zajmuje się dopiero od tygodnia :). Mam problem jak w temacie. Potrzebuję aby timer 1 (16 bitowy) liczył od ustalonej wartości początkowej, a po wystąpieniu przepełnienia wygenerował przerwanie i się zatrzymał. Potrzebuję odliczyć 25ms. Attiny taktowany jest zegarem 16MHz, dzielnik częstotliwości dla timera 1 ustawiłem...
Komentarze nie są dla nas- tylko dla Ciebie. $regfile = "attiny2313.dat" $crystal = 12000000 Config Timer1 = Timer , Prescale = 256 Config Timer0 = Counter , Edge = Falling Config Lcd = 16 * 2 Config Lcdpin = Pin , Db7 = Portb.7 , Db6 = Portb.6 , Db5 = Portb.5 , Db4 = Portb.4 , E = Portb.3 , Rs = Portb.2 Cursor Off Cls Timer0 = 0 Start Timer0...
Użyj timera1 w trybie CTC (zobacz w dokumentacji). W tym trybie timer1 liczy od zera do wyznaczonej wartości, generuje przerwanie (SIG_COMPA1), a następnie jest automatycznie zerowany. W ten sposób unika się rozbieżności związanej z opóźnieniem pomiędzy generacją przerwania a wpisaniem nowej wartości do TCNT1. Dodatkowo sugeruję zdefiniowanie F_CPU...
Timer0 i timer1 używają tego samego preskalera. Dlatego instrukcja prescale=64 zmienia warunki dla funkcji getrc5. Zajrzyj do noty katalogowej ATtiny2313 i nie pisz głupot więcej. Dodano po 14 Odmierz20ms1: 'funkcja obsługi serwa1 Timer1 = 65286 'przy wartosci 65286 timer1 bedzie generował przerwanie co 2ms Incr Licz2ms1 'zwiększ licznik zliczający...
Witam Wszystkich Pisze kod do zegarka binarnego (zaczynam) jestem na etapie sekund. Licznik działa ale nie włącza poszczególnych diod led. Sterowanie diod jest za pomocą multipleksowania. Skupiłem się na razie tylko na wyświetlaniu sekund jak to ruszy to reszta pójdzie łatwo. Procesor attiny 2313 kwarc 20MHz Bascom. [syntax=basic4gl] $regfile = "attiny2313.dat"...
Do tej pory troszkę bawiłem się AT89C2051. Wykonałem pewien układzik który za pomocą Timera0 zliczał impulsy na wejściu T0 podczas 1sekundy którą odmierzałem Timerem1. Jako, że musiałem przeprogramować 51 do innych celów chciałbym go zastąpić Attiny2313 bo mam dwie sztuki. Zacząłem czytać książkę Dolińskiego aby wykonać program ale mam pewne problemy....
Witam! Poniżej przedstawiam skrócony kod mojego programu: #include <avr/io.h> #include <avr/interrupt.h> #define F_CPU 10000000 #include <util/delay.h> char znaki[10]={48, 49, 50, 51, 52, 53, 54, 55, 56, 57}; //znaki ASCII: 0 12 3 4 5 6 7 8 9 //__________________________POMIAR______... volatile...
[syntax=c] #include <avr/interrupt.h> #include <avr/io.h> #include <util/delay.h> #define LED_DATA PORTB #define LED_SEG PORTD #define SEGA (1<<0) #define SEGB (1<<1) #define SEGC (1<<2) #define SEGD (1<<3) #define SEGE (1<<4) #define SEGF (1<<5) #define SEGG (1<<6) #define SEG_DP (1<<7)...
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...
markus_wolff - wszystko się zgadza bo preskaler jest nastawiony na clk/64 - czyli przerwanie timer1 co sekunde jj - dzięki , na pewno dziś poczytam john_t - przecież już doszliśmy z kolegą markus_wolff , że ustawienia bitów w pony prog są dobre ( bo 1 tzn - unprogrammed, co w pony prog daje pustą kratkę w przeciwienstwie do 0 - programmed - czyli haczyk)....
Witam Napisałem sobie programik do sterowaia diodami led poprzez PWM. wszystko super chodzi, ale chciałem sobie zrobic teraz bajer, aby dany kolor utrzymywał się przez okreslona ilosc sekund. Do tego chcialbym zaprzac przerwanie np od timera T0. Niestety mimo moich wielokrotnych prob przerwanie od timera T0 nie jest nigdy wywolywane :-( a oto fragment...
Mam problem dotyczący ATTiny2313 jeżeli napisze program obsługujący przerwania i określe czas po jakim przychodzą przerwania od timera to przerwania przychodza po znacznie dłuższym czasie miż się spodziewano z obliczeń. Jestem początkujacym a więc proszę o pomoc. wcześniej ćwiczenia wykonywałem na AT90S2313 i nie było problemów. Cwiczenia wykonuje z...
Witam! Mam dość nietypowy problem z AVR-kami. Ostatnio używałem Timera na ATTiny2313. Ustawiłem preskaler /256, kwarc 8MHz, timer 16bit w trybie porównania i przerwanie. Wartość do porównania była ustawiona na ok. 31250. Ostatecznie powinienem otrzymać przerwanie z częstotliwością ok. 1Hz. To zwiększało licznik i on był wyświetlany. I tu pojawił się...
Witam, zaprogramowałem Attiny 2313 w bascomie tak aby co sekundę gasła i zaświecała się dioda led podpięta do PORTD.6. Ustawiłem obsługę przerwań, konfigurację TIMERA1 podzieliłem go przez 64. Oscylator procesora jest ustawiony w FUSEBITS na wewnętrzny 4Mhz ( 100010:int. RC Osc. 4 Mhz; Start-up time: 14 CK + 65 ms; Config Portb = &B11111111 Portb =...
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...
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...
Witam! Mam taki oto kod: #include <avr/io.h> #include <avr/interrupt.h> #define F_CPU 10000000UL #include <util/delay.h> char znaki[10]={48, 49, 50, 51, 52, 53, 54, 55, 56, 57}; //znaki ASCII: 0 12 3 4 5 6 7 8 9 volatile uint16_t m_sekundy_wtrysk=0, m_sekundy_obr=0, licznik_z, wynik_z; //dokładność od 0.1ms do...
Witam Ostatnio chciałem zbudować inteligentny wyłącznik na ATTiny2313 zrobiłem układ podłączyłem procesor do niego sprawdziłem wszystkie obwody wejść i wyjść i gdy upewniłem się że wszystko dział sprawnie zabrałem się za pisanie właściwego programu, jednak już przy pierwszych testach okazało się ze procesor działa ale jakby bardzo wolno, postanowiłem...
Witam po raz kolejny pojawił się problem z moim programem otóż chcę aby kiedy wzrośnie temperatura i będzie wyższa lub równa zadanej to serwo obraca się w prawo poczym się zatrzymuje następnie kiedy temperatura będzie niższa od zadanej wtedy serwo obraca się w lewo i zatrzymuje się. [syntax=basic4gl] '************* Konfiguracja uC *****************...
Prosiłbym kogoś znającego temat o sprawdzenie moich wyliczeń. Do Attiny2313 podpinam kwarc 8Mhz dla timera daję preskaler 4, czyli ck/256, czyli timer jest naliczany co 32us 1s / 0.000032s = 31250 - czyli 31250 naliczeń timera to dokładnie sekunda timer1 jest 16 bitowy więc liczy od 0 do 65535, czyli 65536 cykli - więc aby przepełnił się po zliczeniu...
Lysoleq -> "Dlaczego po wykonaniu przerwania INT1_IRQ program skacze do 0x00D a następnie do TIMER0_IRQ?" tak na wstępie - to teraz aż przyjemnie patrzy się na twój kod ;) .... ale do rzeczy - mówisz , że program jakby skacze do przerwania Timera po przerwaniu INT1 .... nie mogę teraz za bardzo tego przeanalizować ale może być taka sytuacja, że: wystąpiło...
"jacekk232" chodzi mi o to aby mozna regulowac predkosc obrotowa za pomoca przyciskow S1 i S2 z rozdzielczoscia od 1obr/min do maksimum. Zmienilem podlaczenie przyciskow S1 i S2 aby mozna bylo wykorzystac licznik/timer procesora Attiny2313. Tylko nie bardzo wiem jak skonfigurowac timer zeby mozna bylo ustawic liczbe krokow?! Kolejny problem to jak przeslac...
Kiedyś popełniłem taki programowy PWM x 3 do sterowania RGB (ot tak dla fantazji :D) Config Timer1 = Timer , Prescale = 1 'dla prescale=8 przerwanie co ok 4 ms dla 256 co 15 ms dla 1024 co 64 ms Config Int0 = Falling 'Config Portb.6 = Input 'Set Portb.6 ' Końcówka Dla Int0 Ddra = &B01111111 ' ustawienie portu a jako wyjście Config Rc5 = Pinb.6 Pwm_r...
Dobry układ edukacyjny :) zamiast łączyć dwa tranzystory termokurczakiem lepiej wziąć od razu dwa tranzystory w jednej obudowie - jest to o tyle lepsze, że oba są na tej samej płytce krzemowej. Kosztuje grosze a działa zdecydowanie lepiej. Z całą pewnością taki element jest bardziej pro i user friendly. Ja po prostu złożyłem ten miernik z elementów,...
Oto kod jednego z programów z którym mam problemy: 'C029f.bas Generator impulsów prostokątnych ' UWAGA! Wejsciem EN(able) modułu LCD steruje końcówka PB.1 ' do wyjscia PB.3 dołączona przez rezystor 1k anoda diody LED (katoda do masy) Dim Impuls As Word , Przerwa As Word , Czas As Single , Zmiana As Bit , Napis As String * 9 Config Timer1...
Witajcie! W sieci znalazłem projekt lampki RGB sterowanej z pilota, projekt pochodzi z tej strony. Postanowiłem jednak z budować do tego swój pilot, a wybór padł na SAA3010: (na schemacie zamiast rezonatora jest kondensator, proszę się tym nie sugerować.) http://obrazki.elektroda.pl/9020128600_1... Pilot jest raczej sprawny i działa...
Jako, że od niedawna sam uczę się dopiero C, to proszę bardzo poniżej, najpierw kod do odbiornika RC5. Sprawdzony, krótki i odporny na zakłócenia oraz kody z innych pilotów - działa wyśmienicie i w ciekawy sposób wykorzystuje bit TOGGLE: // zmienne do obsługi kodów IR w standardzie RC5 volatile uint8_t address; // adres RC5 volatile uint8_t command;...
Zobacz co się dzieje: TCNT1 ma wartość 65535 i za chwilę nastąpi przerwanie, wykonywana jest instrukcja timer1_=TCNT1 i w tym momencie następuje przerwanie. TCNT1 po powrocie ma mniejszą wartość ale jest już po herbacie - licznik==1 warunek po if jest spełniony PORTB=0 i czekamy na następne przerwanie. Dlaczego 20 cykli jest dobrze? Bo przerwanie musi...
Usuń <br/> z końca linka, bo przez to link nie działa. Pytanie, czy te wolne piny zostawiłeś w powietrzu. Bo one generują przerwanie, więc jeśli "dyndają", to w kółko wystawiany może być stan wysoki, który powinien po tych 304us zejść na niski, ale może nie zdążyć przez kolejne przerwania generowane przez "dyndadła". Wyobraź sobie, że to wykonuje...
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...
Czy istnieje możliwość dokonania modyfikacji przerwania w taki sposób, aby otrzymać możliwość regulacji pulsacji sygnału? Aktualnie sygnał generowany jest przez dwa przerwania o stałym wypełnieniu: [syntax=c] #include <avr/io.h> #include <avr/portpins.h> #include <avr/interrupt.h> #include <util/delay.h> #include "PWM.h" int...
Może spróbuj w ten sposób : $crystal = 4000000 Config Pind.5 = Output 'ustawienie wyjścia na pinie który standardowo sygnalizuje przepełnienie timer-a Config Timer0 = Timer , Prescale = 1 'ustawienie timer1 dzielnik 1 On Timer0 Przerwanie_timer1 'wywołanie przerwania po przepełnieniu timera Timer0 = 145 'wartość początkowa od której timer bedzie zliczł...
Ja robiłem to tak. $map $regfile = "ATtiny2313.dat" $crystal = 1000000 Dim ... Config Timer1 = Timer , Prescale = 8 ' ustawienie przerwań Enable Interrupts Enable Timer1 On Timer1 Przerwanie Do program glowny Loop '*********************************** Przerwanie: Timer1 = 64287 ' okolo 1 setna program przerwania Return W przerwaniu musisz...
Hmmm... zezwalam na wywołanie przerwania przy przepełnieniu Timer1. A obsługi przerwania nie ma. (Co się wtedy stanie?). Tylko, czy w przypadku NIEustawienia TIMSK TC1 będzie zliczał nadal? Zaraz sprawdzam, dziękuję za pierwszą wskazówkę.
Dziękuję serdecznie za odpowiedzi. Przepraszam że nie wspomniałem o zegarze który ustawiony jest na 8MHz. Sprawdzałem w fuse bitach odnośnie dzielnika i okazało się że w m8 nie istnieje tak jak to były np w attiny2313. Dziękuję za pomoc koledze landy13 rzeczywiście bit ten jest w innym rejestrze, moje niedopatrzenie. Po zmianie wszystko ruszyło. Pozdrawiam...
Pusty blok jest dlatego, że utknąłem na konfiguracji Timer0. Jeśli chodzi o rejestry, to podejrzewałem, że jest tak, jak Kolega pisze. Wartość TCNT0 = 6; trzeba będzie wpisać do przerwania Timera Przy ustawieniach: [syntax=c] TCCR0A = (1 << CS01)|(CS00); // źródłem CLK, preskaler 64 TIMSK = (1<<TOIE0); //Przerwanie overflow (przepełnienie...
Ciągle zaglądam, jednak chwilami się gubię ;p Czyli preskaler jest ustawiany jedynie przez TCCR0B. Czyli na Timer0 nie ma mżliwości uruchomienia dwóch trybóow np PWM i CTC, gdyż tylko w rejestrze TCCR0A można ustawić jedną wartość, nie ma jako alternatywnego TCCR0B -bo on służy do ust preskalera. Dobrze mówię? Został mi tylko Timer1, żeby zrealizować...
Nie możesz używać Waitms nigdzie indziej poza pętlą główną. Trzeba to obejść. Wiadomo, że w podprogramach jesteś co 4ms. Co do Portb.5 to nigdzie nie widzę zerowania i dlatego jest ustawiony non stop. [syntax=basic4gl]$regfile = "attiny2313.dat" $crystal = 1000000 Config Portb = Output Portb = &B1111111 Config Portd = &B11111000 Portd = &B1111111...
Jeśli do timera załadujesz wartość 64153 to przerwanie nastąpi co 1,004 msek Reszta w moim poście wyżej Dodano po 1 Dla dokładnie 1 msek : prescale = 1, wartość timer1 = 54477
Odbiornik RC5 działa. 1 na pilocie wyłącza diodę, 2 włącza $regfile = "attiny2313.dat" $crystal = 1000000 Config Rc5 = Pind.2 Config Pind.2 = Input Config Portb = Output Dim Address As Byte , Command As Byte Enable Interrupts Do Getrc5(address , Command) If Address = 0 Then Command = Command And &B01111111 Select Case Command Case...
Ok posiedziałem ciut, poczytałem w necie jak się używa te Timery i ich przepełnienia . Powstał taki oto kod .Proszę wyświetlacz traktować jako pomoc pokazującą mi ile już wystąpiło przepełnień, zresztą bardzo fajnie to pokazuje. Ramowa zasada jest taka - programik ma zliczać przepełnienia do 2108 i się zatrzymać po osiągnięciu tej sumy(wstępnie ta wartość...
...Napisałem taki soft. Ale nie działa... A dlaczego robisz to programowo(przerwanie) :?: Jeśli musisz otrzymać ten przebieg na PINB.3, to wykorzystaj Timer1, a jeśli możesz użyć PINB.2 , to użyj Timer0. Wykorzystaj tryb CTC, to generowanie przebiegu 36kHz, nie zajmie procowi ani jednej instrukcji ;) ... PS Zapomniałeś o "prologu" i "epilogu", które...
Przerwanie do dosłownie kilka komend. Służy tylko do multipleksowania wyświetlacza. Jeśli się dobrze orientuję, to trwa ono kilka/kilkanaście cykli zegara, czuli kilka mikrosekund. Przy czasie tych opóźnień nie powinno mieć to znaczenia. Zresztą poniżej kod przerwania: ISR(TIMER1_COMPA_vect) //PRZERWANIE, GDY TIMER DOLICZY DO WART. PORZADANEJ...
Witam! Zbudowałem prosty układ i chciałbym na nim nauczyć się dobrze obsługiwać i synchronizować przerwania. Jego głównym założeniem będzie liczenie co jedną sekundę do 99 na dwóch wyświetlaczach siedmiosegmentowych(obsługa "multipleksacją") z dodatkowymi opcjami(odebrać coś z komputera itp). Pisałem w C a z assemblerem dopiero zaczynam dlatego proszę...
Witam ponownie, Mam nadzieję, że tym razem mój program wygląda nieco lepiej. A oto kod: $crystal = 4000000 $regfile = "2313def.dat" Config Lcd = 16 * 1 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.6 , Rs = Portb.7 Dim P As Bit 'Bit aktywnego pomiaru Dim Pz As Bit 'Bit zakonczenia pomiaru Dim...
Tak mi to wyszło to mój pierwszy program (nie licząc włącz-wyłącz diode) wiec proszę o wyrozumiałość. Częstotliwości jeszcze nie obliczyłem bo mam z tym trudności. Nie wiem tylko czy dobrze zrozumiałem ze timer1 w trybie Pwm jako jedno przerwanie zlicza jeden cykl [syntax=basic4gl]$regfile = "2313def.dat" $Crystal=8000000 Config Pinb.3 = Output Config...
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...
Nastąpiły niewielkie postępy. Udało się uruchomić wewnętrzny timer, ale wynik bardzo odbiega od rzeczywistego. Najczęściej pokazuje wynik 0 lub jakąś liczbę jedno czy dwu cyfrową. Bardzo rzadko jest to liczba trzycyfrowa. Program teraz wygląda tak: 'Samochodowy obrotomierz 'Marcin Wiązania 'E-mail: mwiazani(at)poczta.fm $regfile = "attiny2313.dat"...
Nie spełniają? Najdroższy cyfrowy tam przedstawiony kosztuje 224,- Kč -> mniej niż 30 Zł. Ale mniejsza z tym, bo Twoje żądanie potrzebuje aż 96 załącz/wyłącz cykli na dobę. A tu będzie z takimi zegarami problem. Co do dokładności zegara na procku, to albo jakiś RTC albo moduł DCF albo da się też takim podobnym kodem: $regfile = "Attiny2313.DAT"...
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...
Dopisałem do rejestru TCCR1B bit WGM12 który według tabeli ustawia CTC, oraz skasowałem zerowanie licznika w funkcji przerwania. http://obrazki.elektroda.net/61_12865649... Przeglądają jeszcze dokumentację natknąłem się, że częstotliwość tego równa jest połowie częstotliwości zegara, tak więc zwiększyłem wartość do porównania 2x i teraz nawet...
Zamieszczam program miernika według wskazówek emarcusa. Jest to pierwsza w moim życiu próba napisania czegoś poważniejszego niż zapalanie i gaszenie LED-ów. Program nie kompiluje się, co mnie nie dziwi, są pewnie w nim podstawowe błędy... Ale od czegoś trzeba zacząć. Proszę o poprawienie, podpowiedzi. A tak w ogóle to zaczyna mnie wciągać :) [syntax=basic4gl]'...
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);...
attiny2313 timer1 attiny2313 przerwanie atmega timer1 przerwanie
dodać enkoder wzmacniacz projektora gasną światła skoda fabia
bateria macallister ariva reset
Manta 50 26 wyłącza się po 10 sekundach - przyczyny Sherman 250 – schemat elektryczny, MIG250-J04, inwerter, serwis, naprawa