Dodałem drobną poprawkę, przetestowałem w symulatorze i wyglada że teraz jest ok. Ustaw $crystal odpowiednio. Podłącz pod PD.3 przycisk i pod PD.0 LED (led będzie świecił gdy sprzęt jest w stanie czuwania). O powerdown nie ma co walczyć i tak używasz zasilacza. Najpierw przetestuj ten program, dopiero potem połącz go z twoim silnikowym i przekonfiguruj...
Tlumaczylem, ze restart bedzie tylko raz mozliwy, w petli programu. Nie napisales jasno, ze ma byc w kazdej chwili. Moze jutro ci wlepie kawalek kodu. ________________________________________... CONFIG INTx = LOW LEVEL On Intx Przerwanie Enable Interrupts do loop:end Przerwanie: disable intx '.... tu reset '.... enable intx Return...
Witam. W petli glownej programu musisz sobie napiac jakas procedurke wyboru podprogramow. Np mozesz uzyc do tego 3 przyciskow - jeden do zwiekszana zmiennej np wybor , drugi do jej zmniejszania atrzeci przycisk do potwierdzenia "enter" . Nie pamietam juz dokaldnie skladni w Bascomie ale moze to byc np tak: DDRB=&b11111000 // - piny 0 1 i 2 portu...
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...
Żeby zrobić za pomocą Timera - to nie możesz używać trybu PowerDown tylko Sleep - żeby właśnie Timery mogły działać to po pierwsze. W taki trybie jednak będziesz miał nieco większy pobór prądu niż w pełnym PowerDown. Więc wszystko zależy na ile ma wystarczać bateria o ile jest to coś zasilane z baterii. Bez PowerDown'a na pewno będzie to sporo krótszy...
Mam pytanie czy z przycisków w porcie A można zrobić przerwania wywoływane zboczem narastającym... chodzi o to czy np mając podpięty przycisk do portu A.1 mogę z tego wywołać przerwanie tak żeby po wciśnięciu przycisku zaczął się wykonywać jakiś program np załączenie jakiegoś silnika na 20 sec. ale żeby w tym samym czasie można było też załączyć inny...
PF - Jak zakładasz temat że potrzebujesz jakiejś pomocy, to postaraj się trochę szybciej odpowiadać na zadane pytania. Poniższy program powinien rozwiązać Twój problem. Zmienna "C" odpowiada w tym programie za czas w którym powinieneś wcisnąć przycisk 2-3 razy, wartość 5 (If C = 5 Then) odpowiada 1-nej sekundzie (prawie). Poprzeglądaj sobie schematy...
Jeżeli sprawdzasz przycisk podłączony do masy, to czemu przerwanie Timer ma być wyzwalane zboczem rosnącym ? Config Timer0 = Counter , Edge = Rising
...Co ta funkcja robi ? Jeśli tego nie wiesz , to znaczy że nie wiesz , jak działa Twój mikrokontroler :( Ciekawi mnie czy wlozenie if'ow w przerwanie nie spowoduje duzych opozniena czasowe. Pomyśleć napewno nie zdążysz :D Bo juz o tych waitms 50 wogole nie ma mowy. Tak :?: To napisz , co generuje zbocze na Pind.2.Jeśli to nie jest przycisk , to faktycznie...
Witam mam pytanie do bardziej zaawansowanych programistów :) Chciałbym się dowiedzieć w jaki sposób zatrzymać program w dowolnym momencie danym przyciskiem. Na przykładzie: odsuwanych drzwi załóżmy do garażu... w jaki sposób po uruchomieniu wyjścia zatrzymać przyciskiem drzwi w dowolnym momencie i aby po zatrzymaniu można było je rozsunąć bardziej bądź...
Witam Do tego celu można dojść za pomocą timra i przerwań. Po prostu w momencie wciśniecia przycisku , puszczasz w ruch timer. Jeśli zliczy powiedzmy sekunde to zapala Ci jedną diode, jeśli doliczy do 5 sekund , to zapalasz inną. Oczywiście musi być to tak zrobione żeby procek nie czakał az naciśniesz przycisk. Po prostu po wykryciu zmiany przycisku...
Wszystko jest ok, domyślam się przyczyny niedziałania: - przerwanie jest jako low level - dopóki wciskasz przycisk to przerwanie ciągle się wykonuje, po jego puszczeniu główny program może się nie wykonać Zrób tak: - w twoim ostatnim programie w przerwaniu wpisz: Disable Int0 - pozornie bez sensu ale zauważ że po wyjściu z powerdown będzie się wykonywało...
Procesor nie wstaje po uśpieniu przy Twoim kodzie. Z obsługą uśpienia pomagałeś mi Ty, i wygląda tak: [syntax=vbnet]Pw_off: Do If Switch = 0 Then 'jesli wcisnieto przycisk If Lock = 0 Then 'a zmienna już wyzerowana Lock = 500 'wylaczy po 500ms od puszczenia przycisku Turn_off = 1 'ustaw flage by po puszczeniu przycisku zadziałało End If Else If Lock...
Witam. Czy mógłby ktoś podać jakiś dobry sposób na odczyt stanu przycisków, najlepiej jakiś kawałek kodu w bascomie.
Witam, Podczas pisania programu menu wyskoczył mi taki mały problem , może najpierw przedstawię kod [syntax=basic4gl] Config Pind.3 = Input Set Portd.3 Memo Alias Pind.3 Config Pind.4 = Input Set Portd.4 Smulti Alias Pind.4 Dim Nr_menu As Byte , Klucz As Bit , Step_ As Byte , Vfoab As Byte Nr_menu = 0 Do Cls Lcd Lookupstr(nr_menu , D_menu) On Nr_menu...
Witam, Jak napisać kod programu matrycy 4x4 tak aby 12 przycisków pracowało jako typowa klawiatura matrycowa ,a pozostałem 4 spełniały inną funkcję w programie ?
Witam serdecznie, mam problem z którym walczę już dość długo. W mikrokontrolery bawię się od dwóch tygodni. Problem polega na stworzeniu kodu do obsługi jednego przycisku: Krótkie naciśnięcie - program robi coś tam Długie naciśnięcie - program robi coś innego Chciałem zbudować proste menu wykorzystując jednego switcha. poniżej kod: $regfile = "m8def.dat"...
Chciałem zapytać w jaki sposób w Bascomie wykonać podtrzymanie przycisku monostabilnego? Chodzi o to, że kiedy nacisnę przycisk 1 to żeby procesor pamiętał ten stan logiczny do momentu naciśnięcia przycisku 2. Podobnie jak robi się podtrzymanie cewki stycznika przy pomocy styku otwartego (sterowanie impulsowe stycznika) - o takie działanie mi chodzi.
Mam pytanie jak w czyms takim ( --> kod ponizej) otrzymac ponowna mozliwsoc urzycia przycisku sw1 ? Gdyz z tego co widze kompilator nie pozwala mi w napisanych przeze mnie petlach urzyc go ponownie i jak np w 2-giej petli daje sw2 to juz wszytko dziala poprawnie...A wiec jak mam go ze tak sie wyraze zresetowac ? - zeby znowu by aktywny (sw1) ? Do If...
Witam mam pytanko odnośnie programu. Chcę żeby po podaniu masy na PINC.1 na PINA.1 pojawiło się napięcie i zniknęło. ale tylko raz aż do odłączenia masy od PINC.1 co natomiast spowodować ma pojawienie się i zniknięcie napięcia na PINA.2 ale nie może sie to dziać co obrót pętli tylko raz po każdej zmianie stanu na PINC.1 Proszę poprawić tytuł wiadomości...
Witam. Mam problem z odpowiednim programem dla uc (bascom) który odczyta mi np 7 kliknięć, przerwań? (dzwonków). Jak wyglądał by taki program, i jakie komendy użyć. Kwestia podłączenia nie wymaga omawiania - powiedzmy 6 stanów niskich (0) i siedem wysokich (1) ---> stan wysoki na jakąś nóżkę. Przerwań w helpie bascoma nie mogę znaleźć :( Pozdrawiam.
Witam forumowiczów jestem początkującym jeśli chodzi o programowanie w Bascomie. Od paru dni nie mogę poradzić sobie z PWM. Chciałbym aby po przytrzymaniu przycisku np Pind.7 PWM wysterował się następująco: PWM1a = 800 Wait 1 PWM1a = 500 po puszczeniu przycisku na Pind.7 PWM1a = 0 Config Timer1 = Pwm , Pwm = 10 , Prescale = 64 , Compare A Pwm = Clear...
Witam potrzebuję porady jak napisać prosty program do włącznika bistabilnego .Schemat jest banalny na portach B i D są podłączone przyciski ,zaś na portach A i C są podłączone układy ULN2003 ,z układów ULN wychodzi napięcie na przekaźniki. Próbuję coś robić ale schematy z kursów (Bascom) co są wrzucone do internetu są na jednej diodzie i jednym przycisku,jak...
Witam. Mam taki problem z językiem bascom basic, że chciałbym wykorzystać jeden przycisk do kilku czynności. Np: 1 przyciśnięcie -dioda świeci 2-dioda mruga itd. Przykład: dim przycisk as (chyba) byte przycisk = przycisk + 1 if przycisk = (przykładowo) 5 then przycisk = 0 if przycisk = 1 then gosub jeden if przycisk = 2 then gosub dwa...
Jak w bascomie wykryć naciśnięcie klawisza (to juz mam) i jesli nie zostanie puszczony to po upływie np sekundy symulować jego naciskanie co np 0.2s. Chodzi o to ze mam dość długie menu wyświetlane na lcd i jego przewijanie przez każdorazowe wciśnięcie klawisza jest długotrwałe.
Witam, Mam problem z zrealizowaniem za pomocą tylko jednego przycisku funkcji: naciskam - licznik zlicza w górę puszczam - licznik zatrzymuje się naciskam - licznik zlicza w dół puszczam - licznik zatrzymuje się itd... Męczę się nad PWM - regulacją podświetlania LCD, na atmega8, problemu nie widzę ze sterowaniem dwoma przyciskami, ale rozłożyłem się...
Jak zrobić coś takiego, że po jednym naciśnięciu przycisku ustawia się jakaś Flaga na 0, a po drugim naciśnięciu tego samego przycisku ustawia się na 1 ?
Witam Niedawno zaczolem programowac w bascom chce napisac program do µP tak aby dzialal jak przelacznik Zrobilem cos takiego: Config Portb = &B11111111 Portb = &B11111111 Config Portd = &B1111110 Portd = &B1110111 Dim K As Byte K = 0 Do If Pind.0 = 0 Then Incr K If K = 0 Then Portb = &B11111111 If K = 1 Then Portb = &B11111011 If K = 2 Then Portb...
Mam taki problem że po zaniku w kodzie impulsu nadam piszczy mi buzer - wszystko wyjaśni poniższy kod który jest na 100% poprawny ale i tak czegoś brakuje a i skończyły mi się pomysły 'alarm P If T(1) >= T_alarm Then If Buzz_en = 1 Then Led_a = Not Led_a Else Led_a = 1 if Buzz_en = 1 then buzz = not buzz else buzz = 1 Else Led_a = 1 Czujnik(1)...
Prywit! Mam problem z obsługą przerwania zewnętrznego. Do pinu INT0 podłączyłem włącznik zwierający do masy. Jak widać w programie podciągnąłem końcówkę do plusa. Do pinów C.1; C.2; C.3 podłączyłem diody LED do zobrazowania problemu. Napisałem taki oto krótki program i jestem zdziwiony działaniem. Po uruchomieniu programu dioda podłączona do pinu C.1...
Witam chciałbym aby w bascomie zaprogramować przycisk że po wciśnięciu i przytrzymaniu określoną liczbę sekund np 20 włączy program
Witam wszystkich .Chciałbym prosić o wskazówkę ,w jaki sposób uruchomić dwa niezależne podprogramy z jednego przycisku (nie wyłącznika)w baskom Przedstawiam część mojego programu którym załączam podprogramy z dwóch przycisków S! i S2 [syntax=basic4gl] Do 'poczatek petli nieskonczonej Debounce S1 , 0 , Pr1 , Sub 'jesli wykonasz IMPULS na S1 to skok do...
No niestety trzeba będzie trochę popracować... :D Proponuję tak (attiny13): 0. konfigurujesz porty, włączasz pullupy na pinach z przyciskami 1. procesor czeka w uśpieniu na pin change interrupt 2. po obudzeniu sprawdzasz jaki kod wysłać, wyłączasz przerwanie pin change 3. w pętli wysyłasz kolejne bity włączając i wyłączając PWM (opis kodu RC5 [url=http://www.ustr.net/infrared/index....
Nojmi - gdybys mogl opisac mi krok po kroku co robi Twoj program... PLEASE!!! Wpisuje obsluge diody ale cos dziwnie mi to dziala... To znaczy jak nacisne 5 razy przycisk powinien zapalic diode na 5 sekund i potem ja zgasic... A on jak naciskam kolejne razy tak jakby liczyl od poczatku... Acha! I dlaczego dla przerwania 1 sekunda i przy kwearcu 12M jest...
Napisałem się, napisałem... a tu wylogowało i przepadło a wstecz w przeglądarce nie przywróciło :( ale postaram się odtworzyć. W wyżej zaproponowanym sposobie musisz mieć przycisk podpięty pod zewnętrzne przerwanie. Ja zrobiłbym to inaczej. Obsługę przycisku zrobiłbym w przerwaniu timera. Przerwanie wywoływał co kilka milisekund. W przerwaniu najpierw...
800 obrotów/min to max jakie będą używane w tym enkoderze, ale nie mogę zatrzymywać przerwania, bo impulsy muszą być liczone ciągle, wszystko resztę muszę wykonać pomiędzy przerwaniami. 800 obrotów to daje impuls przerwania co 15us, a ja w pętli nic nie będę robił oprócz sprawdzania czy jest naciśnięty przycisk STOP, więc teoretycznie wszystko powinno...
Podczas moim przygod z bascom nie musialem dawac zadnych kondensatorow bo Debounce na drodze programowej usuwalo drgania. Teraz chce zrobic to samo. Zrobilem tak ze odczekalem 50 ms, i sprawdzilem czy przycisk jest nadal wcisniety, jednak czasem jak nacisne, przytrzymam i puszcze to dioda tez zmienia stan, mimo ze nie powinna ( przerwanie jest tylko...
Mam mały problem z programem napisanym w bascomie , mianowicie założenia są takie jest to odbiornik pilota IR na atmega 8 chodzi mi o sam algorytm dekodowania sygnału , który ma dekodować wszystkie rodzaje pilotów obojętnie czy są w standardzie RC5 czy SONY na wyświetlaczu LCD mam mieć wyświetlane umownie wartość jedynek i zer i problem polega na tym...
Dzięki za wskazówkę, poszukałem trochę na forum i znalazłem taką wypowiedź: ...konfigurujesz timer1 do pracy w normalnym ale nie robisz start timer. robisz przerwanie dzialajace na zbocze np. narastające-> Dalej : robisz zmienną flaga w przerwaniu robisz if flaga=1 then start timer1 flaga=0 else stop timer1 w rej od timera masz czas... kopiujesz gdzie...
teraz jest ok mozesz dodać trzeci przycisk podpięty do p3.7 ale to tak na marginesie następnie musisz powiedzieć w czym piszecz program. jeśli nic nie umiesz to musisz cię czegoś nauczyć wybór jest prosty asm lub bascom lub c. w programie będą dwie ważne procedury. jedna to przerwanie które musi być wywoływane idealnie co sekunde. w nim będziesz zwiększał...
Problem w pewien sposob rozwiazany, moze komus sie przyda Dodano linie: $initmicro ........ _init_micro: Config Watchdog = 1024 Start Watchdog Return W tej postaci watchdog poprawnie resetuje uP: $crystal = 7372800 $regfile = "m168def.dat" $initmicro Config Aci = Off Config Lcd = 40 * 2 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3...
opracowałem mój program do bramy.. lecz mam jeszcze jeden problem z tym przerwaniem INT0. Gdy np brama się otwiera i po zwarciu zworki portd.2 od INT0 układ prawidłowo zatrzymuje się lecz jak teraz włączę żeby brama się zamykała na zwartej zworce i po chwile od-zewrze przejdzie na stan wysoki zamykanie bramy się zatrzymuje jakby przerwanie działało...
1) PinB.5 poprzez rezystor 10K podłączasz do VCC. Do PinB.5 podłączasz też kondensator 100nF do GND. 2) PortB.0 INT0 podłącz przez opornik 200 omów do przycisku (druga nóżka przycisku do GND) to będzie twój przycisk do zmiany efektów 3) Pozostają ci tylko 4 wolne nóżki dla ledów. Możesz dodać ekspander I2C->8 bit PCF8574 i sterować 8 ledami lub zostawić...
OK, problem rozwiązałem, problem polegał na tym, że pilot ma przyciski "CD", "FM", "MW" i "AUX". Naciskając przypadkowo przycisk "FM" zmieniłem nadawane adresy i komendy, żeby wszystko wróciło do normy musiałem nacisnąć przycisk "CD". Jak widać więcej osób zgodziło się, że nie zrozumiało postu, więc przepraszam za nieścisły język. Program do testowania:...
Mam prośbę o pomoc w ukończeniu programu, otórz założeniem programu jest aby zaświecić dioda1 po określonej ilości mrugnięć dioda2 i w odpowiednim momencie wciśnięciu SW1. Program działa bezbłędnie jeśli ręcznie określę mu zmienne A i B, natomiast zaczynają się schody jeśli chcę dodać możliwość programowania zmiennych A i B, zapisując je w pamięci eeprom....
Mam taki problemik tutaj macie fragment kodu: 'C013b Prosty zegar z ustawianiem Dim Sekjed As Byte , Sekdzies As Byte , Minjed As Byte , Mindzies As Byte , Maxi As Byte Dim , Godzjed As Byte , Godzdzies As Byte , Mux As Byte , Migaj As Bit , Uniwers As Byte Config Portb = 255 : Portb = &B255 : Config Portd = &B1111100 : Portd = &B1111111...
Witam, jeszcze proszę praktyczne rozwiązanie takiego problemu, gdyż program jest praktycznie ukończony, ewentualnie drobne poprawki kosmetyczne:), ale w obecnej wersji odczyt i zapis wykonywany jest z poleceniem "wait", przez co wskazywane temperatury nie są czasem poprawne - wyskakuje BRAK ds'a. Już nie mam pomysłu jak to zrobić, proszę tylko o jakieś...
Witam wszystkich wszech wiedzących. Mam taki drobny problem, otóż w zestawie uruchomieniowym zl11avt zaprogramowałem mikrokontroler attiny 2313 żeby na wyświetlaczach led był zegarek z budzikiem. Po zastanowieniu sie zobaczyłem że mam 4 porty wolne i mogę wykorzystać je do czego chce. Chciałbym żeby to był normalny zegarek ale gdy na PD2. (wolnym) pojawi...
Fakt, ze jest milion różnych sposobów na zrobienie tego. Ok spróbuję tym sposobem co mi podsunąłeś. W sumie nawet lepiej tak. Dzięki. Dodano po 5 Ok, coś tam skleciłem, jest to niepełny program, bo nie ma w nim np. ustawień dla Mute i trybu, oraz nie pokazuje na LCD wartości, ale to później. Póki co mam dziwny problem z wyświetlaniem, ale o tym za chwile....
Problem ze zmianą nazwy pliku rozwiązałem - oczywiście należy pamiętać, że nazwa pliku może być ośmio znakowa. W kodzie dodałem: Plik = "temDD_MM" + ".txt" Mid(plik , 4 , 5 ) = Data_plik oraz w odczycie czasu Data_plik = Bcd(dday) + "_" + Bcd(mmonth) oraz zmieniłem wpis zapisu Open Plik For Append...
Mam sobie niżej pokazany programik w bascomie ale niestety nie wiem jak dopisać obsługę pilota :| Programik jest na 89c4051 ;) $large Config Lcd = 16 * 2 Config Timer1 = Timer , Gate = Internal , Mode = 1 Config Sda = P3.1 Config Scl = P3.0 Dim Licz As Byte Dim I As Byte Dim Nast(5) As Byte Dim St As String * 7 Dim W_reg As Integer Dim Wielk1...
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...
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.
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.
Wracajac do tematu czy moglbym prosic przynajmniej o pseudo kod obslugi przykladowo drgania w przyciskach , wysterowania przekaznika np przez 2s oraz komunikacji 1wire jednym timerem (atmega8 ma az 2 timery wiec pewnie szybko skoncza sie jego mozliwosci chcac napisac kod bez zatrzymywania) Cały dowcip polega na tym że z tego 8 bitowego timera możesz...
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.
[syntax=vbnet]Automatycznie2: Locate 1 , 1 Lcd " Tryb Automat. " Locate 2 , 1 Lcd "Aktualnie: PR:2" Prog1 = 0 Prog2 = 1 Prog3 = 0 Prog4 = 0 Prog5 = 0 If Cofn = 0 Then Goto Wybor Else Dim Odlicz As Byte Odlicz = 120 Do Wait 1 Decr Odlicz If Cofn = 0 Then Goto Wybor Loop Until Odlicz = 0 Goto Automatycznie3 End If[/syntax] Możesz nawet zwiększyć czułość...
Sprawdziłem ten kod przed chwilą i jeśli na PD6 jest przycisk.. to jego kolejne naciskanie włącza lub wyłacza naprzemiennie diode LED na pinie PORTD.7 100% tested [syntax=vbnet]$regfile = "m644pdef.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize = 32 Pcmsk3 = &B01000000 Enable Pcint3 : On Pcint3 Pcint3_isr Config Portd.6 = Input : Set...
Wiec tak: W ogóle wyrzuciłbym zmienna/flagę F. Nie jest potrzebna tutaj. W programie głównym zamiast sprawdzania F, sprawdzaj A, czyli warunek IF z przerwania przenieś do programu głównego, łącznie z zerowaniem A. W przerwaniu zwiększaj tylko A. Zamiast: If F = 1 Then Cls Locate 2 , 1 Lcd "przerwanie" Wait 1 Cls F = 0 Enable Int0 End If zrobilbym...
$regfile = "attiny2313.dat" $crystal = 4000000 Config Pind.2 = Input Config Portd.0 = Output Config Portd.1 = Output Config Portd.3 = Output Set Portd.2 Przycisk Alias Pind.2 Dim Sekwencja As Byte Declare Sub Pierwsza Declare Sub Druga Declare Sub Trzecia Enable Interrupts Enable Int0 On Int0 Przycisk_przerwanie Do Loop End Przycisk_przerwanie:...
[syntax=basic4gl]Config Timer0 = Timer , Prescale = 1024 Enable Timer0 : On Timer0 Przerwanie0 Dim Tmp As Word Tmp = 0 Dim Ptimer1 As Word Ptimer1 = 0 Do If Klawisz = 0 Then If Ptimer1 = 0 Then Ptimer1 = 100 End If If Ptimer1 < 95 And Klawisz = 0 Then Tmp = 1 End If End If If Tmp = 1 And Ptimer1 < 85 And Ptimer1 > 70 Then If Klawisz = 1 Then...
A może sprzętowe rozwiązanie ? Zamiast przycisków NO zastosować NC ?
Nie wiem czy odbierasz tam jakieś komendy. Wywal te Wait`y. Tutaj po zmianie stanu do zmiennej Blokada zostanie wpisana wartość do odliczenia w dół. Jeśli nastąpi następne przerwanie to w zależności od tego czy minął już czas blokady, to albo zostanie przedłużony jej czas bo ktoś trzyma przycisk dłużej albo.. :D [syntax=basic4gl]Dim Blokada As Word...
Co do bascomowego symulatora to działa on u mnie bardzo wolno, a Hardware simulator wyświetla jakieś bzdury Symulację można przyśpieszyć dodając $sim , ale działa to przez usunięcie opóźnień, więc może zmienić zachowanie. W każdym razie polecam przyjrzeć się co się dzieje w pamięci RAM. [url=https://avrhelp.mcselec.com/index.h...
Możesz sobie podłączyć przycisk pod zewnętrzne przerwanie i w programie przerwania na początku zrobić Disable INT0 , wtedy drgania stuku będą chyba wyeliminowane.
Uruchom przerwanie od Countera (najlepiej od porównania wartości zliczonej z ustawioną) i zmień stan portu w podprogramie obsługi przerwania lub prościej, ale mało elegancko zmień [syntax=basic4gl]If Counter1 = 100 Then ...[/syntax] na [syntax=basic4gl]If Counter1 >= 100 Then ...[/syntax] Nie tak jest to, że w chwili zliczenia setki nasz if może się...
Radziłbym Ci zobic tak: Cały PWM zrób na przerwaniu od jakiegoś Timera; nie uzywaj zmiennych typu single, jeżeli częstotliwośc przerwań bedzie odpowiednio szybka wystarczy zmienna typu byte lub word. Obsługe LCD czy przycisków i innych obliczeń zostaw w pętli główne Przykładowy PWM dla portb.3: Gdzie a to jakas amienna a do b podajesz wartosc PWM (0-255)......
Do kolegi arktik1 dlaczego kolega namawia do sprawdzania w petli danego pinu skoro luki55 ma w programie sprawdzac tylko ten przycisk to lepiej go dac w przerwanie zewnetrzne a do glownego do__loop wstawic nop. Jesli juz taki "duzy" procesor stosowac to wykorzystac go przynajmniej tyle ile sie da i ile ulatwi zycie. P.s. Attiny13 tez bylby za duzy :D
Ja bym sugerował podpiąć przycisk pod przerwanie zewnętrzne. Jeden timer byłby puszczany i zatrzymywany w przerwaniu do pomiaru czasu, a drugi do multipleksowania wyświetlania.
przerwanie przycisk bascom przycisk przerwanie przerwanie bascom
schemat instalacji klimatyzacji astra uszkodzony miernik rezystancji whirlpool drzwi zmywarka
lenovo 14ikb agregat prądotworczy
Rozkodowanie VIN Peugeot 308 SW VF34E9HR8BS256882 Jak wyłączyć tryb demo w radiu Blaupunkt R6?