Uruchomić timer w trybie CTC. Tryb CTC [syntax=vbnet]CONFIG TIMER1 = ..... CLEAR TIMER = 1[/syntax]
OPIS FUNKCJI LOAD Action Load specified TIMER with a reload value. . . . It will do the calculation. (256-value) So LOAD TIMER0, 10 will load the TIMER0 with a value of 246 so that it will overflow after 10 ticks. TIMER1 is a 16 bit counter so it will be loaded with the value of 65536-value. Czyli u ciebie ładuje 65536 - 65436 = 100 Przepełnienie właśnie...
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...
. Zamierzam zrobić tak by mogli wprowadzić korektę (jeśli będzie potrzebna) i zapisać w eeprom. czy to dobry pomysł? Jakoś tak; $Crystal=12000000 Config Timer1 = Timer , Prescale = 8 On Timer1 Inter_1mS Inter_1mS: Counter1 = Counter1 + Licznik (64036 - wychodzi z obliczeń, że da to 1ms) /tu odliczę sobie 103/ Błednie to rozumujesz, albo błednie podałeś...
Najpierw dajesz Config INT0=Falling Wprowadzasz zmienną opisującą wybrane zbocze wyzwalające przerwanie (Edge_) i w procedurze obsługi tego przerwania: If Edge_ =0 Then Start Timer1 Config INT0=Rising Else Stop Timer1 Config INT0=Falling End If Niektóre AVR'y umożliwiają konfigurację typu Config INT0= Change Wtedy przerwanie wywoływane będzie po stwierdzeniu...
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...
tak zamierzone to jest, chodzi o to ze jak wejdzie w przerwanie to program sie tam zapetli i nie bedzie mi inkrementowal zmiennej "zmienna" i bede widzial na wyswietlaczu ze jestem w przerwaniu... jak sie usunie petle do/loop to tez nie wchodzi w przerwanie.
coś takiego: Przerwanie_timer1: 'przerwanie co 0,0015625 sekundy (640Hz) Ie = &B00000000 'wylacz przerwania Th1 = &HFC : Tl1 = &H00 P3.7 = 1 : P1.0 = 1 : P1.1 = 1 : P1.6 = 1 : P1.7 = 1 Incr Wyswietlacz_licznik If Wyswietlacz_licznik = 5 Then Wyswietlacz_licznik = 0 Wyswietlacz_dane = Poczatek_wyswietlacz_cyfra_kopia...
Robi się to prosto na wejściu ICP Atmegi, mierzysz czas pomiędzy kolejnymi zboczami, raz jest opadające, raz narastające itd.. potem to tylko interpretacja wyników, liczenie bitów i po odliczeniu 64 bitów z transmitowanych 66, bo dwa ostatnie dla uproszczenia procedury pomijasz. wyświetlasz na LCD lub wysyłasz po RS232 do komputera, a tam wyświetlasz...
Program zajmuje 50%. Może i jest źle napisany ale działa.. Ja bym to stwirdzenie troche skorygował; Program działa tak jak jest napisany!... bo - "Jest jeszcze jeden problem." Co jakiś czas temperatura podskakuje o 10 stopni a czasami nawet do 200 podskoczyło co spowodowało zbędne załączenie przekaźnika. Z czym jest problem? Popatrz na pracę timera0,...
Z dwoma bajtami uC i Dallas w 5ms wyrobią się spokojnie. Problemem jest brak synchronizacji pomiędzy przerwaniami generowanymi przez Timer a funkcją Waitms. Ponieważ przerwanie występuje teraz co 5ms to można w nim ustawić flagę że własnie się zakończyło. Wtedy w pętli głównej możesz sobie spokojnie liczyć te flagi. 50x 5ms = 250ms co bardzo tu pasuje....
Witam, Atmega 8, Timer1. Prosty generator: przerwanie od timera1 ze skróconym cyklem, pętla główna pusta, w przerwaniu zmieniam stan portu. Niby proste... Oto kod: http://obrazki.elektroda.pl/8467182600_1... Są to regularne skrócenia cyklu z 1.085ms na 0.6355ms. Proszę o wyjaśnienie co to jest i jak sie tego pozbyć?
http://obrazki.elektroda.pl/7329866000_1... Miernik częstotliwości o całkiem niezłych parametrach, bo potrafiący mierzyć częstotliwości od 1Hz do 10MHz (9,999,999Hz) z rozdzielczością 1Hz w całym zakresie. Idealny do generatorów funkcyjnych lub jako zwykły miernik. Do tego tani i prosty w wykonaniu, z ogólnodostępnych części, a małe wymiary...
http://obrazki.elektroda.pl/3089511800_1... Witam, dziś prezentuje swój bezprzewodowy termometr pracujący na częstotliwości 433 MHz. Urządzenie składa się z nadajnika i odbiornika. Nadajnik odczytuje temperaturę pieca C.O. i wysyła ją do odbiornika. W odbiorniku mamy możliwość ustalenia górnego i dolnego progu załączenia alarmu, który...
http://obrazki.elektroda.pl/9838687700_1... Trochę z obawą prezentuję kolejny już na elektrodzie sterownik oświetlenia, no bo ileż tego już tutaj było? A jednak nie znalazłem rozwiązania mnie zadowalającego, dlatego też powstał niżej prezentowany układ, powstał ponieważ klasyczne lampy z czujnikami ruchu mają pewną zasadniczą wadę:...
Witam! Od kilku dni siedze i nie mogę nic wymyśleć :( Bez ogrudek - podaje źródło: $regfile = "m16def.dat" $crystal = 8000000 'definiowanie zmiennych i stałych Dim T As Integer Dim Licznik_przerwan As Byte Dim Dioda As Bit 'konfigurowanie interfejsu 1Wire Config 1wire = Portd.1 'konfiguracja wyświetlacza Config Lcdpin = Pin , Db4 = Portc.6...
Sorry że post pod postem, ale teraz to już sprawa życia (prace dyplomową muszę oddać do 30 III 05) Jak zrobić w BASCOM AVR żeby Timer1 kiedy osiągnie zadaną wartość wygenerował przerwanie (nie przez przepełnienie) PROSZĘ O POMOC!
Witam. Uruchomiłem mój prototypowy zegar widmowy lecz mam mały problem. Pozycjonowanie obrazu zrealizowałem za pomocą halotronu podpiętego pod int0. Problem polega na tym że wraz z ustawiniem wartości zmiennej A w przerwaniu od int0 wartość timera1 odmierzająca stałe odcinki czasu nie zostaje resetowana co skutkuje drżeniem obrazu. W jaki sposób w bascomie...
witam wszystkich mam problem z niedziałającymi przerwaniami napisałem program który dobrze funkcjonował pod wersją bascoma 1.11.7.1 . ściągnołem najnowszą 1.11.8.3 bo w tej poprzedniej nie mogłem wysterować LCD w trybie 8 bitów . okazało się że programy wykorzystujące timery nie działają . co się zmieniło w obsłudze timerów ? może podeśle ktoś działający...
Witam. Mam problem z przerwaniami w atmega8. Wcześniej nie potrzebowałem przerwań więc to zagadnienie mnie nie interesowało. Potrzebuję wywołać przerwanie zewnętrzne int0 które uruchomi timer1, a ten zacznie odmierzać czas. Napisałem coś takiego (oczywiście to część z większego projektu) '$sim $regfile = "m8def.dat" 'informuje kompilator o...
Witam. CZy jest ktos kto jest dobrze obeznany w obsludze przerwan z poziomu BASCOMA. Procek Atmega8 Otoz moj problem polega na konflikcie tych dwoch przerwan. Timer1 obsluguje mi odliczanie czasu np 100ms. tzn po nastawionym czasie zalacza sie przekaznik poprzez podanie syg wysokiego na tranzystor.i ustawiana jest flaga zalczenia Timer0 sluzy do podawania...
Witam, pisze program w którym wykorzystuję 16 bitowy Timer1 z Atmegi 328. Najpierw konfiguruję go tak: [syntax=vbnet]Config Timer1 = Timer , Prescale = 64 'Kwarc 18.43MHz, 1/18430000 * 64 = 3.473us Enable Timer1 On Timer1 Impulsuj 'ISR[/syntax] a potem mam procedurę przerwania której zadaniem testowym jest wygenerować przebieg prostokątny: [syntax=vbnet]'---------------------ISR....
Witam! Program pisany w Bascomie, jest to prosty programik ktory pokazuje temperature w aucie, przejechany dystans itd. Timer0 wykorzystywany jest jako licznik (zlicza impulsy drogi), przy przepelnieniu licznika wywolywane jest przerwanie. Timer1 wykorzystywany jest jako timer, odmierzam nim 1ms, czyli co 1ms wywolywane jest przerwanie. Problem polega...
Witam. Mam problem z obsługą Timera0 w ATmedze 8, otóż próbuję go uruchomić i zatrzymać za pomocą switchy. Problem w tym że mi to nie za bardzo wychodzi. [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4 , E = Portd.7 , Rs = Portb.0 Config...
Koledzy znając życie to pewnie problem wynika z mojej niewiedzy. Mam podprogram Który ma mi zliczyć czasu załączenia pompy. W tym celu wykorzystałem sobie przerwanie które generuje mi przepełnienie co 500ms. W warunku Flagi 500ms jest zmienna (kala(n))która jest zwiększana co 500ms jeśli pompa jest załączona. Załączam sobie pompę np na 3,5s czyli zmienna...
Mam problem z włanczaniem i wyłanczaniem przerwań w ATmega 8535. potrzebuje odczytywać dane z RS(5 bajtów )i meć włonczony zegar RTC, któty by rejestrował czas pojawienia się w buforze znaku. Bascomowa instrukcja inkey() użyta przeze mnie powoduje ze zegar stoi w miejscu. Jak napisać procedure przerwania ??????? Pomuzcie adelmus12
Witam Jak zatrzymać pętlę naliczania timer0, gdy na wyświetlaczu 7-seg. wyświetli się oczekiwana liczba nap.; 99min i 99sek, Czemu te polecenie nie działa? Dim R As Byte , S As Byte , T As Byte R = Jedsek + Dziesek S = Jedmin + Dziemin T = R + S If T > 36 Then stop timer0 End If
Witam Mam takie pytanie.. Czy Bascom potrafi symulować przerwania od Tmerów?? Chodzi mi o to ze gdy napiszę taki program : Config Lcd = 20 * 2 Config Timer0 = Timer , Prescale = 64 Enable Interrupts Enable Timer0 Start Timer0 On Timer0 Etyk Do Loop Etyk: 'tu program obsługi przerwania return To sam nie wchodzi do obsługi przerwania. Zrobi to jedynie...
Mam taki fragment kodu: Config Portb = Output Portb.0 = 1 Config Portd = Output Config Portc = Output Config Porta = Input Declare Sub Kolor 'podprogram - nazwa Enable Interrupts ' zezwolenie na obsługę przerwań Config Timer0 = Timer , Prescale = 1024 Enable Timer0 On Timer0 Kolor Timer0 = 1 Do 'program Loop Kolor: 'poczatek podprogramu If Portb.0...
Cześć. Męczę właśnie napęd na silniku krokowym i wszystko by grało gdyby nie to, że motor w nieregularnych odstępach czasu zatrzymuje się na chwilę (też nie określoną) i startuje dalej. Silnik pędzony jest "na pół kroku". Zmienna X ma regulować prędkość silnika. Zamieszczam kod, co może być nie tak? [syntax=vbnet] $regfile = "m8def.dat" $crystal = 8000000...
Witam! Uczę się Bascoma i postanowiłem napisać "stoper" sterowany z pilota (pilot nadaje w standardzie rc5). Najpierw napisałem pętlę odpowiadającą za ustawienie stopera za pomocą pilota. Zrobiłem to za pomocą przerwania INT0. Wszystko działało jak należy. Problem się zaczął jak skonfigurowałem timer0 do pracy jako timer. Program przestał reagować na...
Zaczynam dopiero programować i mam problem z TIMER = COUNTER . Chce by o zliczeniu ilości impulsów procesor wykonał np: zmianę stanu portu lub coś innego . To jest program : [syntax=bascom] $regfile = "m32def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , Db7 = Porta.5 , E = Porta.1...
W chwili gdy obsługuje 1-Wire, Bascom ZAWSZE nawet na czas generowania resetu, co trawa ok 500us, później presence, co daje razem ok 800us, zawiesza przerwania. To samo w czasie transmisji danych, transmisja bajtu to ponad 500us zawieszone przerwania. W tym czasie nie wykona się przerwanie od timera, od i cała tajemnica. Ale zabobony. Każdy może otworzyć...
Jak sinus ma przejść pełen to przerwanie wyłączaj i podawaj statyczny stan ciągle na triaka.
Przyłącze się do pytania Wykożystuję Timer1 i przerwanie występuje co 0,2s i program wykonywany podczas tego przerwania trwa ok 0,12s. Jeśli w programie zawieram, że po przyciśnięciu klawisza ma być dźwięk (Sound Portb.0 , 200 , 1000 ), to przerywany jest dźwięk Timerem1. Jak powinienem to zrobić , ale proszę o wytłumaczenie laikowi, bo wiedzę mam naprawdę...
Witam. W pewnym sofcie dla Atmega16 wykorzystałem już: - Timer1 (16 bit) do odliczania 0,0001s odcinków czasu - Timer2 (8 bit) jest wykorzystywany przez odbiornik podczerwieni (instrukcja getrc5) Timer 0 niby jest wolny, ale nie wiem / nie jestem pewien czy nie jest on wykorzystywany przez jakieś używane przeze mnie instrukcje (np. print dla sprzętowego...
juz to robie w inny sposob, ale teraz mecze sie nad czyms innym... chce zrobic licznik impulsow zewnetrznych, na timerze 1 ale nie za bardzo chce mi to wyjsc... po prostu program nie chce wejsc mi w przerwanie :( czy moglby mi ktos napisac co powinienem ustawic poza: config Timer1 = timer, prescale = 1 set (pin tam gdzie jest t1) (pin gdfzie...
Emarus, dokładnie jak pisze Wojtek. Przerwanie leci co 4ms W podprogramie przerwania zliczam je 25 razy aż osiągnę 100ms i wtedy wystawiam sobie flagę irq100ms
Komenda RC5Send jest napisana na podstawie tej noty aplikacyjnej [url=http://www.mcselec.com/index.php?op... #105 - Sending RC5 and SONY IR codes . Timer jest skonfigurowany chyba jako CTC, jeżeli procek posiada drugi kanał dla timera1 to mógłbyś wykorzystać przerwanie TIMER1_COMPB. Można też próbować zmodyfikować...
Dim Licznik As Byte Enable Interrupts 'Przerwania odblokowane '---------------------------------KONFIG... TIMER 0---------------------------------------... Config Timer1 = Timer , Prescale = 1 Counter1 = 59536 'Wywołąnie co 1ms Enable Timer1 'Odblokowane przerwanie TIMER 1 On Timer1 Procedura_w_przerwaniu_timer1 Procedura_w_przerwaniu_timer1:...
Jakie są założenia co do rozdzielczości oraz stabilności generowanej częstotliwości (jitter) ? Generacje częstotliwości kHz na AVR najlepiej zrobić przez zastosowanie DDS. jeden timer w ctc generuje przerwanie w równych odstępach, resztę załatwia się w przerwaniu (trochę tylko kiepsko bo bascom zmarnotrawi dużo czasu- najlepiej tę część napisać w asm).
Jeśli pomiędzy przerwaniem od timera a wpisaniem do niego nowej wartości upływa zbyt "długi" czas to może się okazać, że timer zgłosił przerwanie w międzyczasie, które zostanie uwzględnione jeśli zapiszemy Timer1 = Timer1+wartość, a utracone jeśli zastosujemy Timer1 = wartość.
Witam Napisałem taki oto programik w bascomie, chce aby przerwanie bylo co 10ms. Mam jednak pewne zastrzeżenia do Bascom'u i nie jestem pewien czy w praktyce te 10ms bedzie dokładne ?? ile taktów zegara potrzeba na wpisanie wartosci dla timera oraz jego wystartowanie ?? gdzies wyczytalem ze 54 takty, ale nie jestem pewien tego. $crystal = 12000000 $large...
A ja z kolei znalazłem gdzieś taki programik: Enable Interrupts Config Timer0 = Timer , Prescale = 64 On Timer0 Tim Enable Timer0 Dim M As Byte Do Loop End Tim: Timer0 = 6 Incr M Return Jeśli dobrze licze, to przy kwarcu 4MHz przerwanie będzie wywołane co 4ms, zgadza się? Jak to wszystko przeliczać na Hz? Pozdrawiam
Święta prawda, przecież triak to takie dwa przeciwsobnie podłączone tyrystory (i ja mam 4.0 z energoelektroniki w indeksie ? :D). Dobra, co nie zmienia faktu, że mój program teoretycznie jest dobry, gdyż działa w/g takiego algorytmu: - napięcie przechodzi przez zero, generuje się przerwanie Int0 -obsługa tego przerwania wyłącza triak (choć prawdopodobnie...
Witam, Mam problem z pomiarem czasu trwania impulsu. Próbowałem różnych sposobów, siedzę już nad tym 3 dzień i nic mi nie wychodzi. Na wejście INT0 atmegi32 podaję sygnał np. 30Hz i wypełnieniu 15%. Sygnał jest stabilny więc tutaj problem odpada. Potrzebuję zmierzyć czas trwania stanu wysokiego. W programie który stworzyłem na wyświetlaczu wyświetla...
Poczekam aż umieścisz jakiś kod bo już jeden post wywaliłem do kosza bo zamieściłeś ten drugi kod. Usuń tę linię z dyrektywą $prog bo oznacza zewnętrzny sygnał zegarowy i włączony JTAG a to na pewno nie to na czym Ci zależy ;) Enable Timer1 oznacza "włącz przerwanie od przepełnienia się Timer1" a nigdzie nie obsługujesz tego przerwania. Do niczego Ci...
nic panowie nie czytacie :P ładuje watrością nie 65000 tylko 55000 a to różnica :) Napisałem ze usiłuję uzyskać przerwanie 10ms przy kwarcu 8MHz w drugim poście. Jeśli chodzi o ustawiania portów itd to pomijam takie rzeczy żeby nie zaciemniać. Z tym że: Panowie na ten moment nie jest to problemem zupełnie ponieważ timer nie odpowiada nawet bez początkowego...
Przepraszam za dłuższą nieobecność. Nie mając nic nowego (i mądrego) nie pisałem. Ale w międzyczasie polutowałem zestaw startowy, a ostatnio napisałem inny program, który umożliwia (w zamyśle) liczenie dokładniej częstotliwości dla "paczki" impulsów, tym razem około 500 Hz. Wiem, że to dosyć skomplikowany tok myślenia, pewnie można to zrobić prościej,...
To będzie jakoś tak ?? $crystal = 12000000 Config Timer1 = Timer Gate = Internal Mode = 2 Enable Timer1 Enable Interrupts Dim P1 As Byte Dim P2 As Byte P1 = 1 Load Timer1 , 100 Start Timer1 On Timer1 Przerwanie If P1 < P2 Then P1.4 = 1 Else P1.4 = 0 Przerwanie: Incr Pwm1 Nie wiem czy przypadkiem gdzieś nie powinna być pętla, bo po zakończeniu...
Witajcie ! Mam taką zamotaną sytuację. Na początek kod, albo raczej jego istotne fragmenty: [syntax=basic4gl] $regfile = "m32def.dat" $crystal = 16000000 $hwstack = 128 $swstack = 128 $framesize = 128 Config Timer1 = Timer , Prescale = 8 , Clear Timer = 1 , Compare A = Toggle Enable Interrupts Start Timer1 On Oc1a Timer1_isr Enable Timer1 Ocr1a = 50...
Program który przedstawiłeś nijak się ma do tego co chcesz osiągnąć. Nie wiadomo co to za zmienna Time1 i po co jest porównywana z jakimiś dziwnymi wartościami. Zacznij może tak. Prescaler=64 to za mało żeby odmierzyć dwie sekundy - musi być co najmniej 256. Skoro impulsy przychodzą na PD.3 to aż się prosi żeby wykorzystać przerwanie Int1. W przerwaniu...
A skąd wytrzasnąłeś te 46875 :?: Pisano o tym setki razy , ale powtórzę ;) przyklad w Bascomie: $Crystal = 4000000 Const T1_value = 65536 - ( _xtal / 64 / 4) ... Timer1 = T1_value Zważywszy , że Bascom generuje procedury przerwania ... powiedzmy nieciekawie , to proponuję zmodyfikować stałą T1_value do postaci Const T1_value = 65536 - ( _xtal...
Zamiast Config Timer1 wstaw: [syntax=basic4gl]Config Timer2 = Timer , Async = On , Prescale = 128 , Compare = Disconnect , Clear Timer = 0 , Pwm = Off , Compare Pwm = Disconnect[/syntax] Przerwanie nastąpi co sekundę. Później zamiast [syntax=basic4gl]On Timer1 Czas[/syntax] wstaw [syntax=basic4gl]On Ovf2 Czas[/syntax] Powinien działać. No i kwarc zegarkowy...
Dzięki wielkie !! Pomogło , aczkolwiek nie rozumiem dlaczego bez tego też czasem działało zależnie od kolejności wpisów ? Teraz działa OK bez względu na kolejność wpisów, i reszty (czyli początku programu w którym pewnie jest mnóstwo innych błędów :-) ) [syntax=vbnet] $regfile = "m2560def.dat" ' specify the used micro $crystal = 16000000 ' used crystal...
nie znam bascoma, ale sprobuj tak: Przeint0: If Flaga_int0 = 1 Then Start Timer1 Flaga_int0 = 0 'Timer1 = 0 Else Stop Timer1 Wynikczas = Timer1 Timer1 = 0 Flaga_int0 = 1 End If Może kawałek kodu z C coś ci pomoże: // timer tryb cnt, przerwanie co 50us ASSR=0x00; TCCR2=0x0a; TCNT2=0x00; OCR2=0x31; interrupt [TIM2_COMP] void timer2_comp_isr(void) { ++czas;...
jezeli chodzi o czasy zegara to nie sa az tak bardzo tragiczne (od 60 do 100 us) wiec chyba Bascom sobie z tym poradzi, w moim programie mam generator na timer1 ktory dla kwarcu 8MHz (prescaler = 64)i wartosci w rejestrze licznika 65530 daje mi przerwanie co 40us... moze juz ktos napisal taka komunikacje i moze sie podzielic doswiadczeniami ?? Pozdrawiam
Witam, Nie będę zakładał nowego tematu. Mam podobny problem. Atmega 2560 + 16Mhz. Przy tym ustawieniu timera przerwanie powinno być generowane co 0,5s. Natomiast jest generowane co 1s. 256/16000000= 16us*65536=1,048576s 65536-31250=34286 co daje 0,5s [syntax=basic4gl] $regfile = "m2560def.dat" $crystal = 16000000 Config Portg.5 = Output : Portg.5 =...
"Czy ktoś wie żeby przerwanie mogło zakłucać pracę 1wire?" Oczywiście że może jeśli wypadnie podczas transmisji danych z DS'a Przed każdą komunikacją z DS'em zablokuj przerwania. Np: Disable Timer1 a po komunikacji odblokuj Enable Timer1.
Dorzucam wspomnianą konfiguracje timera1. [syntax=basic4gl] Config Timer1 = Timer , Prescale = 64 On Timer1 Odmierzanie_czasu 'na rezonatorze 11059200 Hz Timer1 = 48256 'przerwanie wywolywane co 100 ms 10razy na sekunde Start Timer1 Enable Timer1 On Urxc Odbieranie_rs: 'odbieranie znakow z UARTA Enable Urxc On Utxc Wysylanie_rs: 'wysylanie znakow z...
Tak był błąd w przypisaniu zmiennych na odwrót. Mnie ciekawi tylko gdzie są wartości początkowe timerów ? Aco za tym idzie skąd to przekonanie że timer1 wywołuje przerwanie co sekundę ? Co do Timera0 też nie jestem pewien czy przerwanie jest co 4ms ? A jaka jest częstotliwość taktowania ? i gdzie jest dyrektywa $crystal ? W dodatku w podprogramie obsługi...
Witam!! Troche nie wiem co sie dzieje. Wykorzystuje przerwanie od timer1.W procedurze obslugi przerwania umiescilem odwolanie do innej procedury lacznie z parametrami.Wyglada to tak: Config Timer1 = Timer , Prescale = 256 Dim X As Byte Dim Y As Byte X = 0 Y = 255 Cls Declare Sub Wyslij(x As Byte , Y As Byte) Enable Interrupts Enable Timer1 On...
Witam ponownie. Do generacji przerwania, w czasie którego obliczana jest liczba pseudolosowa, wykorzystałem tym razem Timer1 - przerwanie wywoływane jest co około 0,5s. $regfile = "8535def.dat" $crystal = 8000000 $baud = 9600 Config Timer1 = Timer , Prescale = 64 Dim Losowa_waga As Integer On Timer1 Przerwanie_wagi Enable Interrupts : Enable Timer1...
Nie wiem czy dobrze myślę? po skompilowany i uruchomieniu programu w symulacji w okienku stackdepth : pokazuje wartość E4 czyli 228 . Jeśli dobrze myślę jest to max wartość wykorzystania RAM. W związku z tym pozostaje jeszcze 28 z 256 wolnego RAM. Jeśli się mylę to proszę mnie poprawić. Co pokazuje okienko stackdepth : w BASCOM 8051 ? Jeszcze drugie...
Mam maly problem ze zliczaniem czasu stanu niskiego na pinie INT0. Napisalem programik ale nie chce on liczyc czasu. A zmienna Ilecykli czasem zawiera wartosci ujemne, i ogolnie pokazuje jakies nieprawdziwe wartosci. bede wdzieczny za pomoc $regfile = "m48def.dat" $crystal = 8000000 $baud = 4800 Config Timer1 = Timer , Prescale = 1 On Timer1...
timer1 bascom atmega timer1 przerwanie bascom timer1
czego czujnik niebieski tda2003 wzmacniacz wzmacniacz mikrofonowy symetryczny
Podłączenie urządzeń do Wi-Fi: Android, iOS, Windows, IoT, routery TP-Link, Asus, Netgear Land Rover Freelander TD4 2.0 TD – świece żarowe grzeją po uruchomieniu silnika