nie dość, że w przerwaniu dajesz opóźnienia waitms o czym wspomniał kolega powyżej - to jeszcze wyświetlasz coś w przerwaniu na LCD a to już msakra. do tego wszystkiego daj nie tylko dyrektywę informującą jaki zegar ale co najważniejsze dyrektywy ustawiające stos sprzętowy i programowy - dodatkowo zmień wtedy ich wartości na większe niż domyślne bo...
Jeśli Call to wywołanie funkcji z odkładaniem adresu powrotu na stos, to doprowadzasz do przepełnienia stosu.
Mam problem jestem początkujący napisałem program który ma za zadanie regulować włączanie wiatraka i czas z jakim ma dmuchać , jednocześnie mierzy temperaturę i nie działa tak jak powinno : Temperatura pokazuję co jakiś czas błędny pomiar np 124 , 32 , 98 procek się resetuje chińskie znaki raz na jakiś czas w programie można było ręcznie zmieniać czas...
A co to za stan wejść RESET?
... tylko nie umiem napisać poprawnej składni. W/g autora programu, składnia wygląda następująco np. -fl10101010 , czyli bez spacji po "-fl". Zajrzyj do pliku avrx32_e.txt
AVR nie traci zawartości pamięci przy resecie. Więc jeżeli program nie będzie jej zerował, rozwiązanie jest pewne. Inna sprawa, że w tym wypadku sugerowałbym, by watchdog nie robił resetu, tylko wywoływał przerwanie. Co to będzie za układ?
skoro ma to być zegar, to po co używać pętli for? Zastąp ją lepiej pętlą nieskończoną typu do...loop lub jej asemblerowym odpowiednikiem
Oczywiście że można resety policzyć, bez mniejszego problemu. xury poczytaj sobie o MCUCSR.
Tu mam jeszcze pytanie - czy mogę wykorzystać timer, do odpytania co kilka sekund o czas z rtc, co kilkadziesiąt ms o stany przycisków, co kilka sekund o temperatury? Użyj techniki opisanej [url=http://stsystem.elektroda.eu/progra... Co prawda kody są w C, ale z opisu bez problemu...
Schemat wiele tlumaczy. Ale nie jest to chyba tak jak opisujesz. PSEN jest aktywny stanem niskim i ewidentnie w tym ukladzie to jest wykorzystywane (skierowanie diod oraz rezystor podciagajacy). Napewno nie da sie aktywowac PSEN na dluzej jak 190ns dla kwarcu 12MHz. Te milisekundy co obserwujesz to pewnie trwajacy jeszcze stan RESET wynikajacy z ladowania...
Możliwe, że któryś skok do funkcji niepoprawnie powraca i przepełnia się stos, czego następstwem jest reset mikro kontrolera, prześledź miejsca gdzie wykonywane są skoki i zobacz czy są takie gdzie np wykonujesz skok i zamiast wrócić return to wykonujesz 2 skok.
Nie da się skompilować pliku Bascoma 8051 w Bascomie AVR !
Spróbuj dać $noramclear na początku programu.
No można przestawić fisebity żeby reset wyłączyć i zrobić z tego port, ale uważaj - jak to zrobisz to o programowaniu po SPI możesz zapomnieć. Co do rezonatora to stardardowo wszystkie mają ustawiony wewnętrzny. Wszystko to jest opisane w manualach.
zgadza się to co napisał poprzednik. Przewija ci się stos i dlatego. Przekonstruuj na coś takiego: procedura_01: ... jeżeli warunek to goto procedura_02 ... goto procedura_01 procedura_02: ... jeżeli warunek to goto procedura_03 ... goto procedura_02 To coś nie odkłada nic na stosie więc to co masz teraz nie wystąpi.
Żeby układ sam się resetował przy włączeniu zasilania , to opornik dajesz do plusa i kondensator z pinu reset do masy.
Jak to wygląda w Bascom to nie mam pojęcia. W C deklaruje się sekcję NOINIT i wszystkie zmienne przypisane do niej podczas startu procesora (czyli np. po resecie od WDT) nie są inicjalizowane, więc mają swoją poprzednią wartość. Trzeba je za to niestety zainicjalizować ręcznie podczas startu procesora po włączeniu zasilania (trzeba analizować jaka była...
Przypuszczam że przyczyną wieszania programu jest przepełnienie stosu. Chyba za bardzo pogubiłeś się w tych skokach :) Przyglądnij się podprogramowi Menu , który w rzeczywistości nie jest podprogramem, a wywołujesz go przez Gosub Menu w Podprogram_4 . [syntax=basic4gl]'----------------------... Menu:...
W sumie w bibliotece wyświetlacza jest trochę stałych opóźnień przy inicjacji, ale na pewno nie aż 270ms. if you use INITLCD in your code, the compiler will not call _init_lcd any longer as part of the initalization. this way you can control when the lcd is initialized. for an xmega this should be done after the oscillator is chosen and the clock is...
Witam ATMega8 ma Timer1 16-Bitowy i do odczytu lub wpisu służą dwie dane: "TCNT1L" - odczyt lub zapis "dolnej" 8-Bitowej części i "TCNT1H" - odczyt lub zapis "gónej" 8-Bitowej części n.p. stan licznika "21456" odpowiada : TCNT1H =83 ; TCNT1L=208 bo 21456:256(pojemność TCNT1L=256)=83+208 Aby wszystko było OK to obie wartości (TCNT1H i TCNT1L) muszą być...
Jakoś czarno to widzę- nawet jak jest $noinit to i tak kasuje watchdoga. W Bascomie. Może jakoś zrobić swoje $noinit_1 swoje. Ale jak- to nie wiem. Wystarczyło by usunąć polecenia kasowania watchdoga.
Witam. Zrealizowałem moduł, z którym komunikuję się po RS485. Potrzebowałbym możliwości wykonania / zlecenia urządzeniu polecenia całkowicie resetującego mikrokontroler AVR (coś jak sprzętowy reset tyle, że inicjowany programowo). Ktoś ma pomysł jak takie coś wykonać?
...tak się składa, że w świecie "bitowym" nie ma czegoś takiego jak "losowo" - wszystko jest obliczane, stąd powtarzalność. Gdzieś na forum było o generowaniu liczb losowych na podstawie ADC z "otwartego" tranzystora.
Sprawdź co się dzieje w symulatorze. Z filmu wynika, że objaw występuje tuż po resecie, więc powinno być łatwiej.
Jeśli jest z USB, to radzę jednak dać ten 100nF na zasilanie jak najbliżej mikrokontrolera. Przydałby się też 4.7µF elektrolityczny. Bez rezystora na RESET też zadziała, podłącza się go między VCC a RESET, może wynosić 10k.
Po co tak długo trzymać te przyciski? sprobuj może na innym procku
Nie dziwne- reset zaczyna się od GND- tak zrób.
Powinien wyskoczyć Ci błąd podczas kompilacji - pinx.y używa się w operacjach odczytu i ustawiania końcówki jako we/wy. Gdy chcesz zmienić stan wyjścia, używa się portx.y=0/1 albo set/reset portx.y
Jedno z wyjść połącz do linii RESET i sterując tym wyjsciem z poziomu programu, możesz zrobić reset procesora.
Działa to tak, że zmiana stanu na tej końcówce resetuje mi procesor. PD2 podciągnięty do VCC a jak ma to działać , skoro nie masz procedury obsługi przerwania? Program się kasuje i to jest naturalne.
Powodów może być wiele Jednym z głównych może być np.ustawiona nóżka RESET jako port in/out Wtedy bascom nie wykrywa mikrokontrolera W takiej sytuacji żaden programator szeregowy sobie z tym nie poradzi muszisz przekonfigurować (programatorem równoległym) odpowiedni fusebit i wszystko powinno działać
Są Święta więc łap :D https://filmy.elektroda.pl/56_1450976796... Tylko trochę poprawiłem co tam napisałeś bo można by więcej... Możesz tez zerknąć [url=http://bart-projects.cba.pl/bargraf... tę kolekcję - Link. Napisałem w międzyczasie kilka innych i "szybszych" ale nie było czasu wrzucić. [syntax=vbnet]$regfile = "m16def.dat" $crystal = 1000000...
To wcale nie jest takie trudne. SCK = CLK - zegar RST = RES - RESET
A stabilizator masz? Kondki przy nim ? Reset przez opornik 1-10K do Vcc masz ? Pozdrawiam
Zrób tak: 1 licznik do odmierzania czasu, przerwanie co np 25ms 2 licznik do zliczania impulsów Jeżeli nastąpiło przerwanie np 25ms, to zlicz liczbę impulsów. W taki sposób masz dokładniejsze odmierzanie czasu, funkcja wait do tego się nie nadaje. Przeanalizuj sobie ten temat: http://www.elektroda.pl/rtvforum/topic16... a potem dodaj to co napisałeś...
co ma się niby ustawić Portd.0 czy Portd.5 ? Gdzie jest procedura obsługi przerwania od Timera? Nie wiem czy reset nie działa tylko bitowo w Bascomie, myślę że lepije i bezpieczniej jest zrobić krok=0.
Panowie, to Bascom. Musiałbyś dorwać się do kodów biblioteki w ASM i zobaczyć jaka funkcja w ASM jest odpowiedzialna za reset komunikacji z LCD i jego inicjalizację i ja cyklicznie wywoływać. Bez tego w Bascom będzie ciężko, ewentualnie możesz napisać sam prostą procedurę inicjalizacyjną na podstawie DS sterownika wyświetlacza.
Bo trzymasz znak w zmiennej zadeklarowanej jako Byte. Zrob sobie stringa o dlugosci np. 5 znakow i zobaczysz. acha i jeszcze po zresetowaniu mikroprocesora wyskakuje w terminalu kwadracik... Wcale sie nie dziwie bo po resecie pojawiaja sie smieci...
Witam Czy ktoś ma doświadczenie z przerwaniami w bascomie. Napisałem sterownik temp. I cyklicznie za pomocą przerwania wywołuje podprogram który odczytuje temperaturę niestety często zdarzają się kaszaki na LCD poczym reset procesora zazwyczaj w ekranach parametrów po wyłączeniu przerwania wszystko jest ok. Domyślam się że przerwanie zatrzymuje działanie...
Bascom po resecie lub załączeniu zasilania na pewno zeruje wszystkie zmienne, a WinAVR najprawdopodobniej przypisuje nieokreślone wartości (kompilator wstawia uwagi za brak określenia wartości początkowej zadeklarowanej zmiennej) . Jeżeli istnieje konieczność zachowania wartości po resecie lub wyłączeniu zasilania to dane należy zapisywać w pamięci...
Ja programuje układ i wkładam w miejsce docelowe. Co prawda to układ prototypowy ale płytkę mam w miarę logicznie zaprojektowaną i zmiana portu nie wchodzi w grę. Poza tym 328 ma budę jak 8'ka. Port PC mi potrzebny (ADC), zostaje PD (LCD data bus) i PB (LCD control bus). Co mam poprawić w połączeniach? Bascom - Ce = 3, atmega PB3, LCD - CS1 (15) Bascom...
Nie wiem czy wyjdzie to jako kolejny post lub dodany po czasie :D ..., ale po pierwsze chciałbym byś nie myślał że moje uwagi są złośliwe. Po prostu zapytań o różne aspekty programowania w Bascom jest tak wiele że lepiej jest odpowiedzieć na ogólnodostępnym forum niż musieć sie powtarzać. Jest szansa że jeszcze ktoś to przeczyta :D Zamiast za każdym...
Jak skonfigurować nóżkę RESET procesora w Bascomie jako zwykłe wyjście?
Witam! mam pare pytan: 1. Czy mozna podlaczyc nozke !RESET do VCC? (podobno kontroler ma swoj wewnetrzny uklad resetowania tzw POR (power on reset))? 2. Czy mozliwe jest ze Bascom "nie rozpoznaje" kosci gdyz nie resetuje jej poprawnie? (uzywam 1.11.7.4 i programatora STK 200/300) 3. Czy do "ukladu resetowania potrzebny jest rezystor opozniajacy ladowanie...
Np. Bitwait Pinb.0, Reset 'czekaj aż na PB0 będzie stan niski
1) jeśli używasz przycisków to zawsze podłącz go tak aby przyciśnięcie zwierało nóżkę portu do masy czyli do -. To naprawdę ułatwia sprawę i zawsze działa 2) dobra praktyka - przyciski, jumpery itp podłączaj do pinu procesora przez rezystor np 180 omów. Chodzi o to że kiedyś możesz się pomylić, ustawić pin jako wyjście, dać na nim 1 czyli napięcie +...
Do skompilowania tego programu użyj BASCOM-8051 a nie AVR... Pozdrawiam...
w jaki sposób masz podłączony programator do procesora? masz jakieś podciąganie PDI RESET?
Funkcje wait (waitms) w BASCOM nie blokują i nie resetują watchdoga. Wyłączanie watchdoga w czasie odczekania może prowadzić do sytuacji, gdy wchodzące w tym czasie zakłócenie zablokuje nam na stałe procesor. Dlatego lepiej wstawić pętelkę z resetowaniem watchdoga i zostawić watchdog włączony: for i=1 to 3 reset watdog wait 1 next
OK ten jest w pozatku ale kurcze moze wymyslisz jeszcze cos aby byl ten reset
To spróbuj ustawić reset na uC i wtedy zobacz czy będą czarne kwadraciki w górnym rzędzie.
dobrze, a nie lepiej w przerwaniu napisać warunek, że jeśli zmienna bitowa równa się jeden to robi to a jeśli nie to tamto końćząc podprogram1 zrobisz SET tej zmiennej a kończąc podprogram2 RESET :D
Masz podciagniecie resetu do VCC? Spróbuj sam ustawiać rejestry od watch doga.
Dodam że w programie poprawiłem błędy składni a nie popatrzyłem na schemat i nie poprawiłem błedów logiki. Na schemacie podłączone masz tylko wyjście OC1A więc odwoływanie się w programie do PWM1B jest całkowicie bezcelowe. Do tego DC_on_off to alias pinu OC1A czyli Timera1 który został ustawiony w tryb generowania sygnału PWM. W takim trybie Timer...
Powinieneś tak napisać program, aby taki reset nie był potrzebny a jeśli upierasz się przy tym to wykorzystaj WATCHDOGa.
Wstaw znak komentarza przed te linie (lub je usuń) : [syntax=basic4gl] Set Nadawanie Print Numer_karty$ Reset Nadawanie [/syntax] Skompiluj jeszcze raz, zaprogramuj ponownie karty i spróbuj wtedy.
Czyli ustawiam stan niski zaraz po konfiguracji. Błąd, nie ustawiasz :). zamień: [syntax=basic4gl]Reset Pind.4 'oc1b niebieskie Reset Pind.5 'oc1a biale Reset Pind.7 'oc2 czerwone[/syntax] na: [syntax=basic4gl]Reset Port.4 'oc1b niebieskie Reset Port.5 'oc1a biale Reset Port.7 'oc2 czerwone [/syntax]
ale procesor sie prawidlowo uruchamia i programuje...mimo to na reset jest stan 0
Zamieniłem Atmega8 procesor Atmega168 i po resecie watchdoga, program się zawiesza procesor nie reaguje na zewnętrzny reset dopiero po odłączeniu zasilania i włączeniu ponownym układ działa poprawnie do ponownego resetu watchdoga. Czy może ktoś się z tym uporał, bo ja wypróbowałem już wszystko, co mi przez parę tygodni przyszło do głowy... Zamieszczam...
Wszystkie Sub`y powinny być poza pętla Do Loop a tymczasem u Ciebie etykieta Silnik jest w pętli. Gosub czyli "go sub" oznacza odłożenie na stos aktualnego adresu gdzie program jest wykonywany, skok pod adres procedury Sub i powrót w to samo miejsce (a dokładniej do następnego po odłożonym adresie miejsca) poprzez Return Return zdejmuje ze stosu odłożony...
....PB.7 jest RESET-em uC?... A to już zależy od tego jak masz ustawione bity konfiguracyjne. Jeżeli ich nie zmieniałeś to PB.7 pracuje jako reset i w takim układzie LCD nie będzie działał.
Witam Chcialem wykorzystac pin 1, port Pc.6 (reset) do wykrywania nacisniecia przycisku. Jak w Bascom powinien wygladac przykladowy program ?
Chwile mnie nie było :D Napisałbym to inaczej, ale wracając do pytania z pierwszego postu . Jeśli chcesz by procesor zawsze był tak samo zajęty to każ mu w tych innych Case`ach także nadawać Pulseout tylko na pin Reset. Bascom to przełknie bo ten pin może pracować jako normalny I/O ale jak jest resetem to nic mu się nie stanie jak napiszesz Pulseout...
To bez znaczenia bo i tak wywala sie nawet na 2^2 :) Nie czytasz co piszą inni - stos :D Wklej na początku kodu ... $hwstack = 64 $swstack = 64 $framesize = 64 ... Piotrek
nic to nie pomaga.... już testowałem czy samo nie zacznie działać przez godzinę i nic. Jedynie tylko reset za pomocą pinu RESET sprawia że moduły nawiązują połączenie od razu. Oto zdjęcia modułów, lecz myślę że to nie ma żadnego znaczenia http://obrazki.elektroda.pl/6959889100_1... Dodano po 3 Teraz pomyślałem... chyba że ktoś zna sposób...
A w jaki sposób sprawdzić przyczyny resetowania sie układu? Popatrz na skrót fragmentu Twojego kodu: [syntax=basic4gl] Mainn: '... Gosub Temp '... Temp: '... Gosub Mainn '... [/syntax] Jeśli rozumiesz w czym tkwi błąd, to OK, ale jeśli nie, to ... jeszcze sporo nauki przed Tobą :|
Jeżeli to jest przetwornica to nie pisz UPS. To kwestia tylko zamiany przed główną pętlą Do Loop: Reset tr1 Set tr1 W kodzie tym początkowym. Pamiętaj o tych 10ms.
Źle podpięty RESET atmegi no i brak przy pinie 2 złącza programatora +5V..
Zastosuj np Watchdoga. Jeśli na magistrali są bzdury to następuje reset urządzenia.
Jeśli masz diody podłączone do plusa włączasz je komendą Reset a wyłączasz Set. Set podaje na pin stan wysoki (czyli plus) i dlatego ci to nie działa jak chcesz.
Zawsze można a jak nie ma gotowej funkcji to można coś takiego: Kl_dat Alias Pind.3 Kl_clk Alias Pind.2 ... Odczyt_klawiatury: Gosub Czekaj_na_0_na_clock For I = 0 To 7 Gosub Czekaj_na_1_na_clock Gosub Czekaj_na_0_na_clock Klawisz.i = KL_dat Next I Gosub Czekaj_na_1_na_clock Gosub Czekaj_na_0_na_clock Gosub Czekaj_na_1_na_clock Gosub Czekaj_na_0_na_clock...
Witam szanownych RT. Tylko nie ciskajcie się... Cztałem już całą kupe różnych materiałów o miniodbiornikach/nadajnikach , ale nie bardzo umiem znaleźć na taki temat jak mój. Mam taki problem - chcę zrobić komunikację między dwoma AVR'kami zastępczo dla IrDA ,(są ograniczone "widocznością") , tak więc mamy sygnał TTL (tak mi sie wydaje) np. w Bascom...
Mam juz gotowy układ i nie moe juz nic zmienic w hardware. Myślałme ze da sie to zrobić inaczej. Ale skoro nie to ok. Dzieki za zainteresowanie.
[syntax=basic4gl] If Alarm = 1 And Portd.0 = 0 Then Reset Alarm ' Jeśli alarm wysyła dźwięk i zostanie naciśnięty przycisk nr. 1 - wyłącz go[/syntax] powinien być Pind.0
uklad z prockiem musi byc podpiety do zasilania i moze normalnie wykonywac program a jak chcesz programowac to programator wprowadza ci uklad w taki stan jakbys trzymal caly czas reset i wtedy programuje
Funkcja RESET lub bezpośrednie przypisanie zera. Na przykład. PORTB.0 = 0 lub RESET PORTB.0
Jest kilka możliwości. Tak samo w Bascomie jak i w każdym innym języku/kompilatorze. Można uruchomić WATCHDOGa i odczekać w pustej pętli aż zresetuje, można połączyć dowolne wyjście mikrokontrolera z wejściem resetu i zresetować, gdy potrzeba. Np tak: CONFIG WATCHDOG = 16 start watchdog do:loop A dlaczego chcesz resetować? Nie lepiej napisać program...
Problem w tym, że Bascom źle wyświetla wartości fusów, a po drugie nie mam pojęcia jak zapisuje te fusy (chyba zamienia High z Low). Mając fabryczne E1 low chciałem go zmienić na C8. Jeśli Bascom wpisał mi C8 w High to właśnie zablokował mi RESET :(
a jak to zadać w BASCOM ? Do procedury inicjalizacji LCD w bascom tak jakby nie mamy dostępu. Czy mam wyprowadzenie reset trzymać programowo do masy ?
Hmm może masz zwarcie na MISO? Możliwe, ale jakim cudem wykrywa, że jest podłączone jak napięcia nie ma na programatorze, więc 74hc244 jest wyłączony. Miałem wytrawione 2 płytki, teraz podłączyłem do tej drugiej staranniej zrobionej i teraz ciągle pisze FFFFFF. Ja już nie wiem co to może być :/. Ale teraz jest napięcie 1.80V na RESET.
Czas zapisu Eepromu wynosi typowo 2,5-4ms. W tym czasie nie powinny byc dokonywane zadne inne operacje na pamieci Eeprom. Informacja o zakonczonym zapisie znajduje sie w rejestrze Eecr (bit 1). Wyzerowanie tego bitu = koniec zapisu Po instrukcji writeeeprom mozesz dac polecenie: bitwait Eecr.1, reset wtedy program bedzie zatrzymywany jedynie na czas...
Tak, też to występuje po resecie procesora.
Należy zmienić ustawienia fusebitów i wyłączyć div8 ! - disable teraz dzieli ci 8MHz przez 8 wtedy ruszy 8 razy szybciej tylko prosze nie eksperymentować z spi , reset , DWen , bo skończy sie brakiem komunikacji po spi !
Twoje przerwanie odbywa się co około 4ms..... a ty w tym przerwaniu ładujesz WAITMS 4 i to aż cztery razy !!!! co daje ci łącznie 16ms. Tak więc zaczyna się przerwanie - trwa jak kolega wyżej napisał KOSMICZNIE DŁUGO, ale ok potem się kończy, i niestety od razu procek wykonuje następne przerwanie i tak wokółko ;) ..... widzisz co się dzieje???? procek...
Programator nie potrafi wprowadzić procesora w tryb programowania. Do sprawdzenia poprawność połączeń i czy linia RESET nie jest zbyt obciążona (kondensator do masy, rezystor do VCC o zbyt niskiej wartości). I przede wszystkim czy procesor jest w ogóle zasilany.
To jest właśnie jeden z powodów, dla których porzuciłem bascom'a jednakże jest na to rozwiązanie - wykorzystaj zmienną pomocniczą: [syntax=basic4gl]Dim B As Byte Dim C As Byte Dim Tmp As Byte Dim Malo As Bit Dim Rowno As Bit Dim Duzo As Bit Tmp = C - 1 If B < Tmp Then Reset Malo Else Set Malo End If Tmp = C + 1 If B = C Or B = Tmp Then Reset Rowno...
Mam małe doświadczenie w tych sprawach, ale czy nie wystarczy zwykły skok w asemblerze (sprawdzi się też w bascomie) typu JMP $000 ?
problemy z zasilaniem, zamykam
może jakoś tak baud= ..... Config Pin_klawisza = Input Dim N As Byte Dim I As Byte Dim Temp As Byte Dim Znak As String * 2 N = 1 Do Debounce Pin_klawisza , Stan , Generuj , Sub Temp = Inkey() If Temp <> 0 Then Znak = Chr(temp) If Znak = "+" Then Incr N If Znak = "-" Then Decr N Loop Generuj: For I = 1 To...
Usunąłem [syntax=basic4gl]'1wreset 'to jest Reset czujników[/syntax]
Proszę sprawdzić ten plik wgrac i zobaczyć czy pójdzie ? jeśli chodzi o reset to można podpiąć kondensator 470n do masy i rezystor10k do +5V ale najpierw prosze sprawdzic ten plik czy na nim działa potem dopierozałożyć do resetu R i C
Może zanim zapomnę o czym chciałem napisać a nie jest najważniejsze, ale dla Ciebie ważne. Tak w telegraficznym skrócie -> USART w AVR ma możliwość włączenia jakby podwójnej prędkości/próbkowania (to samo SPI). Bit ma skrótowa nazwę U2X. Przy taktowaniu 16MHz, jak prawie każda płyta Ardu, to bez U2X predkość 115200 miałaby za duzy błąd który niby maksem...
Witam ! Źle ! Do Set P1.7 WAIT 0.5 Reset P1.7 Loop Kod na miganie jednej diody powinien wyglądać tak: $regfile = "89c2051.DAT" ' tę linię można zadeklarować w opcjach $crystal = 8000000 ' tę linię można zadeklarować w opcjach do set p1.7 waitms 250 ' 250 to chyba max w Bascomie 8051 waitms 250 ' 2x250ms około 0,5sek reset p1.7 waitms 250 '...
Z całym szacunkiem to jest to po prostu wioska. Nie zadałeś sobie trudu sprawdzenie biblioteki o której pisałem. Powinienem to tak zostawić , ale nie mogę na to patrzeć. Nie dość, że nie możesz używać standardowych instrukcji Bascom takich jak Lcddat, Showpic itd to jeszcze potrzebujesz 512 Bajtów na bufor.. Dyskwalifikuje to ten kod dla mniejszych...
Sw7 pracuje jako reset, jeśli przełączysz go we fuse bitach do pracy jako zwykły port stracisz możliwość programowania po ISP. Uporządkuj schemat i program, inaczej szkoda czasu.
W Bascom jakim poleceniem zatrzymać program , tylko reset procesora uruchamia ponownie program od początku , może tez być polecenie uśpienia układu.
Jeśli założyć, że przycisk podpięty do PORTD.1 i jeśli założyć, że dobrze zrozumiałem Twoją idee programu, bo namieszałeś okropnie, to... $regfile = "m8def.dat" $crystal = 1000000 Led Alias Portb.0 Config Pinb.0 = Output config Pinb.0 = input : Portb.0=1 Do if Pinb.0= 0 then Set Led Waitms 400 Reset Led Waitms 700 else Set Led Waitms 1000 Reset Led...
Można : Stop watchdog Pozdrawiam! to akurat nie dziala.... Bascom wywala nastepujacy blad przy kompilacji... error 102: illegal asm-command
Witam. Można tak: $regfile = "attiny13.dat" $crystal = 1200000 Config Portb.3 = Output Config Pinb.4 = Input set pinb.4 reset portb.3 do if pinb.4=0 then do Set PORTB.3 Wait 1 Reset PORTB.3 Wait 1 Loop end if Loop W pętli odczytujesz stan przycisku i jak będzie niski zacznie migać.
Czy mógłbym przy okazji spytać czy jest takie polecenie w bascomie, żeby w pętli programy nagle wykonać "reset portów" tzn. aby ustawić wszystkie na "0"? Reset PORTX
reset bascom bascom reset wejście reset procesor bascom
wyprzedzenie zaplonu zelmer predom zrobić czujnik poziomu cieczy
mikrokomputer cobra1 rower elektryczny problemy
Jak rozpoznać bieguny superkondensatora? Czy druty na ciepłym kaloryferze są bezpieczne?