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...
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...
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...
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...
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 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 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...
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...
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...
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 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"...
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...
[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! Po próbach wyszukania włąściwej odpowiedzi postanowiłem zapytać kolegów o następujący problem - muszę dosyć precyzyjnie wygenerować przerwanie w Bascomie , używam do tego timer0 i odpowiedniego przerwania on timer0. Dziwny dla mnie jest fakt że programik : on timer0 etykietaprzerwania .... etykietaprzerwania: portb7 = not portb.7 timer0 = 200...
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...
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...
Chciałem zrobiś prosty porogramik na procku attiny2313 który przy uruchomionym timerze tc/1 co sekunde przechodziłby do innej etykiety. napisałem następujący program : Config Portd = Output Config Portb = Output Portd = 0 Portb = 0 Config Timer1 = Timer , Prescale = 64 Enable Interrupts Enable Timer1 On Timer1 Nxtd Nosave Dim A As Bit Dim B As Integer...
Witam. Napisałem sobie taki program, początkowo bez timerów lecz nie działał jak chciałem, Zrobiłem z timerem i niestety nic to nie dało. Program wygląda tak: $regfile = "attiny2313.dat" 'typ proca $crystal = 1000000 'taktowanie Config Portb = Input 'port b jako wejścia Portb = &B00111111 Config Portd = Output 'pprt d jako wyjścia Portd =...
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ę...
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...
czy ktoś byłby mi w stanie pomóc w ustawieniu przerwania na int1 urzywająć timera1 ? ponieważ nie radzę sobie z ustawieniem tego 16 bitowego timera. ogolnie przerwanie miało by wyłączać silnik jesli zostanie wciśniety przycisk bądź krancówka
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...
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...
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...
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...
(at)marco47 Nie rozumiem twojego pytania. (at)janbernat Timer1 służy do odmierzania 1 sek. Po tym czasie następuje przerwanie, w którym liczba zliczonych impulsów (przez timer0) przepisywana jest do zmiennej wynik.
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...
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...
próbowałem już z przerwaniami ale coś nie mogłem odczytać z TIMERA wartości na jakiej został zatrzymany przy przyjściu przerwania INT. Bo właściwie to nie wiem jak poczekać na przerwanie tak żeby np. w pierwszym INT kasować TIMER a w następnym odczytywać. A czy można zdefiniować równocześnie przerwanie na zbocze opadające i narastające i kiedy przyjdzie...
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...
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ę.
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ć...
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ść...
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...
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...
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...
...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...
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...
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...
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"...
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...
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...
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)....
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]'...
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"...
Witam Mam nadzieje że trochę pomogę w tej kwestii. Poniżej daję kod do obsługi kodu Rc5 w przerwaniach: '************* Konfiguracja uC ***************** '***************************************... $regfile = "attiny2313.dat" $crystal = 12000000 Config Portb = &B11111111 : Portb = &B11111111 Config Portd = &B11111011 : Portd =...
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....
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...
Zaczynam zabawe z mikrokontrolerami i chciałem napisac w bascomie na ATiny2313 stoper liczący z dokładnościa do 0,01 ale utknąlem na wyswietlaniu aktualnego czasu na lcd - to znaczy nie ma z tym problemu ale funkcja lcd jest strasznie wolna. Przerwanie zglaszane jest co 10 ms i mam wrażenie ze w tym czasie komenda lcd nie jest w stanie wyslac wszystkiego...
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...
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 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);...
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...
Witam! Głowie się z tym nie wiem którą godzinę i nie mogę dojść czemu tak się dzieje. Mam tego typu program: #include <avr/io.h> #include <avr/interrupt.h> float m_sekundy_wtrysk=0, m_sekundy_obr=0, wynik2=0; uint8_t i=0, k=0, znacznik=0; float wynik=0; ISR(INT1_vect){ //przerwanie od złącza PD3 (INT1) TCCR1B |= _BV(CS10);...
"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...
Witam, może sprecyzuj problemy jakie masz po kolei - bo teraz to już nie wiem za bardzo czy nie działa ci "sztuczka" z usypianiem i budzeniem procka? czy nie za bardzo działa ci nadajnik RC5 ? nie pokazałeś wprawdzie kodu swojej procedury nadawczej RC5 ale coś czuję przez skórę, jeśli chodzi o błędy w nadawaniu u ciebie, że to właśnie ona jest temu...
To był tylko przykład. Przydaje się wtedy kiedy nie możesz użyc pinu podległego Timerowi. W dodatku w tym przerwaniu możesz mieć trzy piny trzykolorowej diody RGB i zmieniając wypełnienie poszczególnych kanałów na jednym timerze mieć kolorki :) Nikogo nie przekonuję do swoich racji tylko pokazuję możliwości. Przykładowy kod ze strony http://mirley.firlej.org/programowyPwm.....
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 *****************...
Witam... Temat ten maglowany był tutaj już wieeellee razy.. ale niestety, nie znalazlem rozwiazania na moj problem, wiec go Wam przedstawie. Założenia projektu: PROSTY programowy generator PWM na AtTiny2313 o czest. 50Hz (okres 20 ms) a zmiennym wspołczynniku wypełnienia impulsu dodatniego wahajacym sie od 0.7 do 2.5 ms (chodzi o sterowanie serwomechanizmami)...
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ę...
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...
timer1 przerwać attiny2313 timer1 bascom timer1 przerwać
zdjąć obudowę pieca junkers mikroprocesorowy prostownik travelmate ekran
silnik odkurzacza bosch hilti udaru
Renault Laguna II – tanie sprężyny tylne i podkładki dolne: Motostacja, ELIT, Deler, Inter Cars Firmware download and flashing for Avocor AVE-5530, update_signed.zip safety, official sources