Gdy procesor jest w trakcie wykonywania procedury przerwania, następne przerwanie nie będzie przyjęte , gdyż procesor (nie kompilator!) zeruję flagę globalnego zezwolenia na przerwania. Tak samo flaga bieżącego przerwania (tego, którego procedura obsługi jest wykonywana) zostaje automatycznie wyzerowana. Po zakończeniu przerwania flaga globalnego zezwolenia...
"Lubię" takie pytania ogólne. Jak zwykle doszukuje się ktoś problemu nie tam gdzie trzeba i dziwi się, że coś nie działa. Stąd te pomysły o zmianie stanów na portach spowodowanych przez przerwanie. Samo przerwanie nie nie może "namieszać" i nigdy nie miesza. Zawsze powodem zamieszania jest programista i jego program czy też sam układ, który bywa totalnie...
Obstawiam, że się BASCOM nie wyrabia z obsługa przerwań co 13us. Ale na BASCOM-mie się nie znam. 4.3ms daje przerwanie co ca. 16us, co by się zgadzało z obserwowaną czestotliwością ok. 30kHz.
Widzę że muszę trochę sprostować. 1. Nawet kosmicznie często wywoływane przerwanie zdąży się wykonać choć by nie wiem jak długo ono trwało, bo przerwania po wejściu w obsługę jakiegoś przerwania są blokowane i odblokowywane są dopiero po zakończeniu się obsługi tego przerwania. Więc twierdzenie że przerwanie nie zdąży się wykonać w ciągu 128us bo samo...
Co zrealizować? Programowe zliczanie impulsów? Ustawiasz timer tak, żeby generował przerwanie co 100 us, sprawdzasz stan portu, robisz xor z poprzednim stanem i testujesz, które bity są ustawione - ustawiony, znaczy zaszła zmiana stanu, czyli inkrementujesz odpowiednią zmienną.
Do atmegi8mki Ci może nie wejść obsługa FATu. Poszukaj na elektrodzie FAT SD Atmega i coś znajdziesz gotowego. - Napewno nie Bascom :D Potem jakieś przerwanie i mierzyć czas i robić systematyczne opróżnianie buffora na drabinke R2R albo DAC.
jak chcesz takie duze czestotliwości mieżyć to musisz użyć timera żeby liczył zewnętrzne impulsy, wtedy drógim timerem wyzwalasz przerwanie co określony czas (im dłuższy tym lepszy bo pomiar dokładniejszy) liczysz ile było ilmpusów z zewnątrz w okreslonym czasie. wydaje mi się że tą metodą dało by sie mieżyć nawet do 100Mhz ale jest jedno zalożenie...
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...
Zrób to tak: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 4000000 Config Timer0 = Timer , Prescale = 256 'onfiguracja timera, przescaler 256 On Timer0 Odmierz_1s 'włączamy timer0 Dim Licz_8ms As Byte 'definiujemy zmienną pomocniczą Dim Sekundy As Byte Enable Interrupts 'włączamy zezwolenie na przerwanie Enable Timer0 Load Timer0 = 125 'ładujemy...
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...
http://obrazki.elektroda.net/94_12891659... Witam, własną konstrukcję prezentuje na elektrodzie po raz pierwszy, jestem otwarty na wasze opinie, pomysł na konstrukcję miałem już dawno temu, kupiłem wyświetlacze, jeszcze w szkole zrobiłem płytkę pod wyświetlacz (co zresztą widać) ale późnej zabrakło i wiedzy i chęci. No i ostatnio zafascynowany...
Cześć. Napotkałem ostatnio na pewien problem, mianowicie w momencie gdy wywołuję przerwanie w swoim układzie, to po jego obsłudze główny blok programu nie jest kontynuowany, tylko wszystko zaczyna się od początku (albo resetuje procek). W załączniku schemat urządzenia. Załącznik usunąłem. http://obrazki.elektroda.net/63_12624652... Przerwanie...
Witajcie, Zacząłem pisać ostatnio program w bascom, jednak nie działał, okazało się że część kodu odpowiedzialna za przejście do podprogramu nie działa, długo kombinowałem, wklejałem części kodu znalezionych w internecie, ale wciąż nie działa. Kod: [syntax=basic4gl] $regfile = "m8adef.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize =...
Taki fragment schematu: http://obrazki.elektroda.net/27_12637303... Koncepcja jest taka: mega8 pracuje i w momencie gdy zaniknie zasilanie, to dostanie sygnał (opadające zbocze) na INT1 i w przerwaniu zapisze kilka bajtów do eeprom (bo ma jeszcze zasilanie z kondensatora za diodą). Kod do tego: dim e_impulsy as eram word dim impulsy as word...
Witam, Mam problem z programem na Atmege8a, mianowicie: Piszę program sterujący pracą silnika (za pomocą L293D) który dodatkowo będzie zliczał w czasie impuls od przerwań zewnętrznych i tu pojawia się problem: kiedy napisałem program obsługujący tylko pracę silnika, wszystko działa sprawnie, kiedy napisałem program zliczający impulsy w czasie, również...
Mam atmega8 na zestawie ZL2AVR z rezonatorem 8MHz i motyw jest taki ze po wgraniu programu symulujacego zegar odmierzal mi czas nie co sekunde a co ok 10s. Program jest przykladowy ze strony BTC i podlaczony zewnetrzy rezonator wlasnie 8Mhz. Natomiast wyswietlanie na LCD odbywa sie w taki sposob ze zapalaja sie kolejno znaki od lewej tak jakby to mial...
Witam! Mam dosyć poważny problem z BASCOMEM. Otóż po zmianie fuse bitów na zewnętzny kwarc 8-12Mhz mega prawdopodobnie się blokuje. Programator nie widzi procka, ani nic nie mogę zrobić z nim. W tej chwili używam USBasp, ale na STK200 to samo się dzieje...
Witam wszystkich. Zaczynam programowanie w bascomie i mam już na starcie małe problemy. Mam książkę "programowanie mikrokontrolerów AVR w języku bascom" czytam właśnie temat o generowaniu sygnału PWM i pisze program z ksziążki listing 8.5. Zbudowałem sobie zestaw uruchomieniowy z2avr (taki jak w książce) wgrałem ten program a PWM nie działa nie wiem...
Witam serdecznie Jako kolejny krok nauki uczę się oprogramować bluetooth hc-05 oraz atmega 8 sprzęgnięte z aplikacją w telefonie. Połączenie bluetooth jest nawiązane po naciśnięciu przycisków w telefonie wysyłana jest dana typu string. Jeden przycisk wysyła daną o wartości "zapal", drugi przycisk o wartości "zgaś". Do portu atmegi8 podłączona jest dioda...
Cześć napisałem program który działa ok ale tylko pozornie bo w symulacji. zawiesza mi sie na tej linijce jak go umieszcze w procku. .. .. Config Timer0 = Timer , Prescale = 64 Config Adc = Free , Prescaler = Auto , Reference = Avcc Start Adc Dim Sek As Byte Dim Minuta As Byte Dim Godzina As Byte Dim Krok As Byte Dim A As Integer Dim B As Byte Dim C...
Stworzyłem kod który powinien wyświetlać czas trwania stanu niskiego na lcd. Na wyświetlaczu pojawia się 0.0 ms oraz na przemian 1 lub 2 takt(czyli ile zliczył timer). Proszę o naprowadzenie na właściwy kierunek osiągnięcia zamierzonego celu. kod: [syntax=basic4gl]$regfile = "M8def.dat" $crystal = 4000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4...
Problem leży w tym, że program zawarty w pamięci nie chce wystartować. Korzystam z Bascoma. Bascom ładnie wykrywa co to za procek itd. Proces wgrywania programu też przebiega bez żadnych problemów. Tyle że na tym koniec. Dopiero zaczynam zabawę z mikrokontrolerami i zabardzo nie wiem co począc. Myslalem ze moze cos z kwarcem, ale nie chodzi tez na wewetrznym...
Serdecznie Witam. Problem dotyczy Atmega8, program w języku BASCOM. Układ który chciałem zrobić ma załączać po kolei 6 diod- jedna się świeci w danej chwili, 2 przyciski zmieniające częstotliwość mrugania. Po złożeniu układu, niestety program zaczyna (od razu, bądź po chwili) przestawać reagować na przełączniki oraz zmienia sam częstotliwość mrugania...
Po zmianie uP z M8 na Atmega168 mam problem z watchdog'iem. po resecie watchdoga uklad wisi... nawet zewnetrzny reset nie pomaga.. co ciekawe uklad mozna skasowac, zaprogramowac innym flashem i zweryfikowac.. Pomaga tylko odlaczenie zasilania - uklad wstaje normalnie. $crystal = 7372800 $regfile = "m168def.dat" Config Watchdog = 1024 Start...
Witam. mam taki wielki problem z bascomem v.1.11.7.4 mianowicie nie dzialaja tam niektóre funkcje. miedzy innymi wait i waitms na ktorych program sie zawiesza co jeszcze nie jest takie straszne, najgorsze jest to ze po skoku do podprogramu (gosub) i powrocie z niego instrukcja return program nie skacze do nastepnej instrukcji a sie resetuje i wszystko...
Jestem początkujący. Dopiero uczę się programowania. Miał być to mój pierwszy samodzielny program. Podczas kompilacji występują 3 błędy: error : 7 error: 350 error: 127 wszystkie w line:0 Używam Bascom AVR w wersji 1.11.9.8 demo Poniżej zamieszczam moje wypociny. Niestety w pliku pomocy jest tylko opisany Error:7 http://obrazki.elektroda.net/42_12667718...
Witam Kontynuuję walkę w Atmegą8 i 4 wyświetlaczami LED, odpuściłem sobie buzer i sterowanie jasnością, nurtuje mnie problem jak odłączyć przerwania od OC2 ( noga PB.3 ), coś chyba nie działa jak powinno a moja literatura milczy na ten temat :(. Potrzebuję tajemniczego zaklęcia w Bascomie lub informacji które bity i w jakim rejestrze ustawić aby w końcu...
Witam, Moj problem polega na tym, ze w momencie wyslanie programu do uC (send to chip -> program) program nie za kazdym razem jest wgrywany (kolor na programatorze wskazuje, ze nie nastepuje programowanie). W koncu za ktoryms razem ruszy i wszystko dziala ok jednak zastanawia mnie co moze byc tego przyczyna. Jest to troche denerwujace - kilkukrotne...
witam Mam pewien problem ze skonfigurowaniem przerwania w Atmega8. Program ma wysyłać dane przez UART w zależności od stanu na końcówce PD2 ( INT0 ). Jeżeli ma stan niski to sprawdza jedną zmienną i w zależności od niej wysyła dane. Jeżeli ma stan wysoki to tak samo. Ale tylko jednorazowa zmiana powinna powodować wysłanie danych. Wymyśliłem, że obsłużę...
Symulator Lasera http://images49.fotosik.pl/261/c05af04e8... Fot.0 Jedno ze zdjęć prototypu symulatora lasera Jest to opis kilku symulatorów zaprojektowanych i działających przeze mnie . Zarówno tych najprostszych opartych na popularnym tajmerze 555 , jak również do konstrukcji profesjonalnych opartych na mikrokontrolerach jednoukładowych...
niezależnie kiedy odczyta powinno wyzwolić w jednym i tym samym momencie czyli na sygnał pochodządy z int Pod warunkiem, że flaga przerwania od Int0 nie jest ustawiona, w przeciwnym przypadku wykona się natychmiast. Nie wiem czy taka konstrukcja: disable int1 --->wyłącz przerwanie end if Return ---> rzeczywiście wykonuje się RETI, które kasuje flagę...
Dziwne jest to że w starszej wersji ten kod działa, a raczej nie powinien :). W helpie pisze że funkcja GetRC5 wykorzystuje timer0 i przerwanie od tego timera. Umieszczenie tej funkcji w przerwaniu INT0 wydaje się być błędne. Przerwanie od timera się nie wykona, dopóki nie zakończy się obsługa przerwanie INT0.
Gdy już usuniesz wewnętrzną pętlę do..loop to zwróć uwagę, że stan przycisku będzie sprawdzany raz na 60s. Możesz zrobić sprawdzanie np. tak (co 1 sek.): dim x as byte ... do 'sprawdź przyciski if x=60 then x=0 toggle ... end if wait1 incr x loop end Albo wykorzystać timer lub przerwanie.
czy jest mozliwe zmienienie podprogramu przerwania np z labe 11 a w innej czesci programu aby to samo przerwanie Int0 np przechodzilo do podprogramu labe 13 ? chodzi mi jezyk bascom i układ Atmega8
A co jest nie tak? Możesz opisać dokładniej problem. Load Timer0 , 1 Po tej komendzie licznik przepełni się po jednym cyklu. Czy na pewno to ma Tylko jeden cykl? Ciągle jest wykonywane przerwanie i dlatego procesor nie ma czasu na resztę operacji.
Witam. Nie używaj lookup. Zrób sobie tablicę cyferka[10], nadaj jej wartości na początku programu i będziesz miał port=cyferka[d]. Wszystkie obliczenia rób poza przerwaniem. W przerwaniu tylko wyświetlaj dane na wyświetlaczu. I to tylko jednym naraz. Mój przykładowy programik (zegarek z termometrem do motocykla) A1 A2 A3 A4 to zmienne, które program...
Normalnie (czytaj: nie znam bascom) można to rozwiązać na kilka sposobów. Możesz na przykład wystartować pomiar ADC, a stan bitu ADSC sprawdzać gdzieś w pętli głównej (realizując inne zadania) i zareagować dopiero, gdy bit ten wskaże na zakończenie pomiaru. Możesz także ustawić przerwania ADC i wtedy po zakończeniu pomiaru przerwanie się wykona. Mogę...
Witam Jestem w trakcie robienia zagara nixie ze strony http://mirley.firlej.org/zegar_nixie Mikrokontrolerem jest Atmega8 a wkład zrobiony na Bascomie. Potrzebuję dodać opcję chwilowego wyłączenia lamp, w celu zabezpieczenia lamp przed zatruciem. Bardzo proszę o pomoc. To kod: '************* Konfiguracja uC ***************** '***************************************...
no tak a co bedzie jak podczas wykonywania polecen INT0 wystapi przerwanie INT1 to wtedy zostanie ono pominiete... dziala to w jedna strone
1. BASCOM 2.0.7.5 2. [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 Timer0 = Timer , Prescale = 256 Enable Timer0 , On Timer0 Przerwanie Stop Timer0 Config Portb.5 = Output : Set Portb.5 'podświetlenie...
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).
Nie jestem pewny czy procesor zdąży wykonać to co masz w tym przerwaniu , zanim przyjdzie następne (mam na myśli wszystko ).Program w przerwaniu ma być krótki , chyba że pierwsza linijka jest taka " Disable timer0 " , ale w twoim programie taka instrukcja raczej odpada. I jeszcze jedno , co się dzieje jeżeli podczas transmisji po i2c lub 1Wire przyjdzie...
Może sie komuś przyda ... działajacy kod sprawdzałem testowalem niby wszystko działa czestotliwosc PWM = 123 Hz $regfile = "m8def.dat" $crystal = 8000000 Config Pinb.1 = Output 'Konfiguracja 4 pinów wyjściowych PWM Config Pinb.2 = Output Config Pinb.3 = Output Config Pinb.4 = Output Dim Wyp(4) As Byte 'zmienne wypełnienia Dim Licz...
Wyjątkowo zbałaganiony program. Nie wiem czy Bascom poradzi sobie z tym gosub Przerwanie. Traktujesz to jako procedurę obsługi przerwania, więc na końcu w asm będzie reti, a jednocześnie w programie potraktowałeś to jako zwykły podprogram. Wiele kompilatorów tego nie pozwoli zrobić. Popraw to - przecież zamiast tego Gosub przerwanie wystarczy wpisać...
Ale my tu nie mówimy o świetlówkach, LED tylko o żarówce. Świetlówki wymagają bardziej rozbudowanego sterowania. Niepotrzebny jest R5 i to R5 idzie nad ścieżkami...mam go aktualnie zwartego. Jest wiec tylko R4= 220R. Dla świętego spokoju zwarłem R4 i zostawiłem R5...i jest podobnie. Dodanie dławika 10nF X2 i R różne próbowałem 10R-22R-68R nie poprawia...
Witam Mam problem programuje w Bascom avr procka atmega8 zrobiłem sobie transmisje RS i mam problem ogólnie wszystko pięknie ładnie działa tylko że w momencie jak wystąpi przerwanie po przez funkcje print zostaje wysłany znak ze zmiennej po czym przechodzi do funkcji waitkey() i oczekuje na odebranie znaku no i właśnie ... oczekuje ale nic nie widzi...
hej robiw -> próbuję tę twoją procedurę powyżej ale za chiny nie chce mi się ani razu to przerwanie wywołać. Z drugiego procka próbuję do tego wysłać coś poprzez I2C w ten sposób: do I2cstart 'Start I2cwbyte 128 ' adres układu SLAVE I2cwbyte 65 ' dana do przesłania do Slave I2cstop 'Stop wait 1 loop na magistrali mam jeszcze PCF8583 i z niego odczyt...
Małe sprostowanie obliczenia były dla zegara 8MHz. Do autora tematu: nie ma możliwości abyś uzyskał przerwanie co 180s ! Chyba że użyjesz kwarcu 32.768kHz co jednak znacznie spowolni procka. Proponuję abyś zrobił tak jak radzi kolega Wojtek75.
No niestety: zajrzyj do helpa . Dokładniej tu, gdzie jest opisane jak: - skonfigurować timer - włączyć timer - wyłączyc timer - odczytać stan timera Pseudokod: SKONFIGURUJ TIMER ZRESETUJ TIMER DO WLACZ TIMER (tu kod ktory sprawdzasz) WYLACZ TIMER ODCZYTAJ TIMER (tu obsluga wartosci wzietej z timera) ZRESETUJ TIMER LOOP Zeby takie pomiary...
Ten drugi pomysł jest moim zdaniem lepszy. Do tego możesz użyć końcówki przerwania INT - ma konfigurację zbocza, którym jest wyzwalane przerwanie.
No właśnie, odnośnie tak małej ilości cykli na przerwanie to dlatego zapytałem co będzie jeżeli przerwanie nie zdąży się wykonać i wygeneruje się nowe. Takie coś mogłoby chyba działać, jeżeli przerwanie polegałoby jedynie na zmianie stanu bitu, a tu jeszcze musi być ta przerwa po paczce impulsów. Dobrze, to czyli czas na podłączenie kwarcu, postaram...
Od kad zmienilem bit CKOPT w fusach dziala bardzo stabilnie A więc wniosek , że program to jedno , a sprzęt to ... drugie :D za kazdym razem dostaje informacje AT+CSQ+CSQ: 19,99OK Czyli telefon wysyła echo. ... Nie rozumiem do konca czemu bez zerowania bufora tez dziala ..ale wstawielm to co podeslales ;) Jeśli odczytasz wszystkie dane w buforze ,...
Już kiedyś pisałem o błędach bascoma w obsłudze przerwań (raz wywołane jest potem cyklicznie generowane pomimo, że czynnik wywołujący przerwanie już zanikł, bo bascom zapomina przy kompilacji kodu o fladze w rejestrze przerwań). Błędów jest jak się okazuje więcej. Szkoda tylko, że siedzi się nad tym czasami kilka godzin...bo uznanie błędu kompilacji...
duzo bym nie zmienil dodal jeszcze kondensatory 100nF do kazdego ukladu scalonego. Jedyne co to bym pozmienial wyjscia np. zostawil bym sobie wolne int1 przerwanie (ostatnio doswiadczylem jaka to cenna rzecz) gdybys chcial dodac odbiornik podczerwieni itp. zostawil bym wolne wyjscia pwm i 2 podlaczyl do mostka-h l293d co by pozwolilo ci jeszcze sterowac...
Jeśli chodzi o resterty, to czy mogą one być spowodowane dużą ilością zmiennych zadeklarowanych, oraz to że wykożystuje przerwanie ( 42 zmienne i przerwanie na przepełnieniu TIMER1 co 0,2sek). Czytałem gdzieś że zmienne powinny być deklarowane w odpowiedniej kolejności. W symulatorze działa ok ( i tam się niezawiesza), chociaż działa bardzo wolno. Gdyby...
Witam! Z pewnością chcesz wykorzystać mechanizm "polling" :) jak to się ładnie nazywa w dokumentacjach. Po pierwsze w ATmega8 nie ma flagi Tirf.0, jest natomiast flaga Tifr.0 o którą zapewne Ci chodzi, dlatego pewnie nie do końca che działać. ;) Pozatym aby używać przerwań w ATmega8 musisz też odblokować globalny system przerwań, ponieważ po starcie...
ja ci kolego nie podam gotowca z 2 powodów, bascom mnie zupełnie nie interesuje a druga sprawa ze net jest pełen przykładów. A różnica jest zasadnicza bo sprzetowa transmisja aby wysłać znak potrzebuje takich czynności jak ustawienie interface (predkość, polaryzacja sygnału) a potem tylko trzeba ustawić pin odpowiedziałny za sygna CS urzadzenia oraz...
Eeeej panowie, nie trzeba wchodzić tylnymi drzwiami, nie trzeba stosować żadnych sztuczek i nie trzeba koniecznie tworzyć przerwanie, które jakoś tam "na siłę przerwie input". To przerwanie już istnieje, (jest wykonywane gdy na port obsługujący RC5 zaczynają napływać dane) więc nie jest tworzone na siłę. Oczywiście można by program napisać inaczej,...
Szanowni Panowie! Mam prośbę, skupmy się na sednie problemu. Atmel wyraźnie wskazuje, że atmegę8 można zastąpić atmegą88. Przygotował stosowną notę, w której opisuje związane z tym problemy, link do noty został uprzejmie podany w jednym z wcześniejszych postów. Ja rozumiem, że procesory nie są idnetyczne, ale ... proszę o uwagę ... napisałem w moim...
Propozycja z 2 timerami może jest koncepcyjnie prostsza, ale zobaczmy - zalecana fext dla timera powinna być < fclk/2.5, czyli TOP timera generującego ustawiasz na min. 2 -> fext = fclk/3 (wypełnienie 1/3 lub 2/3). Stąd widać, że potrzebujesz 3x większej częstotliwości zegara niż w przypadku rozwiązania z pojedyńczym timerem. Poza tym z dwoma...
przerwanie połączenia pomiędzy czujnikiem a procesorem spowoduje, że wartość odczytana = 0 1 - odczytaj wartość na wejściu ADC (zakres 0 ...1023) 2 - jeżeli wartość odczytana < np. od 10 to załącz LED jeżeli chcesz sprawdzić czy odległość zmieniła się z 15 cm na mniej niż 12 albo więcej niż 20 to w punkcie 2 sprawdź czy: jeżeli wartość odczytana...
Tego się tak nie robi. Uruchom przerwanie timera. Zapisz wartości strowania portów dla kolejnych kroków w tablicy stałych. W przerwaniu timera testuj przycisk, a co pewną liczbę przerwań wyrzucaj na porty kolejną wartość z tablicy.Przy takim podejściu cały kod zmieści się w kilkunastu liniach, może dwudziestu paru, a jego długość nie będzie zależała...
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...
Jutro sprawdzę to wyprowadzenie INT. ale ono daje przerwanie na procesor?? Ja w tej chwili nie mam go nigdzie podłączonego! Zauważyłem jeszcze jedna rzecz, mianowicie napisałeś że kwarc ma 32,768, ja ostatnio kupiłem 30 a próbowałem na 32 i 12 ale wszystko w MHz a jak to powinno być??? Napiśz dokładnie o jaki kwarc chodzi a co będzie przy takim jakie...
Witam Mam za zadanie wykonać sterowanie fazowe żarówki. Wykorzystuje układ Atmega8 oraz Bascom 1.1.9.5. Poniżej przedstawiam kod: Enable Interrupts Enable Int0 Enable Timer1 Config Int0 = Falling Config Timer1 = Timer , Prescale = 1 On Int0 Przerwanie On Timer1 Opoznienie Load Timer1 6000 Do Loop : End Przerwanie: Start Timer1 Return Opoznienie:...
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. Proszę o pomoc. Pierwsza zasadnicza uwaga to nie zauważyłem w programie konfiguracji interruptu0- coś np. takiego: config INT0=...
'fusebit A987 0100:0100 osc $regfile = "m8def.dat" $crystal = 8000000 Config Pind.0 = Output 'PRZEKAZNIK Config Pind.6 = Input 'KLAWISZ Klawisz Alias Pind.6 Przekaznik Alias Portd.0 'podpiecie klawisz pod "1" Portd.6 = 1 Przekaznik = 1 Do Do Loop Until Klawisz = 0 If Przekaznik = 1 Then Przekaznik = 0 Else Przekaznik = 1 End...
Dzięki, prostsze robiłem ;] Zdaję sobie sprawę, że to nie będzie łatwe, stąd założyłem ten temat. Myślałem, że ktoś może robił już coś podobnego i może poratować kodem 'wejściowym'. Mam jeszcze drugi pomysł - wydaje mi się że łatwiejszy do zrealizowania: Pozostawić stare LCD które jest elektronicznie sprawne. Podłączyć równolegle R/W, RS i D4-D7 do...
atmega8 przerwanie bascom przerwanie atmega8 bascom atmega8 bascom przerwanie sekundę
iveco daily ciśnienie oleju resetowanie bębna bizhub voice feature
blokada nadajnika diagbox lexia
FAUN śmieciarka – cykl prasowania nie rusza po otwarciu łopaty, czujnik krańcowy, hydraulika Wymiana pedału gazu w pojazdach: krok po kroku