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....
To prawda, że obsługa przerwania wydłuża czas instrukcji Wait. Tyle, że tutaj instrukcja stosowana w pętli głównej ma spowalniać zwiększanie lub zmniejszanie zmiennej następujące w konsekwencji nacisnięcia przycisku. Kontrola zwiększania lub zmniejszania wartości zmiennej jest jak rozumiem wzrokowa, więc i wydłużenie instrukcji Wait (niewielkie jak...
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ń). Ale tu Bascom nie ma nic do rzeczy, flaga wystąpienia przerwania jest kasowana automatycznie przez procesor gdy włączona...
Ta funkcja jest napisana jako ogólna wykorzystująca tryb ADC Noise Reduction. W dodatku jest napisana dla konkretnego przypadku, kodu który zamiast odczytywać ADC w funkcji przerwania ADC, odczytuje go w ciele funkcji Owszem, nie ukrywam, że akurat w tym przypadku o taki efekt mi chodziło. ADC chodzi cały czas generując przerwania, za to podczas każdego...
Witam ewentualnych czytelników tego tematu. Zamykam temat, jako że problem rozwiązałem. Obsługa timerów została poprawnie zrealizowana po skompilowaniu projektu w Bascomie dla procesora Atmega48, Jedynie przy obsłudze przerwań pojawił się problem. W moim programie była konieczność "ręcznego" kasowania flagi przerwania INT1 za pomocą instrukcji: SET...
Stosuję odczyt DS18B20 w przerwaniu, dlatego, że przerwanie rozkładało mi transmisję 1wire. Przerwanie jest wyzwalane z częstotliwością 100 Hz, przez częstotliwość sieci 220 V i służy do obsługi ściemniacza. Transmisję 1wire umieściłem w tym przerwaniu, żeby uniknąć jej zakłócania właśnie przez to przerwanie. Co przerwanie wykonywana jest kolejna instrukcja...
Co do składni IF...THEN...ELSE...END IF. Jak wiesz, w BASCOMie każde polecenie możesz oddzielić znakiem nowej linii lub dwukropkiem. IF [warunek] THEN [polecenie] Nie ma tu dwukropka. Jest to jedno polecenie. IF [warunek] THEN [polecenie] END IF Tu są osobne polecenia. BASCOM musi wiedzieć gdzie się kończy IF. Może niezbyt...
Problem polega na tym że zmieniłem trochę sterownik wyrzuciłem trochę co nieco dodałem. Chodzi o poprawienie kodu. Więcej szczegółów na maila.
Witam Jakimi komendami steruje się serwem w bascomie? Chodzi mi żeby odczytywać sygnały z kilku czujników i w zależności od ich stanu serwo wychylało sie o dany kąt. dzięki pozdrawiam :D
Witam , Mam kilka pytań odnośnie bascoma gdyby ktoś był tak dobry i pomógł mi na nie opdowiedzieć byłbym wdzięczny 1. wyjasnij naczym polega konfiguracja środowiska bascom 2.realizacja funkcji : jezeli..... to 3.do czego służy konstrukcja do ......loop 4.jak najprosciej wyswietlic napsi w 2 linijice wyswietlacza 5.Jak skonfigurowac port A DO Pracy wej/wyj...
Poprzednio prezentowany kod nie był sprawdzany w kompilatorze, miał być jednie wskazówką do napisania prawidłowego programu. Ten prezentowany poniżej został przetestowany i sprawdzony na symulatorze programowym Bascom'a. Powinien również działać na procesorze. W prezentowanym kodzie jest wstawiona instrukcja $sim którą należy usunąć przy kompilacji...
Witam, proszę o opis podstawowych i najprostrzych komend w języku basco (takich jak np. do, loop, else, if,din i inne) . Może głupia prośba ale jest mi to bardzo pilnie potrzebne.
Witam Zlecę napisanie programu o którym mowa w niżej zamieszczonym linku [url=http://www.elektroda.pl/rtvforum/to... W razie jakichkolwiek pytań proszę o kontakt jaq(at)hm-solutions.co.uk
Witam mam taki problem mianowicie napis na lcd mi mruga zamiast sie wyświetlać stale dróga zecz ni umiem przejśc do nastepnego menu załączam nizej kod programu i co robie nie tak $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4...
mirekk36- w jednej odpowiedzi namawiasz mnie do złego i do dobrego. Nie po to zrobiłem w przerwaniu tylko flagę żeby wkładać tam wait. Apage Satanas- Wait w przerwaniu!? W głownej pętli zrobiłem przerzutnik za pomocą temp0 aby wyeliminować drgania przycisku. Zrobienie przerzutnika programowo- to dla mnie wyczyn. Sprzętowo- to proste. Tylko 13 ms- może...
Witam. Mam problem z kodem w bascomie. W skrócie opiszę co ma robić. W pętli głównej bada jaka liczba przychodzi przez RS232 (A = Inkey() ). Jeżeli jest to 87 to wtedy ma wyskoczyć do procedury/podprogramu o nazwie "Lowandslow". Tam na chwilę ustawia piny od B.4 do B.7 na "1" i załączane zostają przekaźniki spuszczania powietrza z czterech poduszek....
Potrzebuję Waszej pomocy! Poszukuję osoby, która skompiluje mi wsad napisany w Bascomie. Na moim komputerze nie chce działać żadna wersja tego programu. Plik wyślę osobie, która zgodzi się pomóc. Bardzo proszę o pomoc Pozdrawiam !
Witam! Szukam pomocy przy pisaniu programu w Bascomie oczywiście za darmo. Chętne osoby proszę o kontakt e-mailem. Pozdrawiam!
Witam, Mam taki kod: $regfile = "m8515.dat" $crystal = 8000000 $baud = 2400 Config 1wire = Portc.0 Dim Dsid1(8) As Byte Dim Dsid2(8) As Byte Dim Dsid3(8) As Byte Dim I1 As Integer , Ss As String * 6 Dim I2 As Integer Dim I3 As Integer Dim A As String * 6 Dim B As Byte Dsid1(1) = 1wsearchfirst() Dsid2(1)...
Witam Mam spory problem.Otóż zaprojektowałem i wykonałem już pewien spory moduł wyposażony w dwa wyświetlacze lcd 16*2 i miałem w zamiarze sterować nimi poprzez dwie linie E za pomocą biblioteki lcd4e2.LBX. Niestety jak zwykle pojawił się błąd bo biblioteka skompilowana jest pod port B a ja mam osadzone wyświetlacze na porcie A. Szukam osoby z pełną...
Witam, mam mały problem z napisaniem kodu tak by wykorzystując cztery przyciski poruszać się po menu jak również ustawiać parametry i je zapisywać do eepromu . Menu wygląda tak 1.MENU 1.1 MENU 1.2 MENU 2.MENU 2.1 MENU 2.2 MENU itd . Proste Menu powiedzmy jednopoziomowe napisałem z instrukcją Case ale nie wiem jak wykorzystać te same przyciski , jeden...
Witam. Poszukuję gotowych procedurek do obsługi układów DS2450 oraz DS2740 dla kompilatora Bascom. Z góry serdecznie dziękuję za ich podesłanie bądź wskazanie pomocnych linków.
Witam Mam taki problem jak zrobic meniu w projekcie troszeczke rozbudowanego termostatu a mianowice na wyswietlaczu 2x16 ma byc wyswietlana informacja o danej temperaturze, zegar a po nacisnieciu przycisku "enter" wchodze do menu i wyswietla sie na lcd "medu glowne" a w drugiej lini tempetarura po klikniecu na up pokazuje sie "ustaw zegar" i jesli np....
Witam ostatnio zainteresowałem się programowaniem, diody i te sprawy mam już za sobą. teraz interesuje mnie menu z obsługą trzech przycisków, wyświetlane na lcd. i bardzo spodobał mi się pomysł kolegi Mictronic z tematu http://www.elektroda.pl/rtvforum/topic17... . tylko nie mogę rozgryźć tego kodu, po prostu jak go zastosować, próbowałem na...
witam serdecznie! Mam problem z dołożeniem menu do mojego pierwszego kodu, podczas kompilacji wyrzuca: Error : 61 Line : 85 Label not found [syntax=vbnet]$regfile = "m8def.dat" $crystal = 1000000 'zmienne Dim 100PH_biezace as long Dim PH_zadane as single dim 100PH_zadane as long Dim kalPH7 as long Dim kalPH4 as long Dim PH_zadV as long Dim 100PH_biezV...
Pisze obsluge czujnika pan3101DB z myszki optycznej. Z tego powodu, ze dokladnie nie wiem jaka to transmisja staralem sie sam napisac obsluge. Pomogly mi te strony: http://www.rn-wissen.de/index.php/Mausse... (tlumaczylem prawie 1 w 1 na bascom) i nota: http://www.pixart.com.tw/upload/PAN3101_... lecz program nadal nie dziala. Moze...
Chciałem sobie dostosować bascomowe polecenie Sound (pin, pulses, periodes) do PeCetowego Beep(f,t) w tym celu sobie napisałem 2 funkcje ale coś nie zabardzo to działa. Pierwszy raz w ogóle używam funkcji w bascomie, proszę o pomoc. $regfile = "m32def.dat" $crystal = 16000000 '16MHz Dim Pulses As Single Dim Periodes As Single Dim F As Integer...
Witam. Mam kłopot ze skompilowaniem tego kodu w bascomie 2.0.8.1 W wersji bascoma 2.0.7.3, której do tej pory używałem kompilacja przechodzi pomyślnie ERROR: 380 Line: 43 Array<> Non Array mismatch Error sugeruje błąd z tablicą w funkcji Czy ktoś miał podobny problem?
Witam. Praktyczne pytanko: w jaki sposób, określić ilość cykli zegarowych niezbędnych na wykonanie poszczególnych instrukcji języka Bascom AVR, np. getadc(), if, input oraz w jaki sposób obliczyć rzeczywisty czas potrzebny na wykonanie pojedynczej instrukcji, znając wartość rezonatora kwarcowego, oraz użyty mikrokontroler?
zapodam całośc na forum jest to obsługa czterech klawiszy do sterownika kolektorem słonecznym, uczę się programować od niedawna chętnie poczytam krytykę albo podpowiedzi innego rozwiązania tylko Panowie litości krytykujcie tylko tak abym nie zniechecił się całkowicie do programowania. Muszę w tym programie poradzić sobie z drganiami styków instrukcja...
Mam oto taki problemik. Programik jest banalnie prosty i działa mniej więcej tak: Gdy zmienna (Wart) nie osiągnie 30 zostaje załączone wyjście Portc.0 . Po osiągnięciu tej wartości wyjście zostaje wyłączone i załącza się kolejne czyli Portc.1 . Podprogram kończy się na wyłączeniu wyjścia Portc.3 . To wszystko jest proste. Problemem dla mnie jest natomiast...
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...
Dorzuć po Chr(13) - Chr(10) i sprawdź. Alternatywnie sprawdź w instrukcji obsługi modemu, jak ustawić koniec linii polecenia.
...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
Użyj Timer2 dla obsługi RC5 zamiast Timera0 Config Rc5 = Pind.2 , timer = 2 i będzie OKejos ;)
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.
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.
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 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.
może schemat, a nie jakieś instrukcje obsługi....
W podprogramie obsługi przerwania Timer4 brak ci instrukcji end if.
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...
cóż, nadal proszę o jakieś szersze informacje, instrukcję obsługi itp.
No masz rację. Ale err wykorzystywałem w instrukcjach I2C i było dobrze.
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.
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ł.
No cóż, Bascom umożliwia wstawki w asemblerze, co może skrócić obsługę przerwania...
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....
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...
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...
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...
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/...
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...
Tak co jeden cykl. Prescale jest 64 wiec nie tu chyba problem. Nic sie nie dzieje na wyswietlaczu a w symulatorze tez nie pokazuje zmian zmiennych. To nie jest jeden cykl, ani też 64 jakby wynikało z podziału prescalera. Wszystko można odczytac w symulatorze, tylko musisz potrafic posługiwac się jego ustawieniami i funkcjami. Poniżej masz przykład...
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...
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ą.
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...
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.
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...
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...
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.
(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...
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...
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...
A co z powtówną instrukcją LOAD Timer0, 50000 w procedurze obsługi przerwania?
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...
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...
bascom instrukcja obsługa bascom obsługa bascom instrukcja
zmieniarka concert programować zegar webasto zmiana jasność ekran
sterowniki samsung n102sp agregaty chłodnicze
Volkswagen Eos FSI 2006-2011 – schemat bezpieczników, lokalizacja, opis paneli SC/SB/SA Yamaha PSR-E413 jako kontroler MIDI USB – konfiguracja z komputerem, DAW, nagrywanie audio