Co jest źle napisane? CLS!!! Nie kasuj wyświetlacza tylko nadpisuj. Użyj Locate y, x lub podobnych instrukcji.
Przerwanie przerwie wykonanie instrukcji Wait. Po wykonaniu podprogramu obsługi przerwania uC dokończy wykonanie instrukcji Wait. Wniosek - instrukcja Wait nie wstrzymuje działania uC.
Być może bascom'owe instrukcje obsługi lcd nie patrzą na kierunek w jakim działa port, tzn. w w funkcja "Config Lcdpin" ustawia wybrane porty jako wyjścia a pozostałe instrukcje obsługi lcd nie sprawdzają czy to się nie zmieniło. Spróbuj przed instrukcjami od lcd czyli przed obydwoma "cls" ręcznie przestawić wyprowadzenia uC jako wyjścia. Druga sprawa...
Jeżeli skaczesz do podprogramu Dalej to mozę potem z niego powróć a nie skacz z niego ponownie do Klaw z którego to Dalej został wyzwolony. Dodatkowo możesz zwiększyć stos bo często przez niego program sypie się na podprogramach. Sugeruję również w danej chwili ustawienie tylko jednej nóżki jako wyjście gdyż jak u ciebie gdy 3 są wyjściami i na nich...
Dorzuć po Chr(13) - Chr(10) i sprawdź. Alternatywnie sprawdź w instrukcji obsługi modemu, jak ustawić koniec linii polecenia.
Można zerować, ale nie trzeba, bo każda instrukcja, która ją "obsługuje" i tak ją wyzeruje jeśli nie ma błędu lub ustawi po błędzie.
Albo używasz jakiejś archaicznej wersji Bascoma, albo masz babola w programie w całkiem innym miejscu - obstawiam to drugie. (choć praktyka pokazuje że wielu ludzi z lubością używa starych wersji kompilatorów a później się dziwi że to i owo im nie działa na nowszych prockach) Bo całkiem normalnie daje się kompilować obsługę RC5 w Bascomie z użyciem...
W podprogramie obsługi przerwania Timer4 brak ci instrukcji end if.
No cóż, Bascom umożliwia wstawki w asemblerze, co może skrócić obsługę przerwania...
No masz rację. Ale err wykorzystywałem w instrukcjach I2C i było dobrze.
Nie taka konstrukcja jest jest niepoprawna. Obsługa przerwania musi być zakończona instrukcją Return. Zamiast Goto ustaw flagę i sprawdzaj jej stan w pętli głównej. Jeśli warunek się spełni to wtedy skocz do podprogramu.
może schemat, a nie jakieś instrukcje obsługi....
Mam pytanie jak odzczytać podawaną na piny procesora at89c2051 liczbę w kodzie BCD?? prosze o przykład polecenia w bascom.:?: x=Makedec(Px) I proszę zaglądac do "instrukcji obsługi" Bascoma ;) P.
Witam! Tak bascom posiada gotowe instrukcje do obsługi myszy:D Zaglądnij sobie do helpa (index) i wpisz config ps2emu Tam znajdziesz obszerny przykład i jeszcze dodatkowe istrukcje: SENDSCAN, PS2MOUSEXY Pozdrawiam Wektor
W bascomie jest specjalna instrukcje do obsługi przycisku DEBOUNCE Proponuje z niej skorzystać
cóż, nadal proszę o jakieś szersze informacje, instrukcję obsługi itp.
Instrukcja Wait nie stopuje procesora. Procesor odlicza czas poprzez zmianę wartości rejestrów a więc działa. A skoro działa to powinien także odczytać informację, że nastąpiła sygnalizacja od przepełnienia Timera. Spróbuj zastosować tą instrukcję. Tylko nie wywołuj jej w obsłudze przerwania a w pętli głównej. Bo gdybyś wywołał jej obsługę w przerwaniu...
Jest gdzieś jakiś opis czyli coś w rodzaju instrukcji obsługi - jakie polecenia w bascomie to obsługuje ? - jakim poleceniem wyświetlić polskie znaki ? przy zwykłym wyświetlaczu wykorzystujemy defloatcharacter ( znaki definiowane )
...Typ zmiennej wiem że musi być integer . Nie musi :!: Nie wiem tylko jak wyświetlić tę liczbę na portach zewnętrznych Poszukaj w "instrukcji obsługi" Bascom , słówek High i Low :idea: Piotrek
Ciekawe jest to widać w twoim profilu (Pomógł: 79927) :P ale do rzeczy. Według mnie coś takiego można zrealizować w następujący sposób: - konfigurujesz przerwanie zewnętrzne żeby było wyzwalane przerwanie zboczem opadającym, rosnącym etc. - w tym przerwaniu uruchamiasz timer który zlicza sobie impulsy - jeżeli zliczy określoną ilość impulsów to wykonujesz...
Trzeba otworzyć soft Usart. Służy do tego instrukcja Open.
Super monotonnej konfiguracji nie trzeba, biorąc pod uwagę, że cała różnica polega głównie na ustawieniu adc w free running mode (config adc=free), dodaniu obsługi przerwania i odpowiedniego ENABLE :) Wszystko w instrukcji bascoma.
Czy w obsłudze przerwań używasz jakiś instrukcji do obsługi LCD? Jeżeli masz możliwość zamień wyświetlacze i sprawdź czy tak samo się zachowują.
W jakim języku będziesz pisał program :?: Jeżeli w BASCOM, to tam znajdziesz wbudowane instrukcje obsługi wewnętrznej pamięci EEPROM. A co do zewnętrznych, to istnieje seria 24CXX (np.: 24C64). A może lepiej zastosować jako nośnik danych karty SD/MMC :?: Wtedy można szybko przenosić dane z komputera :idea:
Gdzieś na elektrodzie ktoś już podawał fajny mały i szybki programik w BASCOM do obsługi enkodera, który przede wszystkim był naprawdę odporny na drgania i błędne zliczanie - wiem, bo sam go kiedyś sprawdzałem. Działał dokładniej niż gotowa bascom'owa instrukcja. Program był na tyle prosty, że i na C bez problemu byś go przepisał.
A co z powtówną instrukcją LOAD Timer0, 50000 w procedurze obsługi przerwania?
Dużo też zależy od miernika, niektóre nie radzą sobie z niską częstotliwością, albo mają problem z przebiegiem prostokątnym. Przeczytaj instrukcję obsługi, powinna być wzmianka na ten temat.
Witam. Na stronie: http://www.cyfronika.com.pl/kompilatory.... Wyczytałem że: "W język Bascom AVR wbudowano wiele instrukcji zapewniających m.in. łatwą obsługę (...) a także obsługę stosu TCP/IP na układzie W3100A" Czy komunikacje przez LAN w BASCOMIE (sterowanie portami I/O za pomocą przegladarki, strona z "wlącznikami") latwiej zrobić na W3100A? Czy...
ERR jest zmienną systemową i zapisywać ją mogą funkcje które mają jej obsługę. ERR sprawdza się zatem zaraz po tym jak wykonała się instrukcja ponieważ następna instrukcja na przykład 1Wreset też zwraca ERR i nadpisze ją 0 znaczy że wszystko przebiegło pomyślnie. ERR się tylko sprawdza.
W książce "Programowanie mikrokontrolerów AVR w języku Bascom" M. Wiązani autor przedstawił sposób obsługi klawiatury ze złączami AT i PS2 w Bascomie na przykładzie ATmega8. Linie data i clk podłączono do linii pb1 i pb2 mikrokontrolera. W Bascomie istnieją gotowe instrukcje do obsługi klawiatury. Powinno to działać na 2313.
Witam Wszystkie szczegóły odnośnie transmisji masz na stronie 6 w postaci graficznej. Bardzo ładnie wszystko widać. W pierwszej kolejności ustawiasz pin CS i LDAC w stan wysoki a SCK w stan niski. Żeby rozpocząć transmisję do układu (DAC) ustawiasz stan niski na wyjściu CS następnie na wyjściu danych SI ustawiasz najbardziej znaczący bit dwunastobitowego...
Korzystając z języka wysokiego poziomu, czyli C lub Bascom uzyskasz takie afekty, że zawsze coś się będzie rozjeżdzało. W Bascomie te efekty będzą napewno wieksze niż w C. Musisz dążyć do tego, aby procedury obsługi przerwania były jak najprostsze i najszybsze , oraz dla wszystkich przypadków takie same czasowo. Jeżeli widzisz że któraś opcja jest zawsze...
Napisz tak: Dim Zmienna As Byte Zmienna = 0 Config Intx = Low Level | Rising | Falling [ | Change ] 'Konfiguracja reakcji na sygnał przerwania 'za x podstaw nr przerwania wybierz jeden ze sposobów pobudzenia kocówki uC Enable Interrupts 'Uruchomienie przerwań globalnych Enable Intx 'Uruchomienie przerwania INTx On Intx Obsluga_przerwania 'wskazanie...
A co to za zmienna Nr? Jaką ma wartość początkową i czy ustawioną? Sprawdziłbym jeszcze w symulatorze, czy program "wyrabia" z tymi wszystkimi instrukcjami w obsłudze przerwania i czy nie jest w tym czasie generowane kolejne.
Problem rozwiązałem już w inny sposób. Generuje z Timer0 przerwanie co 4ms (prescale 256 i load timer),150). Zegar działa po zaprogramowaniu procesora a symulator jak to symulator (ja go nie ogarniam lub mnie po prostu nie lubi). Co do wyświetlania na LCD musiałem poprawić jego obsługę gdyż same nie wyświetlał powyżej 10 pomogło dopisanie procedury...
Obsługa 1Wire w BASCOMie nie jest obsługiwana w przerwaniach. Możesz spróbować czegoś takiego: cli 1wreset 1wwrite &H55 sei cli 1wwrite B2 sei cli 1wwrite &H44 sei Chodzi oczywiście o porozdzielanie wszystkich instrukcji 1Wire sekwencjami sei,cli.
Przerwanie wyzwalasz poziomem czy zboczem? Kolejna sprawa. Gdzieś czytałem, że AVR po wyjściu z przerwania wykonuje JEDNĄ INSTRUKCJĘ i przechodzi znów do obsługi przerwania (jeśli jest nowe). Jeśli chcesz blokować wskoczenie do nowego przerwania , to musisz w OBSŁUDZE POPRZEDNIEGO PRZERWANIA na samym końcu sprawdzać bit zgłoszenia ponownego przerwania....
A jak nie znajdziesz to robi się to tak (na piechotę ale równie skutecznie): Podłącza się jedno wyprowadzenie pod przerwanie a drugie pod zwykły pin. Następnie przerwanie tylko na opadające lub tylko na narastające (zależnie czy avr czy '51). W obsłudze przerwania wystarczy że sprawdzisz stan drugiego wejścia. 1-impuls w jedna, 0- impuls w drugą. To...
'do liczby 1536 trzeba by jeszcze coś dolożyć, na wykonanie instrukcji Zasadniczo nie trzeba nic dokładać, bo wartość timera jest inkrementowana sprzętowo od razu (w kolejnym cyklu maszynowym). Czyli już w trakcie obsługi przerwania. Jeżeli obsługa timera zmieści się w 255 cyklach maszynowych, to zmieniany jest tylko młodszy bajt timera - czyli w procedurze...
W BASCOMie są instrukcje przydatne w transmisji szeregowej sprawdz: SHIFTIN i SHIFTOUT generują przy okazji CLK pozdr KN
Co do wyświetlenia na lcd, to już możesz zrobić to sam. Poczytaj w helpie o instrukcji Lcd i konfiguracji obsługi wyświetlacza w bascomie. To nic trudnego, tylko trzeba chcieć.
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...
Tak się zastanawiam, czy ten programator który obecnie posiadasz to jest USBAsp ? Do obsługi tego programatora masz program PROGISP 1.72, ten programik oprócz ATMEG obsługuje różne pamięci i parę mikro kontrolerów serii MCS51. Tu jest dwu strona instrukcja w języku polskim do tego programu. -> [url=http://www.smartrobots.pl/download/...
Nie będe firmy reklamował ale jeden z polskich producentów podobnego sprzętu opartego o rozwiązanie tego programatora ma na swojej stronie pełną dokumentację, schemat i instrukcję obsługi tego programatora łącznie z instrukcją konfiguracji tego pod każde środowisko (Atmel Studio, Bascom, etc.) Dostępny jest nawet wsad do mikrokontrolera. Naprawisz sobie...
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...
chwilowo z fotek nici, bo nie mam kabla do cyfraka (piesek ;( ), ale dostalem od Huberta artykul (część pierwszą o Obsłudze RS485 w Bascomie)...
Bascom takie, a nawet większe opóźnienie wprowadza sam przy każdej instrukcji :wink:. Najnowszy bascom niekoniecznie. Miałem kiedyś problem z przeniesieniem kodu obsługi RFM12B z Bascom na C - w starej wersji Bascoma działało bez opóźnienia, w C musiałem dać opóźnienie kilku us, ale potem w najnowszym Bascom (2.0.7.6) kod przestał działać - też trzeba...
Config Portb.0 = Output Config Portb.1 = Output Config Portb.2 = Output Config Portb.3 = Output Config Portd.7 = Output Config Portd.6 = Output Config Portd.5 = Output Config Portd.4 = Output zastąp: DDRD=255 Zastąp IFy case'ami, dodaj procedurę zerującą Portd7-4 i kod będzie zgrabniejszy. Przypisanie logiczne zastąpi 4 instrukcje sbi/cbi warte 8 taktów...
Parę ciekawych rzeczy można znaleźć w tym poście: http://www.elektroda.pl/rtvforum/viewtop... W nowszej wersji bascoma jest instrukcja CONFIG Dcf77.
Ok. Piszę i kompiluję w Bascom AVR, przy czym AVR studio umożliwia podłączenie zewnętrznego kompilatora w celu przesłania kodu po ISP do procka. Takie rozwiązanie zostało zaproponowane w instrukcji płtyki testowej od AVT. Powodem jest chyba brak obsługi Attiny2313 przez starsze wersje Bascom AVR. Także listing, który załączyłem jest w Bascom.
Przesuwanie startu watchdog na początek nie eliminuje problemu. Pewnie tak jak piszesz Bascom procedury inicjacyjne LCD umieszcza zaraz po resecie mikrokontrolera i stad te opoznienie. Moim zdaniem nie powinno tak byc bo ciezko zapanowac nad czyms czego nie widać. Chyba przyjdzie samemu napisac procedury odnosnie obsługi LCD :(
Spróbuj If a="wykonaj" then ... albo zamiast cudzysłowu weź to w apostrofy, bo nie pamiętam jak to w tym języku leci. Tak samo oczywiście z instrukcją PRINT (print "OK")
To nie Bascom jest przyczyną tylko źle napisany program ;). 1. odczyt timera1 16bit odbywa się po przez rejestr pomocniczy TEMP, ten rejestr jest też używany przez inne procedury i funkcje i jeśli jest użyty to właśnie niszczona jest wartość High timer1 bo ona tam jest wpisana gdy używasz komendy. wpisując tak timer1 do tablicy możesz gubić High timer1....
Tak po krótce przeanalizowałem wątek TIMER2 tego nowego programu. Po prześledzeniu kilku instrukcji i "śladów skoków" mogę stwierdzić, że nie jest dziwne, że gdy aktywny jest TIMER2 i jego przerwania to wszystko siada. Pojawia się przerwanie TIMER2, program wskakuje do jego obsługi a tam napotyka: GOSUB w inne miejsce, gdzie napotyka GOTO w jeszcze...
To piszczenie ma być tylko wtedy gdy czujnik temperatury nie będzie odpowiadał tzn gdy np zostanie uszkodzony lub odłączony od magistrali 1-wire. To miało być jako taka informacja że coś się dzieje z czujnikiem. To w takim razie jak to zadeklarować jako podprogram lub tą funkcję do obsługi przycisków??
Dzieki za zainteresowanie. Tylko ze pomyliles interfejsy - linia SDA wystepuje w I2C a moj problem dotyczy SPI. Aktualnie zrobilem nowa plytke drukowana do rozpracowania tego tematu. Przede wszystkim pamiec mam podlaczona do pinow SPI sprzetowego. Podlaczylem tez wyswietlacz LCD, zeby liczby ktore mnie interesuja po prostu wyswietlic. Wyprzedzając pytanie...
Po wykryciu naciśnięcia klawisza musisz ustawić poziom świecenia i przerwać pętlę for next, bo wykonuje ci się jej resztka i zmniejsza jasność świecenia. Co do W1, nie wiem czy to jest komplet źródeł, ale jeśli używasz Bascomowe procedury obsługi W1, to musisz mieć zablokowane przerwania. Albo nie używasz przerwań wcale w programie, a jak nie to musisz...
Nie jestem pewien, ale wybudzanie da się chyba tylko stanem nie zboczem... doczytaj w dokumetacji:> Przed uśpieniem(procek wykonuje kod) , INT0 może być ustawione na falling , ale przed wykonaniem instrukcji SLEEP , należy zmienić sposób wyzwalania na LOW LEVEL i ... włączyć przerwania , jeśli usypiamy proca w przerwaniu. Poza tym , bit ISC01 może...
Ponadto etykiety podprogramów obsługi przerwań powinny być poniżej instrukcji "End" A sama instrukcja "End" powinna być tuż za pętlą główną.
Witam Strasznie komplikujecie zagadnienie, zasymulować 4017 jest niezmiernie łatwo, oczywiście najpierw musimy zaimplementować obsługę klawiszy a potem zaglądamy do Helpa Bascoma i czytamy o instrukcji ROTATE, ponieważ umozliwia ona przesywanie zarówno w prawo jak i w lewo to jedyne co zostaje to ustalić pozycję LEDa na starcie. Ponieważ ROTATE działa...
Czy tak może być? Nie. Po komendzie: "1wwrite &H55" Spodziewana jest komenda wpisu adresu adresu device do której odnoszą się dalsze komendy, ponadto: Błędem jest stosowanie tejsamej flagi (niby stopniowej) do wielu operacji bez jej kasowania. Zauważ że flaga=1, lub flaga =2 utrzymuje sie przez dłuższy czas, o wiele dłuzszy niż 'przewinięcie 'pętli...
Nigdy nie programowałem w BASCOM-ie ale wydaje mi się ze masz źle coś w ustawieniach. Sam używam takiego programatora jak ty stk500v2 tylko że w win AVR i AVR studio. Jedyne co moge tobie teraz pomóc to podesłać instrukcje obsługi do tego programatora. [url=http://www.elektroda.pl/rtvforum/vi...
Lecz zrobiłem sobie testy: Że na wyświetlaczu wyświetlam wartość B, i jak się okazało, jeśli zamienię Config Timer0 = Timer , Prescale = 1 na Config Timer0 = Timer , Prescale = 8 to wartość B zmienia się szybciej! Dlaczego tak się dzieje? Może dlatego że jest jest prescale =1 to przerwanie jest wykonywane co 32us czyli w czasie tego waitams 20 trafia...
Jak widzę, że ktoś napisał, że szkolny błąd bo procedura obsługi przerwania jest dłuższa od czasu pomiędzy przerwaniami i w tym samym zdaniu napisał, że pierwszą instrukcja obsługi jest zablokowanie przerwania ponownego a ostatnia jest ponowne odblokowanie to mi się pióropusz podnosi.
musisz dostawiać wiodące zero... Co chyba nie jest trudne, w bascomie służy do tego chyba strasznie zasobożerna instrukcja "fusing" czy jakoś tak... W C nie ma takiego problemu, bo obsługa popychania znaków na wyświetlacz jest niskopoziomowa, i można po prostu wyświetlać... [syntax=C] unsigned char godziny=0x9; //0 + 9 lcd_znak(godziny>>4); lcd_znak(godziny&0xF);...
Witam! Mam takie pytanie n/t tej książki, ponieważ mam dylemat...znalazłem tą książka jak w tytule, ponieżej zdjęcie http://obrazki.elektroda.net/39_12370566... i mam dylemat ponieważ książka ta kosztuje 45zł i nie wiem czy wydać tyle pieniędzy na nią czy tego samego nauczyłbym się z instrukcji obsługi do programu Bascom Basic AVR Wersja 1.11.7.4,...
dondu - totalnie mylisz pojęcia. BOD i WD to dwa zupełnie różne układy, wyzwalane zupełnie różnymi bodźcami. WD powinien być stosowany w każdej aplikacji, jako dodatkowe zabezpieczenie. I bynajmniej nie z powodów o których piszesz. Jeśli program może wchodzić w dziwne stany to jest po prostu źle napisany - rozwiązaniem jest napisanie go poprawnie. A...
Elementy to Attiny13, kwarc np.11.0592 dwa kondensatory ceramiczne 24pf, jakieś mikroswitche, a tranzystory to musisz dopytać GOLECKIego, stabilizator 7805, jakiś mały kondesator filtrujący,jak jeszcze coś to napisze. http://www.elportal.pl/index.php?module=... tu są jakieś pliki, możesz próbować się...
Z tą dowlnością w używaniu rejestrów byłbym bardzo ostrożny. Nieodpowiednia zmiana - program się wysypie. Nie wolno używać w trybie zapisu bez wcześniejszego zapamiętania: Y ( soft stack pointer ), R4:R5 ( frame stack pointer ), R6 ( status register ), R8:R9 ( data pointer ), R23 ( translate register ), R12:R13:R14:R15 ( fp calculator ). W sumie można...
Odpowiedź jest bardzo prosta: instrukcja if ( zresztą każda instrukcja wrunkowa czy pętli ) napisana w języku wysokiego poziomu, przed załadowaniem do procka, musi zostać przetłumaczona na kod maszynowy ( assembler ). W języku takim jak Basic ( czy dowolny inny ), widzisz tylko jedną linijkę, ale w kodzie maszynowym zajmuje ona dużo więcej ( wręcz tworzona...
Zakładam że w tym twoim bascomie idea obsługi przerwania jest taka jak w c albo asm bo inaczej przecież być nie może. Przerwanie ma się wykonać jak tylko najszybciej jest to możliwe. W związku z tym żadne tam wyświelanie znaków na LCD nie wchodzi w rachubę a tym bardziej transmisja po I2C. Przerwanie ma ustawić co najwyżej flagę którą z kolei głowny...
(at)emarcus: O ile się nie mylę, przy prescalerze 64 i cżestotliwości 8MHz timer0 będzie miał skok co 8us, czyli licznik bedzie przepełniał się co 2,048ms, więc do poprawnego odliczenia 1s w obsłudze timera należy załadowywać do niego Timer0 = 6, i dodać licznik, który 500 razy zliczy przepełnienia. A co do tych parametrów, to zawsze wstawiałem domyślne...
No to trzeba je oprogramować tak, aby nie bruździło... czas obsługi przerwania ok. 1-2 µs (przez wstawkę asemblerową) chyba nie zrobi na transmisji 1Wire większego wrażenia ? Przy 8 MHz mamy do dyspozycji 8 cykli zegarowych w czasie 1 µs, a przy 16MHz - 16 cykli zegarowych. reti zajmuje 4 cykle, cbi / sbi po 2 cykle, ewentualne nop pomiędzy...
No niby wiadomo o co chodzi z tymi timerami, tylko jak napisać instrukcje żeby z opóźnieniem odpalić dwa przekaźniki w różnym czasie.Tego nie wiem czytam szukam i nic.
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...
Hm, sprobuj ustawic na 12 bo pamietam ze zmieniajac ten paramer udalo mi sie odpalic wiekszosc bascomowych funkcji na tym procku. Poza tym.. skoro zaczales pisac w C, to po co przesiadac sie na bascom? Satysfakcja z dzialajacego kodu w C jest wieksza niz z bascomowego - przynajmniej dla mnie. edit: Zawsze mozesz ustawic mnoznik zegara na 1/12 i uzyskasz...
Nie wnikając w szczegóły(za wiele pisania :D ) , proponuję w podprogramie "Welcome" , zakomentować/usunąć instrukcję Cursor Off , gdyż tylko ta instrukcja chciałaby "skoczyć" do etykiety _lcd_control .Ponieważ z krótkiej analizy kodu wnioskuję , że ten wyświetlacz pracuje tylko w trybie graficznym , więc o włączaniu/wyłączaniu kursora , raczej nie może...
Pomiędzy instrukcje: On Timer2 Multipleks Enable Interrupts wstaw instrukcję Start Timer2. Nie na początku przerwania jak napisał daro:"A na początku obsługi przerwanie tego timera: Start Timer2."
Dzięki za program wyświetlający. Jeśli dobrze zrozumiałem to zera nieznaczące nie są wygaszane?, jeśli tak to mam jeszcze pytanie jak przerobić program aby te zera były wygaszone?. i czy w instrukcjach tego przerwania obsługującego wyświetlacz mogę dopisać instrukcje obsługi klawiszy tak aby załatwić to za jednym "zamachem"? Raz jeszcze dziękuję za...
Popraw obsługę przerwania. Return nie powinno być w środku instrukcji warunkowej IF zwłaszcza, że po Else nic się nie dzieje.
Witam Kolego możesz wszystko. Niestety nie polecam Bascoma - instrukcji Bascom'owych do obsługi wyświetlaczy graficznych... możesz mieć później problemy z innymi instrukcjami typu liczniki przerwania itp Chyba ze sam sobie napiszesz sterowanie. Dataport - fajnie jest gdy to jest na jednym porcie łatwa obsługa Configport - bez znaczenia.
Witam Szczerze mówiąc nie mam pojęcia czy ktoś napisał jakieś procedury do obsługi magistrali I²C przez LPT-ka. Trzebaby poszukać i popytać. Jeśli nic się nie znajdzie to trzeba przejrzeć specyfikację tej magistrali i poprostu napisać cały protokół od podstaw. Zwracam uwagę na fakt, że wyświetlacz pracuje przy mniejszym napięciu, tzn. poniżej 5V....
Na talerzu podawać nie będziem, ale podpowiedzieć można. 1. Z takim podejściem zaraz podpadniesz pod p.16 regulaminu... 2. Schemat rzeczywiście jest źle narysowany (bo zapewne to właśnie o technikę głównie chodziło). Schematy w Eagle twórz tak, by w miejscu połączeń 3 przewodów pojawaiły się kropki (tak, jak wygląda to nieszczęsne połączenie AREF z...
Dopisze jeszcze coś na temat nieszczęsnego ATTiny13. W ogóle ATtiny13 i bascom to jest tragiczne połączenie. Jeśli program ma tylko migać diodami, to ok. Ale napisać coś bardziej złożonego, to niestety nie w bascomie. A tym bardziej jeśli użyjemy jakiejś bascomowej instrukcji do obsługi 1wire lub podbnej - od razu mamy połowe pamięci flash w plecy :/...
ale to juz inny temat i trzeba brac to po uwage przy projektowaniu konkretnego układu. NXP sie nie przyzwyczaje, Philips to Philips Off topic Nareszcie dzis skonczyłem projekcik - ledwo sie zmiesciłem w procku: Program: 8018 bytes (97.9% Full) A teraz musze napisac instrukcje obsługi. Czy wy tez się tak męczycie na tym etapie?
cześć!Oczywiście że można zrobić wsawkę assm.w bascomie.Używa się polecenia $asm jako otworzenie instrukcji i $end asm jako zamknięcie jej.
Jeśli chcesz zrobić wait na liczniku to możesz uzyskać dwa efekty. W obu ustawiasz w przerwaniu flagę. Pierwszy do instrukcja czekaj aż flaga będzie ustawiona wykonuj dalszy ciąg programu loop Generalnie w takim rozwiązaniu nie ma sensku dawać timera. Druga opcja do instrukcja if(flaga ustawiona) reszta kodu loop Oczywiście drugie rozwiązanie...
Witaj, No save spokojnie możesz użyć.... pod warunkiem, że nie korzystasz w obsłudze przerwania z instrukcji Bascoma bo jeśli tak to nie odkładając rejestrów na stos, zgubisz ich wartości i w najlepszym przypadku będą się działy różne rzeczy. Ja bym napisał wstawkę w asemblerze odkładając wcześniej na stos używane rejestry w tym SREG. Możesz też użyc...
Dzieki 1.Czyli na karcie nie sformatowanej (bez systemu plików) jest podział na sektory ? 2. Czy w bascomie, żeby mieć obsługę plików trzeba włączyć AVR-DOS oraz aktywować instrukcję initfilesystem ?
Żeby to policzyć musisz wiedzieć co Bascom wygenerował (chodzi o komendy w ASM) oraz jaki jest czas trwania cyklu maszynowego uP. Każda instrukcja ASM trwa tyle i tyle cykli maszynowych (dane w tabelach). Nie wiem czy Bascom w drodze kompilacji tworzy taki plik (np: .a51). Można jeszcze obsługę przerwania napisać tylko w ASM ..i wtedy wiemy dokładnie...
Uważam, że moderator ... Działania moderatorskie wykonuję na czerwono za pomocą odpowiednich funkcjonalności. Niestety raz się zdarzyło że na czerwono wyciąłeś tekst o "niewygodnym" środowisku programistycznym :D Ale nie o tym będę pisał. Napiszę jak to wyglądało u mnie. Ja zaczynałem od BASCOMa. I to BASCOMa '51. Były artykuły w EdW. Nie miałem jeszcze...
Przerób kod i zastosuj instrukcję do obsługi styków http://avrhelp.mcselec.com/index.html?de...
Masz 2 opcje albo w pętli głównej albo w obsłudze przerwania. Po za tym jeśli już korzystasz z timera to wykorzystaj go do odliczania czasu zamiast korzystać z waitms.
Nie analizując kodu przeszkadzają zapewne wszystkie instrukcje Wait, Waitms itp. Ogólnie zasadą jest, ze w programie nie powinny występować tego typu opóźnienia - stąd obsługę DS'a zrób na przerwaniu timera.
Wychodzenie z przerwania instrukcją goto to kiepski pomysł. Rozwiąż to inaczej. Przerwanie INT0 najlepiej wyłączyć w procedurze jego obsługi.
delay Panowie to było rozwiązanie problemu. Przy kwarcu 12MHz daje 100us czyli 5 razy dało mi około 0,5ms (bo u mnie kwarc jest 11 z kawałkiem). Dokładność nie była mi potrzeba a timery ze względu na przerwania akurat wolałem oszczędzić. Mimo wszystko wielkie dzięki, okazało się, że jak coś się nie wie to najlepiej zerknąć do instrukcji obsługi (jest...
Jeśli wykorzystujesz przerwania, to instrukcja serwa rozsypie się, jak z resztą większość rzeczy w bascomie. Moja rada: Napisz obsługę serwa ręcznie, w dziale Automatyka i Robotyka opisałem kiedyś jak sterować serwami, przynajmniej czegoś się nauczysz
A jaką instrukcją, bądź kawałkiem kodu mógłbym zastąpić tą instrukcję ( encoder ), czy mógł by mi ktoś napisać, opisać taki kawałek programu, wiem, że jakoś się go robiło na instrukcji "If...Then", a nawet spotkałem się na obsłudze encodera, na Timerach... Mógł by mi ktoś pomóc....
Powyższy kod nie działa nawet jak wyłącze globalnie przerwania, ale wystarczy procedure obsługi przerwania od timer 1 przenieść za program główny i zaczyna działać. Czy ktoś potrafi to wytłumaczyć bo na mój rozum to on podczas kompilacji coś żle interpretuje. Wygląda na to ze program się wykonuje od pierwszej napotkanej instrukcji, pytanie czy świadomie...
Miałem identyczny problem. Rozwiązanie jest proste. Jedną z ostatnich instrukcji procedury obsługi przerwania było kasowanie flagi INT0. Potem powrót RETI i wszystko chodziło ok. Pozdrawiam.
instrukcja obsługa bascom bascom obsługa bascom instrukcja
myjka ciśnieniowa temperatura prosty pilot włącz wyłącz whirlpool zasilacz
klawiatura wpisuje podwójne znaki klawiatura wpisuje podwójne znaki
Zniknięcie kontrolki zmiany biegów w Sharan 7N Bezpiecznik alarmu Honda Civic VIII UFO 2006