Sprawa jest tego typu, że Timer1 mam już użyty do Capture na ICP.
Zainteresuj się funkcją Input Capture Unit - opis oraz przykład dla C: http://mikrokontrolery.blogspot.com/2011...
Z tego co widzę w PDF-ie, sygnał z odbiornika musiał by być podawany na wejście ICP kontrolera, jest to noga Timera1 (tylko on obsługuje Capture).
Stare przysłowie pszczół: żadnego oczekiwania w obsłudze przerwania! Mierz timerem czasy trwania stanów 0 i 1, jak to sugerują Koledzy. Testowanie programowe w przerwaniu timera zgłaszanym odpowiednio często jest na ogół bezpieczniejsze niż użycie trybu Capture.
Naprawdę nikt nie jest w stanie nic pomoc ? Miało by to mniej więcej wyglądać tak: -sygnał podawany na ICP ma postać kwadratową -zbocze opadające powoduje zapis wartości timera do rejestru sprzętowego -odejmując kolejne wartości rejestru od siebie uzyskuję czas jaki upłynął między impulsami -obliczając odpowiednio czas uzyskuję ilość impulsów na minutę
Tym bardziej Capture mode. A temat sam zmień.
Tryb Capture służy do przechwytywania zawartości licznika a nie do jego przeładowywania.
http://www.atmel.com/dyn/products/app_no... AVR135: Using Timer Capture to Measure PWM Duty Cycle
dlatego najlepsza opcja nazywa sie input capture. 0x41 0x56 0x45!!
Niestety ja tu nic nie poradzę bo nie bawiłem sie w bascomie w capture. 1) Sygnał do licznika może pochodzić z nóżki albo z wewnętrznego komparatora. Więc trzeba jakoś wybrać nóżkę i ustawić ja na input. 2) Najpierw skonfiguruj swój timer tak jak niżej, bo to musi być COUNTER a nie TIMER: Config Timer1 = Counter , Edge = Falling , Capture Edge = Falling...
Najpierw musisz zdekodować warstwę fizyczną - czyli musisz mierzyć impulsy. Najlepiej by było, gdybyś to zrobił na timerze capture, mierzysz czas odstepu miedzy zboczami, i tyle... Kazdy bit po bicie wpychasz do fifo... w petli głównej masz pętlę która rozbiera tą kolejkę, i zamienia bitstream na ramki. Takie ktore mają zdefiniowany początek i koniec,...
Witam. this sample receives RC5 on the background. it will not block your code like getrc5 ' it requires a 16 bit timer with input capture. you can not use the timer yourself. ' some processors have multiple 16 bit timers. Config Rc5 = Pinb.0 , Timer = 1 , Mode = Background ' ^--- background interrupt mode ' ^--- this must be a 16 bit timer ' ^----...
Od dokładnych pomiarów czasu, a co z tym idzie częstotliwości jest Input Capture Unit: http://mikrokontrolery.blogspot.com/2011... ... i zmień język się na C.
Hej, Dzielnik zmieniłem i jest przed diodą. Dodanie kondensatora C6 za diodą powodowało, że przy rozłączeniu zasilania mega nic nie zapisywała i zliczała od zera. Podobnie jak wpisanie polecenia RISING. Odlutowałem C6 i zmieniłem polecenie na FALLING. Zamieniłem dzielnik tak jak był na początku a więc 100K i 18K tak aby comparator wyzwalał się przy...
Z listingu programu nie mozna doszukac sie jaka metode przyjmujesz w pomiarze RPM. Ja jakoś się doszukałem. A nie, sory. Nawet doszukiwać się nie musiałem. Liczy okres pomiędzy impulsami. Ale przerwanie to powinno wyglądać tak: Przerwanie: Zmienna = Timer1 Timer1 = 0 Wynik = 7500000 / Zmienna Return Preskaler Timera ustaw na 64. A: Capture Edge...
Jest możliwość pomiaru czasu wtrysku na przerwaniach w AVR'ach. Trzeba podpiąć sygnał z wtryskiwacza (oczywiście przez układ dopasowujący) jednocześnie na wejście przerwania zewnętrznego (np. INT0) i wejście ICP (input capture). Potem trzeba skonfigurować zewnętrzne przerwanie aby reagowało na zbocze opadające (początek czasu wtrysku), licznik T1 ma...
zaprzyjaznij sie z datasheetem i znajdz sobie w nim rozdzial p.t. Input Capture gotowy kod mozesz napisac na podstawie tego co tam znajdziesz, powodzenia. 0x41 0x56 0x45!!
Generalnie, W Bascomie obsługa RC5 pozostawia wiele do życzenia dlatego też Mark w najnowszej wersji ma wprowadzić obsługę RC5 na przerwaniu ICP ("prawdziwie" w tle) według poniższego kodu, który udostępniam i polecam: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Timer1 = Timer , Capture Edge = Falling , Prescale = 8 '1 tick= 1...
To trzeba zmienić priorytet z 12 bitów stałokodowego pilota na odbiór HCSa lub całkiem usunąć obsługę pilota 12 bitowego. może tak: [syntax=vbnet]'*************************... '========================= przerwanie przy kazdym zboczu ICP, odczyt czasu trwania impulsu...
O.K. w bascomie robi się to podobnie cytat z polskiego HELP: "Częstotliwość wyjściowa jest określana wtedy wzorem: fout = (fosc / 4) / (65536 - CAPTURE). By wpisać wartość do rejestrów RCAP2L i RCAP2H, należy użyć: CAPTURE = wartość , gdzie wartość powinna być typu Word. Aby jednak uprościć stosowanie tego trybu instrukcja (począwszy od wersji 2.08...
Zacina sie bo to wada bascomowejo Getrc5. ten program musi działac, dlaczego go nie zastosowałeś? Spróbuj, tylko odbiornik IR musisz dac na wejscie ICP procesora. [syntax=basic4gl]$regfile = "m16def.dat" $crystal = 8000000 $baud = 9600 Config Timer1 = Timer , Capture Edge = Falling , Prescale = 8 '1 tick= 1 uS On Capture1 Capture_edges 'To przerwanie...
Config Timer1 = Counter , Edge = Rising ,Noise Cancel = 1, Prescale = 1 , Compare A = Disconnect,Compare B = Disconnect Nie działa Config Timer1 = Counter , Edge = Rising , Noise Cancel = 1 , Capture Edge = Rising , Compare A = Disconnect , Compare B = Disconnect , Clear Timer = 0 Działa THX
Ten sam kod, który zaprezentowałem w pierwszym poście , natomiast przerwanie wywołane już na nodze portb.0 i działa zmienna nie jest nadpisywana. Cała reszta kodu bez zmian poza zmianą przerwania. Przerwania skonfigurowane prawidłowo. Moze przerwania masz skonfigurowane prawidlowo... ale..... Czy mozesz wyjasnic w jakim celu, w obsludze przerwania...
Tak wiem że należy odpalić timer na początku i zatrzymać na końcu i odczytać jego wartość.. no nic. Dziękuję za wypowiedzi tak czy inaczej.. Odp. kol. Draco była troche sarkastyczna, bo na tak prostą procedurę nikt, kto ma choć troche rozeznania w tej dziedzinie chyba (!) nie szuka pomocy. Mopzesz to zrobić na kilka sposobów: 1. mierzyc czas metodą...
Witam. Zrobiłem sterownik z ATmega8 do sterowania dwoma serwomechanizmami za pomocą pilota RC5. Program napisałem w Bascomie. Jeśli chodzi o zasadę działania serwa to w jednym z opisów znalazłem, że co 20ms należy podać stan wysoki o odpowiedniej szerokości (czyli częstotliwość jest stała). W Bascomie do obsługi serwa wykorzystywany jest 8-bitowy Timer0....
No właśnie tylko u mnie dość cienko z programowaniem i obawiam się, że może mnie to przerosnąć. Do tej pory udało mi się odpalić wiele rzeczy, ale nie wiedziałem ze z tym będą takie problemy. Dobrze by było jakbyście rzucili też okiem na całość programu, czy jest jakoś w miarę poskładany. Edit: Znalazłem coś takiego: [syntax=vb] //Timer1 Capture //Timer1...
Najdokładniej będzie zmierzyć czas pomiędzy impulsami z enkodera - możesz do tego użyć trybu input capture (ICP) timera1. Przy max. prędkości obrotowej masz ok. 100 zdarzeń na sekundę. Przy min. prędkości możesz zwiększać preskaler timera żeby wykluczyć przepełnienie bez "łapania" impulsu. Jeśli odstępy między impulsami z dekodera nie są identyczne,...
Takie coś ?? [syntax=vbnet]config timer1 = timer , prescale =64 , capture edge = falling , noise chanel = 1 Dim czas_otwarcia as Word Dim czestotliwosc as word On capture1 wtrysk Enable capture1 Enable interrupts Config pind.6 = input Do Print czestotliwosc Print czas_otwarcia Loop Wtrysk: Czas_otwarcia = capture1 Czestotliwosc = timer1 Timer1 = 0 Return[/syntax]...
Pracuję nad odczytem ramki z ALPINE M-BUS i wysyłaniu do Terminala po RS232 Temat był kiedyś poruszany.Ogólnie M-BUS pracuje na zasadzie PWM ,tzn, 0 i 1 są transmitowane z różną szerokościa impulsów . Joerg Hohensohn zrobił już coś takiego w języku C. www.jevinskie.com/mbus/ Chce zrobic tosamo w bascomie. Docelowo ma być pózniej emu zmieniarki na module...
hmm ultradźwiękowych nie da się poznaczyć dodatnich i ujemnych połówek fali ultradźwiękowych troszeczke nie rozumiem po co okreslac to czy to jest dodatnia czy ujemna mozna to zrobic przez rozroznienie czy to jest narastajaca zbocze czy opadajace czyli tak jakbysmy brali wszystko co sie znajduje nad osia OX i sprawdzali zbocza jesli wybierzemy naraztajace...
Dzieki ksz o to mi właśnie chodziło ! Mam tylko jeszcze jedno pytanko jak napisac programik aby np na dany kod przycisku ( 0x00000000000009F6) zmieniał stan portu ! Niezabardzo mam pomysł jak to zrobic w bascomie ! myśle nad podpięciem pod int0 tylko niewiem jak program ma mniej więcej wyglądac ! Robiłem niedawno odbiornik podczerwieni (w C), użyłem...
Tak jak piszesz. Żyroskop podaje sygnał sterujący serwem. Czyli jest to sygnał prostokątny. Gdzie dla neutralnej pozycji serwa co 20 ms występuje impuls o czasie trwania 1,5ms. Dla maksymalnego odchylenia serwa w lewo impuls ten skraca się do 1ms. A dla maksymalnego wychylenia w prawo - wydłuża do 2ms. Po opisie żyroskopu, można wywnioskować iż odchylenie...
Przydał by się jakiś przykład ale pokombinuje . To trochę komplikuje sprawę bo timer1 jest już zajęty ale zobaczymy czy działa lepiej. Docelowo muszę dokonywać pomiaru 2 sygnałów ( sygnałów serw rc). Tylko jeśli ustawię: Config Timer1 = Counter , Edge = Rising , Capture Edge = Rising i po pojawieniu się zbocza zmienię na: Config Timer1 = Counter , Edge...
Hmm... A co ma cena procesora do ceny In-circut debuger-a ? Procesory kupuje się wielokrotnie, a debuger raz, po za tym dla AVR istnieją tańsze, nieoryginalne wersje - sam JTAG, bez obsługi DebugWire, już za trochę więcej niż 100PLN (np. na www.propox.com ) - również na USB. ATmega8 - 7-9PLN, możliwości : • Advanced RISC Architecture – 130...
Poprawiłem program, sygnał podaje na pind.5, teraz wygląda on tak --------- Dalej nie dobrze. Jest kilka metod pomiaru RPM wirujacych elementow (walow) urzadzen. Widze ze zdecydowales na pomiar czasu pomiedzy impulsami wynikajacymi z jednego obrotu, mimo ze opis do org. watku mial na celu zliczanie impulsow w okreslonej jednostce czasu. Nie ma nic...
cytat z noty katalogowej ATMega8 Input Capture Unit The Timer/Counter incorporates an input capture unit that can capture external events and give them a time-stamp indicating time of occurrence. The external signal indicating an event, or multiple events, can be applied via the ICP1 pin or alternatively, via the analog-comparator unit. The time-stamps...
Tak zgadza się , capture edge jest i prescaler jest to tylko akt desperacji :). Po prostu wersji w bascomie było bardzo dużo , żadna nie chciała działać. Wrzuciłem wersję z ostatniej próby , której założenie wyglądało "a może w końcu coś ruszy :/ " Próbowałem również po prostu counter, edge falling . Zawsze daje ten sam efekt . Gdy zliczy do 65535 przechodzi...
generalnie to najlepiej przeczytac datasheeta i rozdzial Input Capture, no ale po co, skoro mozna zasmiecic forum kolejnym lamerskim tematem, na ktory odpowiedz jest w datasheecie. jesli zas IC cie nie satysfakcjonuje, to wystarczy przeczytac rozdzial zwiazany z Timerami z opcja External Gate - w kazdym datasheecie pod rozdzialem Timers. nie mowiac...
(i skąd tu początkujący ma sobie zassać troszkę wiedzy jak w C obsługiwać różne bloki funkcjonalne AVRków ??? Oczywiście wiem, że można z różnych źródeł ale chyba sami przyznacie, że ciężko początkującemu rozszyfrować czasem zawiłą składnię bez jakichś dobrych komentarzy czy opisów :( :( W C (inaczej niż w Bascomie) nie ma specjalnej składni do obsługi...
Dziękuję janbernat za fantastyczną i rzeczową pomoc oraz wkład pracy w rozwiązanie mojego problemu. Konrad Nie sadze aby ta metoda pomiarowa i sposob realizacji daly oczekiwany rezultat. Przeciez w aparatach fotograficznych czas otwarcia migawki nie jest zalezny od czasu 'wcisniecia przycisku', za wyjatkiem powiedzmy pracy w trybie "na czas" (B), a...
Ciekawą sprawą jest też to, że mój odbiornik IR (TSOP4836) jest normalnie zwarty (w stanie logicznym 1), mimo to przerwanie w trybie Rising działa poprawnie. Nie ma czegoś takiego jak "zwarty" :) tak poprostu działa prawie każdy odbiornik IR, w stanie spoczynku, jak nic nie jest nadawane, ma stan wysoki H czyli +5V, jeśli nadajnik (pilot) nadaje nośną...
Witam! Z tego co zauważyłem, a to: '-------------------------obsługa przerwań--------------------------------... '''''''''''''''''''''''sekunda - przerwanie od zegara'''''''''''''''''''''''''' Calasekunda: Cala_sekunda = 1 Stop Timer0 Impp = Tcnt0 Tcnt0 = 0 Start Timer0 Liczba_taktow = Capture1 Capture1 = 0 Return wg. mnie powinno być: '-------------------------obsługa...
Nie znam dobrze Bascom'a ale moim zdaniem to zapewne kwestia Timerów. Masz w kodzie [syntax=basic4gl]Period = Capture1[/syntax] jest różnica w przypisaniu dla ATMega 8 - ICP1 to pin 14 (PB0) dla ATMega 32 ICP1 to pin 20 (PD6) - zobacz czy ( i ew. co tam masz podłączone ) w załączeniu pinouty:
Coś nie chce mi działać, wgrałem z kompilowany hex do procka i restartuje mi Z80 co chwile. Pod pinD cały i pod pierwsze 4 bity pinB mam podpiętego Z80 i po wgraniu softu z twoją poprawką resetuje się Z80. Cos mu zakłóca transmisje z resztą gratów ;) ale dzięki za chęci ;) Pokreciłeś to całkowicie... Jeżeli cały portD przeznaczyłeś na input Data, które...
Na wstępie chciałbym powiedzieć że piszę w BASCOM-ie AVR. Buduję urządzenie które ma wyświetlać wynik na wyświetlaczu 7-mio segmentowym (podyktowane warunkami środowiskowymi i widocznością). Napisałem program który działa (listing poniżej) ale dręczy mnie pytanie czy nie da się tego zrobić prościej tzn pobierać poszczególne cyfry bezpośrednio ze zmiennej...
Mam problem z przerwaniami, a raczej z pewną różnicą w budowie Atmega8 i Atmega32, a mianowicie mam program, który działa prawidłowo na Atmega8 poniżej fragment http://obrazki.elektroda.pl/7547240700_1... Jakaś sugestia/pomoc?
Głównie chodziło mi o sposób wysyłania poleceń 1 wire: Disable Int0 'wyłączenie przeszkadzającego przerwania 1wreset 1wwrite &HCC 1wwrite &H44 Capture = 1 Enable Int0 'załączenie przerwania po wszystkim Jeśli nie wiesz, które przerwanie może powodować u Ciebie problemy z 1 wire to możesz wyłączyć globalną obsługę przerwań. Czas po rozkazie odczytu temperatury...
Config Timer1 = Timer , Prescale = 8 On Icp1 C1 On Compare1a C2 Enable Compare1a Enable Icp1 Enable Interrupts ......... c1: Stop Timer1 X = Capture1 X = x / 360 campare1a = x timer1 = 0 start timer1 return c2: ----> to przerwanie będzie się wykonywać 360 razy na obrót campare1a = campare1a + x incr "zmienna" return masz podział...
Do mojej wypowiedzi dopowiem, że nie tyczyła się pobudek jakie kierują kolega Dondu bo te znam na pamięć, jest gorszy niż reklama na Polsacie, jeśli to w ogóle możliwe. Moja wypowiedź tyczyła się metod jakie stosuje. Bardzo chętnie czytałbym rzeczowe wypowiedzi na temat mikrokontrolerów. Jak żołnierz karabin, potrafie rozłożyć mikrokontroler AVR na...
Z noty katalogowej ATmega8515 (pierwsza strona): • Peripheral Features – One 8-bit Timer/Counter with Separate Prescaler and Compare Mode – One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode – Three PWM Channels – Programmable Serial USART – Master/Slave SPI Serial Interface – Programmable...
Ja nie widzę problemu. :D Timer1: CONFIG TIMER1 = COUNTER | TIMER | PWM , EDGE=RISING | FALLING , PRESCALE= 1|8|64|256|1024 , NOISE CANCEL=0 |1, CAPTURE EDGE = RISING | FALLING , CLEAR TIMER = 1|0, COMPARE A = CLEAR | SET | TOGGLE I DISCONNECT , COMPARE B = CLEAR | SET | TOGGLE I DISCONNECT , PWM = 8 | 9 10 , COMPARE A PWM = CLEAR UP| CLEAR DOWN | DISCONNECT...
Oto mój program (atinny2313, zegar 8 mHz). Dodatkowo obsługa pilota sony: Dim Moc As Word Dim Table As Word Dim Ready As Byte Dim Code As Word Dim Period As Word Dim Command As Long Dim Bitcount As Byte Config Timer0 = Timer , Prescale = 1024 Config Timer1 = Timer , Prescale = 256 , Capture Edge = Rising , Compare A No_output = Disconnect Config Int0...
Mam mały problem z programem napisanym w bascomie .... ja myślę, że masz duuuży problem, dlaczego? 1. bo po pierwsze w ogóle nie zapoznałeś się ze standardami kodowania IR dla różnych pilotów (choćby dla RC5 i SONY o których wspominasz) 2. po drugie - proponuję najpierw poćwiczyć pisanie w Bascomie prostszych programów aby nabrać trochę doświadczenia...
Ponieważ tzw. casting w BASCOMie jest nieco zbyt prosto zrobiony to proponuję zrezygnować z: Dim Xl As Word Dim Xh As Word A w przerwaniu pobierać zawartość z rejestru ICR za pomocą specjalnie generowanej dla tego celu zmiennej typu Word: Capture1 . Pętlę Do..Loop zamieniłbm na sprzętowe porównywanie i kasowanie licznika przez CTC. Niech takimi rzeczami...
Witam Napisałem prosty program używający timera1 i timera 2 do zliczania częstotliwości, Chciałbym użyć dodatkowo serwa do mojego projektu ale używając intrukcji Servo coś nie tak dzieje się z serwem . Servo nie chce ci pracowac bo masz niepoprawnie obliczaną freq., od której (w twoim programie) zależy praca serva. Również niepoprawnie masz skonfigurowane...
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ę...
Proszę postępuj zgodnie ze schematem użytkowym, który załączyłem (post #4 21 Lip 2015 21:39). Tam jest przedstawione gotowe rozwiazanie. Zacisk 21 podłączasz do masy, zaś zacisk 20 do GPIO. Stanem aktywnym jest zwarcie pinu GPIO do masy. Następuje to w momencie pojawienia się impulsu (dokładnie w momencie kiedy na ORNO mrugnie dioda). Dalsza procedura...
A ja proponuję może najpierw się zastanowić nad tym do czego opóźnienia i wtedy dobrać sposób czy na timerze czy bez timera. Tak mi się wydaje, że próby zaprzęgania Timerów do super "idealnego" odmierzania tak gigantycznego czasu jak 1 sekunda to jak strzelanie z armaty do komara (choć może się mylę - ale ciekaw jestem do czego tak na prawdę może być...
Popełniłem taki oto kod jak poniżej. W założeniu ma to być zegarek stawiany pilotem, oraz z dwoma DS18B20. Założyłem sobie, że nie użyję żadnego Wait, ani Gosub. Mam jednak jeden problem z odświeżaniem czasu na LCD. Niby dwukropki migają co sekundę, ale sekundy nie są wyświetlane poprawnie. Przez pewien czas jest niby dobrze, ale czasem jakby pomija...
No to coś napisałem na AVRStudio 4.05.0.181 (na kolanie) :) . Co prawda na ATmega8 , ale przeportowanie to pestka(niektóre wektory przerwań do skasowania/zmiany nazwy i "2313def.inc" zamiast "m8def.inc" , prędkość kwarcu Xtal też do poprawki...), raczej tu chyba nie ma rozkazów niezaimplementowanych w AT90S2313 . ;included in next file - line ".device...
Zrobiłem sobie propeller clock na i działa prawie dobrze :) Problem w tym że co jakieś 50 obrotów zegarek przestaje działać na kolejne 50 obrotów. Wiąże się to z funkcją zliczania czasu obrotu i przeliczanie na 60 pozycji na tarczy zegara. Stop Timer1 Timer1 = 0 Start Timer1 Incr Y If Y = 50 Then X = Capture1 X = X / 60 Y = 0 End If Compare1a = X Pozycja...
I na wyswietlaczu pojawia mi sie 40 226 61 155 1 0 0 239 W pierwszym listingu Masz tablicę 8-elementową i dobrze, DS ma zapisanych 8 bajtów ID. W drugim listingu tylko 5 - elementową, dlaczego ? A co jeśli inny DS będzie miał 5 pierwszych bajtów takich samych ? Otóż będzie klapa. no to wpisuje te dane A możesz mi doradzić w sprawie stosowania kwarca...
Łap. Napisałem przy kubku kawy i najdłużej to organizowałem się do zdjęć :D To prosty kodzik i zawsze można coś poprawić. Niemniej, co widać na fotach, mierzy częstotliwość, wypełnienie oraz pokazuje czasy stanów Hi/Lo ;) Może się komuś przyda :P http://obrazki.elektroda.pl/4849788600_1... http://obrazki.elektroda.pl/2015178300_1...
Witam, Coś ostatnio mało ludzi odpowiada mi na pytania w Bascomie, więc postarałem się napisać swój program w C. Liczę więc na pomoc specjalistów od GCC ;) chciałbym zrobić pilot IR do mojego aparatu fotograficznego Olympus. Ze stronki lirc sprawdziłem sobie co i jak ma być dla pilota RM-1. Powiem nawet że chyba rok temu zrobiłem to w assemblerze i...
Witam. Mam problem z dekoderm wywołania w systemie "5-tone", tony dekoduje poprawnie i wyświetla poprawnie, niestety próba wysłania ich przez UART nie jest zadowalająca. Jak widać program wykonuję "w pętli" wypisywanie odebranych znaków, czego wynikiem jest np dla kodu 12345: 1 12 1234 12345 Czy da się przerobić tak program aby na UART wysłać zmienną...
Regulacja częstotliwości? Sprzętowo? Owszem. Ale kosztem rozdzielczości PWM. Trzeba włączyć tryb z wartością TOP ładowaną do Capture1. Potem w programie: zmiana Capture1 daje zmianę częstotliwości, ale wymaga też przeliczenia wartości Pwm1a/1b. Samo wypełnienie zmienia się w Pwm1a/1b, ale trzeba zawsze brać pod uwagę wartość z Capture1 by nie wpisać...
Zawsze możesz zwiększyć taktowanie do 16MHz - które ATMega8 bez L przyjmie. Możesz też zmniejszyć rozdzielczość do N bitów przez zmianę ustawień w TCCR1A, TCCR1B i CAPTURE1.
(at)mirekk36 Nie wiem, czy jest tak mocno przesadzone. Dla przykładu czemu według twórców rodziny AVR trzeba mieć koniecznie osobny licznik do każdego bloku Input Capture? I czemu dopiero te większe posiadają w ogóle więcej niż jeden blok IC? Naprawdę tak trudno jest dołożyć komparator cyfrowy i bodajże 3-4 rejestry? A to nie jest jakiś tam drobiazg,...
$regfile = "attiny2313.dat" $crystal = 10000000 $hwstack = 32 $swstack = 8 $framesize = 16 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.1 , Rs = Portb.2 'konfiguracja podłączenia LCD,na płytce testowej Config Lcd = 16 * 2 Config Timer1 = Counter , Edge = Falling , Noise Cancel = 1 , Prescale = 1 Config...
Ktorykolwiek procesor wybierzesz, bedzie on mial swoje zady i walety. Co jest naprawde wazne, to sposob, w jaki wybrany procesor oprogramujesz. Aby wspomoc ten proces i ulatwic tworzenie programu, nalezy wybrac taki uklad by zwolnil nas z wnikania w funkcje niskopoziomowe. Znaczy to, ze im wiecej funkcji takich jak timery, uklady komunikacyjne, uklady...
W programie masz bałagan, ale pewnie większym problemem są tu schemat i założenia. PWM 8Bit przy 16Mhz to wyjdzie 62,5kHz. Nawet małe silniczki mają bezwładność na poziomie 10ms więc to chyba niepotrzebne. Przy Twojej prędkości musiałbyś duży nacisk położyć na ten układ ze sterowaniem tranzystora. Dla tego PWM proponuję użyć jakiegoś preskalera. Potem...
Witam, od jakiegoś czasu próbuję stworzyć sobie zegarek z termometrem + napięcie akumulatora do auta. Wszystkie programy osobno działają bez zarzutu. Problem zaczął się z chęcią wprowadzenia przełączalnych ekranów i wprowadzeniu przerwań. Doczytałem że przerwania skutecznie psują komunikację z DS'ami przez co temperatura się nie odczytuje. Ogólnie to...
Nawet jeśli jest tylko dołączone. Odpytywanie następuje co parę sekund a efekt bielenia ekranu mam za każdym razem kiedy nacisnę przycisk w celu załadowania nowego obrazka. A tu raport (wklejam na razie większość gdyż może Wam to coś ułatwi: Report : System_LCD_TOUCH PAD_rs485 Date : 04-17-2010 Time : 13:48:37 Compiler : BASCOM-AVR...
do toego o co pytasz i to bez zaprzęgania kilku przerwań i jeszcze dodatkowo timera nadaje się wprost - wyśmienicie, zresztą po to stworzony jest ten mechanizm.... .... wejście ICP procka (przerwanie Capture1). Pin ten może generować przerwania dla Timera1 w zależności od zbocza jakie pojawia się na wejściu. Gdy pojawia się takie przerwanie można odczytywać...
Witam. Jestem nowy w tym temacie. Od jakiegoś czasu bawię się modułami rfm12B. Do wczoraj nie miałem kompletnie żadnych problemów z ich użytkowaniem. nawiązywałem transmisję jednokierunkową między dwoma układami. Obecnie próbuję zrobić potwierdzanie transmisji. Scenariusz jest następujący: Urządzenie A wysyła ramkę do urzadzenia -> B Urz B odbiera poprawnie...
Może najpierw zacznę od tego co muszę zrobić. Potrzebuję generatora impulsów PWM, ma mieć kilka częstotliwości do wyboru z góry zdefiniowanych, po wybraniu jednej częstotliwości i naciśnięciu startu wypełnienie ma się zmieniać powiedzmy co 5 sekund o 5%. No to czeka cię zabawa z opcjami Prescaler i Pwm . Bo będzie to najprostszy sposób dla Ciebie....
GoTo SerISR Autor: er.lebaron(at)hccnet.nl http://www.elektroda.pl/rtvforum/files-r... Interrupt Routine for serial Data. Uses UART Get Serial Data via Interrupt This program can be integrated in your own program when you need a routine that captures serial data on interrupt basis. I intend to use it in a RS485 network with several nodes....
Odbierać jest nieco trudniej. Program jest bardziej rozbudowany, nieco wyższa szkoła jazdy. Dla Arduino raczej nie pomogę, w czystym C, Bascom, Asembler , tu są moje preferencje. W Bascom chyba najłatwiej bo są gotowe polecenia liczące długości implusów Pulsein i do nadawania Pulseout For 38kHz mode: Command duration: 180 ms Header High Duration:...
Od kilku dni męczę ten wyswietlacz, a on nic. Tzn. jak odpowiednio zrobię zwarę to widać dwa rzędy prostokącików, ale nie o to chodzi. Pod Bascomem nie mogłem, więc spróbowałem w ASM: .include "tn2313def.inc" ;***************************************... .list .listmac ;---------------------------------------...
Ja nad takim czymś pracuje i z moich testów wynika że Atmega8 (8MHz) bez problemu sobie radzi z obrazem VGA Full HD (1920x1080x60Hz), a program jest w Bascomie !! To w końcu VGA czy Full HD? Obraz rozmiaru Full HD na złączu VGA. Mnie jakoś nie podoba się to rozwiązanie. Podobny projekt pobierający kolory z ekranu pracował na Python + Qt i z tego co...
Potrzebuję pomocy przy zamianie kodu "RFID Reader", tzn. żeby zamiast wyświetlania kodu karty na LCD uzyskiwać odpowiedni poziom na wyjściu 1z10 i czy jest to możliwe do zrealizowania na atmega8? Chciałbym użyć 8 ostatnich cyfr kodu karty. Posłużyłem się gotowcem, który był już na elektrodzie (dopiero uczę się bascoma i nie wiem jak się do tego zabrać):...
Szanowni Koledzy Postanowiłem zbudować licznik częstotliwości ze > "make.exe" all -------- begin -------- avr-gcc (GCC) 4.1.2 (WinAVR 20070525) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS...
[syntax=basic4gl] Report : noname3 Date : 10-21-2014 Time : 20:42:39 Compiler : BASCOM-AVR LIBRARY V 2.0.7.5, DEMO Edition Processor : M8 SRAM : 400 hex EEPROM : 200 hex ROMSIZE : 2000 hex ROMIMAGE : 546 hex -> Will fit into ROM ROMIMAGE : 1350 dec FLASH USED : 16 % BAUD : 9600 Baud XTAL : 16000000 Hz BAUD error : 0.16% Stack start : 45F hex Stack size...
Witam chce użyć procesora AT90S2313 do sterowania szybkości silnika. I chyba najlepiej do tego będzie nadawał się licznik timer1 skonfigurowany, jako PWM. Czytałem o tym w pomocy, ale jakoś niewiele mi to gada:( z jakiego pinu będą wychodzić te impulsy??? Z T1(PD5) czy OC1(PB3) czy jeśli wpisze te „dosconnet” to wyjściem biedzie T1 a jeśli...
Witam. Jestem początkującym w dziedzinie programowania na elektronice znam się dobrze. Chciałbym zbudować komputer pokładowy do mojej hondy civic i znalazłem na elektrodzie projekt z pod tego linku. http://www.elektroda.pl/rtvforum/topic22... Płytkę zaprojektowałem na nowo pod atmege128 reszta bez zmian. Wyświetlacz od Siemensa s65 ls020 podłączyłem...
Tłumaczą Ci ludzie już drugi dzień. Zwłaszcza kolega Logan . Czy tak trudno przeczytać w Helpie: Instrukcja ON INTERRUPT Przeznaczenie: Wykonuje skok do podprogramu gdy wystąpiło określone przerwanie. Składnia: ON źródło_przerwania nazwa_podprogramu Jeśli trudno to porzuć programowanie - są łatwiejsze profesje.
Witam, Jakiś czas temu zrodził się pomysł budowy platformy mobilnej do exploracji otoczenia, zaczęło się od przygotowania platformy, są to 4 silniki z przekładnią (HL149.12.21 Micro motors) konstrukcja z aluminium, koła od jakiegoś samochodu z marketu, ale szczegóły w późniejszym czasie. http://obrazki.elektroda.pl/3172229200_1... http://obrazki.elektroda.pl/3455070300_1...
Witam. Ostatnio zainteresował mnie pomiar natężenia światła, potrzebuję go do wykonania projektu. Pomiar dokonuje czujnikiem TSL235R, który podaje mi odpowiedź w formie częstotliwości. Chciałbym aby ktoś przyjrzał się temu co narazie wklepałem do kompilatora, bo nie jestem pewien, czy wszystko będzie grało? Może zacznę od kodu, wtedy zadam pytania itp....
Witam, męczę się z pewnym programem który za zadanie ma odebrać sekwencje tonów i wysłać przez UART oraz wyświetlić na LCD. Mam program zaczerpinięty z jednej strony ale nie wykonuje mi on operacji tak jak bym chciał. Ten program musze przerobić żeby: - rozróżniał dlugość sekwencji dźwięków tzn w zalezności od tego czy dźwiek ma 5 tonów 6 tonów itd....
Oto kod Kod: '4x4 Line Follower 'Chibots line following Contest 2003 'Wright Hobbies, LLC Copyright 2003 'eddy(at)wrighthobbies.com 'Variables 'Line Detectors Dim Lineflag As Byte Dim I As Byte , X As Byte Dim Adcvalue As Word , Channel As Byte , Progspeed As Byte Dim Progsteer As Byte Dim Lastadc(5) As Word Dim Calhi(5) As Word , Callow(5)...
capture timer bascom bascom capture input bascom capture timer1
bridge vectra dht22 raspberry wykrywacz metal monet
zderzak naprawa zderzak naprawa
Gdzie znajdę diodę SS34? Zastosowania i urządzenia Brak pracy silnika pilarki elektrycznej Makita - przyczyny