Witam, Config Timer2 = Pwm , Prescale = 8 , Compare = Toggle , Pwm = On , Compare Pwm = Clear Up ... Ocr2 = 0 Napięcie na wyjściu "OC2", jest proporcjonalne do zawartości "Ocr2". Oczywiście możesz zmienić preskaler, itp. Pozdrawiam.
Eeeee tam.... Jak to się nie da!? Przykład konfiguracji dla atmega8: Config Timer1 = Pwm , Prescale = 1 , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down Config Timer2 = Pwm , Async = on , Prescale = 1 , Pwm = On , Compare Pwm = Clear Up Pwm1a = 255 Pwm1b = 255 Ocr2 = 255 Pozdrawiam.
Witam. Można np. tak :) 6 x Pwm Config Timer0 = Pwm , Prescale = 1 , Pwm = On , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down 'Konfiguracja Timera Config Timer2 = Pwm , Prescale = 1 , Pwm = On , Compare A Pwm = Clear Down , Compare B Pwm...
Wszystkie Timery układu Mega32 mogą generować sygnały PWM: Timer0 - jeden kanał: OC0 - PB.3 Timer1 - dwa kanały: OC1A, OC1B - PD.5, PD.4 Timer2 - jeden kanał OC2 - PD.7 Na wejściach T0 i T1 liczniki nie generują sygnałów PWM. Co do samej konfiguracji to problem jest prawie żaden. W przypadku Timer1 sprawa jest prosta, gdyż CONFIG TIMER1 posiada wszelkie...
Użyj Timer'a 2 i wszystko będzie cacy. Pzdr. A piny to się konfiguruje tak: Config Pinb.1 = 1 a nie Portb.1. Przydaje się też wrzucenie linijki z def'em procka: $regfile = "M8DEF.dat", zresztą: $crystal = 8000000 $regfile = "M8DEF.dat" Config Timer2 = Timer , Prescale = 256 On Timer2 Przerwanie Dim A As Byte , B As Byte Config Lcd = 16 * 2 Cursor Off...
Może to ja zrobiłem błąd, który kompilator zignorował i przepisał po swojemu... no nie wiem Nigdy nie było oficjalnie takiej konstrukcji polecenia CONFIG TIMER2 z takim parametrem jak klauzula PWM A = 8. Aczkolwiek czasem polecenia CONFIG przyjmują różne klauzule, ale ich działanie odbiega od założeń. Np. do niedawna można było w CONFIG ADC napisać...
emarcus:: Czy Ciebie całkiem pogieło? Jak chcesz pomnożyć częstotliwość rozkazem MUL? Ewentualnie jak chcesz tym pomnożyć impulsy? Bez obrazy ale to zupełnie co innego. Dodano po 19 Na mój gust cos takiego: $regfile = "M8def.dat" $crystal = 8000000 $hwstack = 64 '---------------------------------------...
'$sim $regfile = "m8def.dat" $crystal = 8000000 'Config Lcdpin = Pin , Db7 = Portb.0 , Db6 = Portb.1 , Db5 = Portb.2 , Db4 = Portb.3 , E = Portb.4 , Rs = Portb.5 'Config Pinb.3 = Output Config Portb = Output 'Config Timer2 = Timer Prescale = 1 , Compare = Toggle , Clear Timer = 1 Enable Interrupts Ocr2 = 102 Tccr2 = 25 'Enable Timer2 'Enable...
Proszę, może to Cię zachęci do przeczytania reszty we własnym zakresie. Program "miga" nośną 38kHz co 1ms ;) http://obrazki.elektroda.pl/5631733100_1... [syntax=vbnet] $regfile = "m8def.dat" $crystal = 8000000 $hwstack = 64 $swstack = 32 $framesize = 32 Config Timer2 = Timer , Prescale = 1 , Compare = Toggle , Clear Timer = 1 Compare2...
Ok, a jak to się będzie miało do samego programu napisanego na 1Mhz ? Nigdy jeszcze z zewnętrznym kwarcem do czynienia nie miałem. W jaki sposób należy programowo z niego skorzystać? Normalnie Timer2 jest taktowany z tegosamego zegara co microkontroller. Aby uzyskac taktowanie z rezonatora 'zegarkowego' podłączonego do pinów XTAL1/XTAL2, potrzebujesz...
Coś mi się nie podoba część dotycząca PWM (bez dogłębnej analizy programu). Powodem jest zmiana wartości Timer2 w programie. Załączę poniżej program, którym próbowałem działanie PWM'ów na M8. (Komentarze dotyczą Timera1, a poniższy program utuchamia Timer2) Program działa w 2 pętlkach - jedna zwiększa wypełnienie i kiedu dojdzie do max druga petla zaczyna...
Masz część programu którym steruję diody RGB u siebie w pokoju. Jest to mój programik testowy, dodatkowo wyjściami PWM można sterować pilotem Rc5. Korzystałem z niego przed napisaniem właściwego softu. W Bascomie jest błąd jeśli chodzi o trzeci kanał (wyjście OC2). Nie "sterujesz" nim przez pwm.., tylko ocr2=... Myśle że dojdziesz na podstawie przykładu....
Proszę. Gotowe bo jak widzę kilka If`ów do tej samej zmiennej zamiast Select Case i tym podobne kwiatki... [syntax=vbnet]$regfile = "m32def.dat" $crystal = 11059200 $hwstack = 64 $swstack = 16 $framesize = 64 Const Timeout_time = 8 'x500ms Config Submode = New ' config LCD 2X16 Config Lcdpin = Pin , Rs = Porta.2 , E = Porta.3 , Db4 = Porta.4 , Db5 =...
To jest przykład dla Atmega8, nie wiem czy pomoże: $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.4 , Db6 = Portc.5 , Db7 = Portd.0 , E = Portc.2 , Rs = Portc.1 Config Pinb.1 = Output Config Pinb.2 = Output Config Pinb.3 = Output Cursor Off Cls Rem konfiguracja portów Dim R As...
Nie chce mi się zagłębiać dalej w pisanie. Tych trybów możesz sobie dopisać ile chcesz. I jak Przewijajac menu naciśniesz Set to zmień tryb na, na przykład, "Ustawiam_temp" i w tym trybie znów przyciski Plus i Minus bedą działać dla zmiennej ustawianej. Potem naciskasz ESC i wracasz do trybu jakiego chcesz.. to proste i pewne. [syntax=basic4gl]$regfile...
Policzyłem dla AVCC, to jednak nieważne. Zobacz jak korzystać z symulatora w takich sytuacjach. Zmieniłem trochę Twój kod (miał też błąd w obsłudze przerwania bo zaraz pod Select case miałeś ustawianie portów bez żadnego Case. Przeniosłem więc tę linię powyżej Select Case) Wracając do symulatora to każdy ruch suwaka w symulatorze powoduje teraz printowanie...
A potrafi ktoś obsługiwać ten timer2? Kolega wyżej objaśnił ci to dostatecznie w twoim ojczystym języku. Jeżeli masz z tym trudności to może to będzie pomocne: [code][syntax=basic4gl] ' Must use the internal RC oscillator at 8MHz or at 1MHz because ' a 32.768 kHz watch crystal must be connected between the TOSC1 and TOSC2 pins. ' $regfile = "m8def.dat"...
łatwiej się już chyba nie da. Sorki, ale ja bym raczej powiedział, że: "JUŻ GORZEJ SIĘ NIE DA :(" Co to za rozwiązanie gdzie w środku siedzi jeszcze obrzydliwy Wait !!! brrr ale żeby nie być gołosłownym, który tylko krytykuje.... Ok, panowie - widzę, że wasze zmagania spełzają na niczym, pokażę wam więc jak się powinno podchodzić do programowania....
Łap. Przypomniałem sobie że miałem dwie płytki z RS485 na pokładzie i komplet kabli z innego projektu(most RS poprzez ETHERNET). W każdym miejscu gdzie podłączam RS`a mam zawsze dwa gniazda więc mogę je łączyć albo podglądać terminalem. W kodach Slave ustawiasz adres stałą My_ID. Z racji tego, że na szybko, miałem tylko dwa to testowałem adresy 3 i...
Ten program jest taki, że nie wiadomo od czego zacząć poprawiać. Najlepiej byłoby go napisać od nowa :D Niemniej poprawiłem to co ewidentnie musiało być poprawione. Tak na marginesie to nie wiem co za magik wymyślił te ponowne włączanie przerwań w obsłudze przerwania po to tylko by odebrać kod RC5 w przerwaniu. Ludzie to małpują i kłopoty gotowe. Sprawdź...
[syntax=basic4gl] Config Timer1 = Timer , Prescale = 8 'Parametr Prescale może być równy:1, 8, 64, 256 lub 1024 [/syntax] Potem w programie możesz sobie odczytywać zawartość tego licznika w następujący sposób (np.): [syntax=basic4gl] Stan = Timer1 'Zmienna Stan typu Word [/syntax] robiw
... Przecież o to mi chodziło- jak pozbyć się wait albo w C- _delay. Jakiś czas temu, napisałem taki prościutki program na M8, w którym "delajów", "waitów' i.t.p flag nie uświadczysz, nawet programu głównego nie ma . Jest to termometr na jednym DS18B20 i czterech wyświetlaczach 7-seg. Program jest na tyle prosty, że ... no comment :-P $regfile = "m8def.dat"...
Pozwolę sobie umieścić post pod postem żeby wiadomość dotarła do zainteresowanego. Jeszcze lepszym wyjściem dla takiego zegara będzie zastosowanie dedykowanego rezonatorka 32768Hz (32,768KHz) Wartość 32768 to w zapisie binarnym dokładnie piętnaście bitów. Jeśli więc Timer będzie zliczał generowane impulsy to po 32768 uzna że mineła sekunda :D Bascom...
GETRC5 używa licznika TIMER0. Albo TIMER2 jeśli go układ posiada i tak go skonfigurujesz w CONFIG RC5. Aby ustrzec się dziwnych błędów (z adresami linii poza programem) nie zapomnij o wpisaniu nazwy pinu w CONFIG RC5. Sam kod bazuje na dokumentach ATMELa: http://www.atmel.com/dyn/resources/prod_... I tam można całą procedurę prześledzić....
Błąd kompilatora. Po wykonaniu Config Timer0 nie jest zapamiętywana bieżąca zawartość rejestrów TCCR0x wewnątrz kompilatora. Przy wywołaniu Start Timer0 odtwarzana jest wartość 0 w rejestrze TCCR0B, a powinno być wpisane 5. Zgłosić do działu wsparcia i czekać na poprawienie. A tymczasem zamiast START i STOP: skonfigurować licznik, zapamiętać zawartość...
ten timer włączyłeś? W bascomie uzyles pewnie config clock=soft Więc jesli z punktu widzenia konfiguracji timera i procesora jest wszystko ok, to przyczyna moze byc jedna: kwarc nie oscyluje. Spróbuj podotykać np. pęsetą (trzymając ją mocno w ręku) pinów kwarca. Jesli zaczną przeskakiwać sekundy to błąd jest w kwarcu == wymień kwarc. Ta sytuacja tez...
Witam ogarnąłem już dużo na temat programowania w bascom, tylko mam kolejny problem, mianowicie chciałbym zaprogramować obsługę serwa pilotem nadającym w RC5 lecz gdy połączę obsługę rc5 i serwa mam takie błędy i nic nie działa: ........ Pojedynczo programy działają ok. ................. Rc5+ servo (nie działa) Pozdrawiam. Zauważ że zarówno 'Config...
Config Pinb.3 = Output 'Config Timer0 = Pwm , Prescale = 1 , Compare Pwm = Clear Down Set Tccr0.pwm0 Set Tccr0.com00 Set Tccr0.com01 Set Tccr0.cs00 Ocr0 = 127 'T2 już normalnie ;) Config Timer2 = Pwm , Prescale = 1 , Compare Pwm = Clear Down Ocr2 = 127
Witam, chciałbym przy użyciu Atmega8 i zewnętrznego kwarcu odmierzać i zliczać setne części sekund, sekundę mogę łatwo wyłapać z timera1 według przykładowych obliczeń 4000000MHz / 256 = 15625 65536 - 15625 = 49911 lub 8000000Mhz / 256 = 31250 65536 - 31250 = 34286 Nie mam jednak pomysłu jak....... Z góry dziękuję za pomocne wypowiedzi. Aby odmierzac...
http://obrazki.elektroda.net/58_12683679... Witam kolegów Jest to moja pierwsza konstrukcja jaką chciałbym zaprezentować na łamach DIY - mam nadzieję że się spodoba. Przedstawiam zbudowany przeze mnie sterownik 40 diod RGB. Konstrukcja sterownika jest dość prosta, na płytce mamy garść elementów m.in: -Stabilizator LM7805 + radiatorek + kondensatory...
Instrukcję napisałeś dobrze. Zastępuje ona instrukcję Config Timer2 oraz instrukcję Start Timer2. Usuń instrukcje Config Timer2 oraz Enable Timer2. teraz jeszcze trzeba skonfigurować Timer2 do generacji przerwania. Musisz do rejestru TIMSK wpisać bit TOIE2.
Ustawienia z jakiegoś starego projektu: Config Timer2 = Pwm , Async = Off , Compare = Set , Pwm = On , Compare Pwm = Clear Up , Prescale = 1
Wszystko wyjaśniłem w Post #5. Dodano po 16 Wewnętrzny oscylator nie ma nic wspólnego z kwarcem 32.768 . Oscylator ten napędza sam uC, natomiast kwarc zegarkowy ma napędzać dodatkowo jakiś timer.W przypadku Bascom jest to Timer2, gdzie są dodatkowe instrukcje do ustawienia i pracuje asynchronicznie. Przykład w Bascom. Config Timer2 = Timer , Async =...
Pod tym linkiem [url=https://bart-projects-forum.cba.pl/... znajdziesz dwa, na pewno działające, kody do QM5883L i HM5883L. Te moduły nie są zamienne wprost i dlatego kody są dwa. Mogę tak napisać bo to moje kody które sam napisałem i sprawdziłem :D Mam gdzieś z tego film. Jak znajdę to wrzucę. Wszystko było uruchamiane...
Zacznijmy od tego, że w Tiny2313 nie ma ADC więc tu pytanie jest bezprzedmiotowe :D W Tiny261 timery są ciut nowsze niż w przypadku Mega8 i Tiny13. Wystepują tam już podwójne rejestry dla Timera0. Są to odpowiednio A i B czyli COMPARE 0 A i COMPARE 0 B. Zero odbosi się właśnie do Timera 0 Ogólnie dla nowszych prockow AVR jest to normą że tych rejestrów...
Witam Szukam i szukam i nie mogę znaleźć odpowiedzi dlaczego poniższy kod nie działa? '[syntax=vbnet] Config Timer2 = Timer , Async = On , Prescale = 128 On Timer2 Sectic Enable Interrupts Enable Timer2 'Config Clock = Soft , Gosub = Sectic [/syntax] Mam klon arduinoMega2560 i dołączony kwarc zegarkowy do TOSC1 i TOSC2,gdy użyję "Config Clock" działa...
Połowa mostka H : https://obrazki.elektroda.pl/9842884200_... Obecnie są takie napięcia zasilania. Jutro wrzucę kod w Bascomie. [syntax=vbnet] Config Portd.0 = Output Config Portd.1 = Output Config Portd.2 = Output Config Portd.3 = Output Portd.0 = 0 Portd.1 = 1 Portd.2 = 0 Portd.3 = 1 Dim X1 As Byte Config Timer1 = Timer , Prescale...
Timer2 jest nieco inny niż Timer1. Timer2 w M8 może pobierać sygnał zegarowy z oscylatora taktującego procesor bądź z kwarcu małej częstotliwości. Spróbuj dodać do Config Timer2 ASYNC = OFF . Skieruje to do Timera 2 sygnał zegarowy generatora uC. P. S. Jak chcesz sprawdź to sobie ustawieniach rejestrów. Mnie się nie chciało. Poczytaj sobie helpa. No...
Jakie dałeś kondensatory? Lepiej dać ckopt=0 i wywalić je stamtąd. Kwarce 32.768 pracują z mikrokontrolerami, nawet Timer 2 jest do tego przystosowany :) Dodano po 50 Nie znam się na bascomie ale spróbuj dodać linię: Config Timer2 = Timer , ASYNC = 1 , Prescale = 128 Kondensatory 24pF. CKOPT = 0 też próbowałem. ATmega8 podstawiona. Dzięki za podpowiedź,...
Program ma pobierać dane z tablic i ustawiać odpowiednie bity na PORTB. Timer0 ma co 0,5s pobrać z tabeli aktualną prędkość z jaką timer2 ma zmieniać stan na PORTB. Osobno timer'y działają, razem nie chcą . [syntax=vbnet] $regfile = "m2560def.dat" $crystal = 16000000 Config Portb.7 = Output Config Portb.6 = Output Config Portb.5 = Output Config Portb.4...
https://obrazki.elektroda.pl/2718988000_... Witajcie moi drodzy W tym temacie pokażę jak każdy początkujący może najprościej uruchomić w warunkach amatorskich mikrokontroler PIC32MX795F512H bez potrzeby trawienia/kupowania pod niego konkretnego PCB. Oprócz minimalnego niezbędnego układu pracy tego mikrokontrolera umieszczę tutaj kilka...
Szkoda czasu na przeładowanie Timera jeśli może on pracować w trybie CTC. Ustawiasz raz i zapominasz. Poniżej przykładowy kod dla 50Hz ze stałym wypełnieniem (zakomentowane) lub regulowanym. [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 16000000 Config Portb.1 = Output Led Alias Portb.1 Config Portc.5 = Output Freq Alias Portc.5 '### Ustawienia...
W Helpie Bascoma jast następująca informacja: Config Timer2 = Timer , ASYNC = 1 , Prescale = 128 On TIMER2 Myisr ENABLE INTERRUPTS ENABLE TIMER2 DO LOOP MYISR: 'get here every second with a 32768 Hz xtal RETURN Może zmień ON na 1?
ewentualnie PWM i tranzystor ... wtedy mozna procesorem płynnie zmieniać jasność podświetlania CONFIG TIMER1 CONFIG TIMER2 tym sie chyba to w bascomie ostawiało ... poczytaj w manualu
Witam Mój problem to brak kompilacji przy konfiguracji Timer2 w tryb Counter Unknown CONFIG parameter Porblem polega na tym że w helpie BASCOM-AVR można konfigurować Timer 2 w tryb Counter. Wrzucam cały kod :[syntax=basic4gl] $regfile = "m16def.dat" $crystal = 16000000 Dim Freq As Long Const Licznik = 2789 Config Timer1 = Timer , Prescale = 256 Config...
Nie wiem tylko o co chodzi z tym CTC $regfile = "m8def.dat" $crystal = 1000000 Config PortB = Output Config Timer2 = Timer , Prescale = 8 , Compare = Toggle , Clear Timer = 1 Enable Interrupts Enable Timer2 Do Loop
Ja bym zdeassemblował kod i zobaczył jak BASCOM robi to na Timerze0 i tak samo bym to zrobił na Timerze2 ;) Dodano po 13 Na początek: $regfile = "M16def.dat" $hwstack = 32 $swstack = 32 $framesize = 32 $crystal = 16000000 '---------------------------------------... Dim Licznik_servo As Byte Dim Servo As...
Pierwsze co się rzuca mi w oczy to: Config Timer2 = Timer , Prescale = 64 Load Timer2 = 193 On Timer2 Program Ale potem... Program: Load Timer0 = 193 Czemu nie Load Timer2 = 193 ?
Już działa. Żeby było ok, trzeba ustawić bity wrejestrze TCCR2 : Config Timer2 = Pwm , Async = Off , Prescale = 1024 , Pwm = On , Compare Pwm = Clear Down Reset Tccr2.com20 Set Tccr2.com21 Enable Interrupts Enable Timer2 Compare2 = 20 I teraz jest dobrze. Ale teraz - jak ustawić timer 0 jako PWM ? Bo config timer0 = pwm wywala mi błąd kompilatora.
Zbudowałem sobie taki oto układ termometru i zegara oparty na atmega16 i wyświetlaczu lcd. I wszystko działa jak należy ale nie do końca. Temperatura wyświetlana na lcd strasznie skacze po różnych wartościach w przeciągu paru sekund tzn. jak np. w pokoju jest 20 stopni to on wskazuje raz właśnie te 20 raz 19 czasami 21 albo 14 15 czy 16 stopni celcjusza....
config timer2 atmega przerwania timer2 przerwa timer2
schemat agregatu trójfazowego uzyskiwanie energii konfigurować internet windows
ue40d5000 podświetlenie ue40d5000 podświetlenie
Najlepsze suszarki Bosch: WTX87KH0PL i WTX87EH0PL Komunikat "96" w Honda CR-V 1996 - możliwe przyczyny