Jak napisać menu (np. 4 poziomy x 4 funkcje) Np: możesz zrobić tak że 4x4 to jest 16 stanów (lub w zależności jak to prezentujesz więcej). Więc piszesz funkcje która jest wywoływana gdy wciśnie się to MENU, a w funkcji pętle gdzie masz 16 warunków oraz jedna zmienna która wskazuje który stan jest obsługiwany. Zamiast warunków można użyć switch ale...
Nie chce mi się zagłębiać dalej w pisanie. Tych trybów możesz sobie dopisać ile chcesz. I jak Przewijajac menu naciśniesz Set to zmień tryb na, na przykład, "Ustawiam_temp" i w tym trybie znów przyciski Plus i Minus bedą działać dla zmiennej ustawianej. Potem naciskasz ESC i wracasz do trybu jakiego chcesz.. to proste i pewne. [syntax=basic4gl]$regfile...
Witaj. Delphi nie znam, wiem że jest to program bardzo podobny do VB. Ma wiećej możliwości oczywiście, myślę że jednak nie o to chodzi. DO RZECZY Chodzi Ci o to by np. po naciśnięciu przycisku program wysłał kod (jaki to teraz nie ma znaczenia) , a BasCom ma go odebrać. Poczym uC ma wykonać określoną czynność. Jeśli chodzi co o to ?? , sprawa jest prosta....
http://obrazki.elektroda.pl/3089511800_1... Witam, dziś prezentuje swój bezprzewodowy termometr pracujący na częstotliwości 433 MHz. Urządzenie składa się z nadajnika i odbiornika. Nadajnik odczytuje temperaturę pieca C.O. i wysyła ją do odbiornika. W odbiorniku mamy możliwość ustalenia górnego i dolnego progu załączenia alarmu, który...
Program napisany w BASCOM AVR i wyskakujące 3 błędy , mogę wiedzieć dlaczego one wyskakują podczas kompilacji , poniżej zamieszczam kodzik. 'podwójny woltomierz i amperomierz (dwa kanały pomiaru napięcia i dwa kanały pomiaru prądu 'UWAGA _ PONOWNE WGRANIE PROGRAMU SKASUJE WARTOŚCI WSP KOREKCJI Z PAMIECI EPROM '---------------------------------------...
Zapoznaj sie z poleceniem case, Select Case
Hej, Nie wiedziałem jak zatytułować mój wątek więc wybaczcie jeśli jest niezbyt jasny. Postaram się to wyjaśnić poniżej. Otóż mam w moim urządzeniu kilka ekranów. Wybór wyświetlanego ekranu w menu mam zrealizowane na select case tak jak poniżej: [syntax=vbnet]Przewijanie_menu: If Prawo = 1 Then If Menu < 20 Then Incr Menu If Menu = 4 Then Menu =...
W pierwszym if zmieniasz na Pozycja =2 a za chwilę w drugim sprawdzasz If Pozycja = 2 i wracasz do Pozycja =1. Nie znam Bascom ale odpowiedniejszym w tym przypadku sprawdzeniem będzie instrukcja Select Case
Witajcie, dziś postanowiłem się podzielić dorobkiem w postaci oprogramowania i wiedzy na temat pewnego modułu GPS. Zegar softowy synchronizowany GPS z dodatkowym wyświetlaniem współrzędnych i prędkości no i dorzuciłem w ostatniej chwili temperaturę z DS18B20 - taki szkoleniowy programik w BASCOM (świetny przykład - gotowiec dla tych którzy chcą zrobić...
Select Case w Bascom to to samo co Switch w C, a Incr Stan to w C Stan +=1. Analogicznie Decr Czas to Czas -=1 Możesz sobie przepisać :D
Wiec zrobiłem to tak: [syntax=vbnet] Dim Piloty As Byte Dim Old_piloty As Byte Dim Klawisze As Byte Dim Old_klawisze As Byte Dim Licznik_kasuj As Byte Dim Flaga_kasuj As Bit Zeruj_klawisze Alias 250 Zeruj_piloty Alias 0 Klawisze_1 Alias Klawisze.0 Klawisze_2 Alias Klawisze.1 Klawisze_3 Alias Klawisze.2 Klawisze_4 Alias Klawisze.3 Klawisze_5 Alias Klawisze.4...
Dokładnie tak. Select case już zadba o to, co ma się wyświetlić w zależności od wartości. Np. kiedy wskaźnik menu jest na pozycji 2 (praca) i zatwierdzisz wejście do tego podmenu to wskaźnik zmieniasz na 20 . Zadbać jedynie musisz o badanie zakresu menu, bo on też się zmieni ale to akurat nie jest trudne (dodatkowe warunki). Aha, zamiast Men = Men +...
Włącz numerowanie linii. W linii 77 otwierasz warunek IF K2 = 0 Ten warunek nie kończy sie przed końcem Select Case czyli przed End Select Brakuje End If.. ale trudno mi sie domyslic o co chodzi autorowi :D Kompilator nie rozumie braku End If poza Select case https://obrazki.elektroda.pl/9989947300_... W linii 94 podobny błąd.
Chodzi o te zaznaczone ustawienia z obrazka. Są wstawiane jako domyślne jeśli się ich nie wpisze do kodu. Chodzi o to, że kiedy Bascom skacze do jakiegoś Sub to odkłada na stos te wcześniej omawiane dwa Bajty. W takim Sub już może tego nie widać, ale tez skacze np. do procedury odczytu czujników 1Wire. To już np. cztery bajty a w tym momencie nadchodzi...
Ok napisałem coś takiego [syntax=basic4gl] Portb = &B11111111 Dim B As Byte Dim Scan As Byte Dim Sped As Byte Dim Of As Byte B = 0 Cls Do B = Encoder(pinb.0 , Pinb.3 , Links , Rechts , 1) Waitms 10 Loop End Links: Incr B If B >= 4 Then B = 0 End If Select Case B Case 0 : Waitms 100 Locate 1 , 5 : Lcd "Scan" : If Pinb.5 = 0 Then Incr Scan If Scan >=...
Atmega32 Wyświetlacz standardowy 2x16 lcd hd44780 Cały kod to 1300 linii podaję fragment w którym kursor zaczyna wariować: [syntax=basic4gl]Case 1 : ' Wybór opcji z MENU Select Case Poz_wysw Case 10: Poz_menu = 2 Poz_wysw = 30 Zezwolenie_lcd = 1 Case 11: Cursor On Blink ' tu działa poprawnie Poz_menu = 3 Poz_wysw = 31 Poz_x = 1 S_dziesiatki = Zawor_przerwa_s...
W sumie można, lecz autor chciał mieć format byte, domyślam się że potrzebne to mu było do wyświetlania liczby na wyświetlaczach siedmiosegmentowych. Jeżeli tak, to Ciekawy jestem czy autor korzysta z lini Data i instrukcji lookup(), czy może z select case?
Jak bym chciał żeby mi ktoś pomógł to włożyłbym minimum wysiłku by przygotować kod na który można spojrzeć bądź skompilować. Nie musi być cały, ale taki który daje możliwość powtórzenia występującego problemu. Chcesz odbierać dane z UART a masz w pętli Waitms. Myślisz że te dane na Ciebie poczekają? Przy tak znikomej ilości informacji jakie zapodałeś...
If S1 = 0 Then <------ Ten If jest nie zakończony end if'em i pewnie dlatego ci go wywala Tr1 = 1 Tr2 = 1 Tr3 = 1 Tr4 = 1 Done = 0 Menu = 0 Cls Lcd " MENU" Locate 2 , 1 Lcd " SETTINGS" Do Loop Until S1 = 1 Waitms 20 Do X_adress = 558 Select Case Menu Case 5: Adc1 = Getadc(0) + Offset Dta_adress = Adc1 - Calibrate_1 Call Set_calib() Case 6 Adc2 =...
Witam Mam wyświetlacz 4*20 oraz klawiaturę na PCF8574. Potrzebuję mieć menu: Czas - godziny - minuty Data - dzień - miesiąc - rok - dzień tygodnia Czujniki - Ilość czujników - Id czujników Pomiary - czas pomiarów Wyjście Mam do wykorzystania 5 klawiszy oznaczonych jako: góra/dól, lewo/prawo oraz Enter. Założenie jest takie, że Enter ma wchodzić do menu,...
Witam Propozycja Kolegi niveasoft wygląda zachęcająco, muszę coś jeszcze wcisnąć jeśli chodzi o opóźnienia, bo WTV020SD jest wymagający - muszą być opóźnienia po stanie niskim linii CLK i drugie po wysłaniu, a przed podaniem stanu wysokiego na linię CLK. Widzę, że Kolega często stosuje Case, też staram się stosować, tylko, ostatnio mam z nim problem...
Because in Bascom it`s only 15min here you have. After programming whole Eeprom is erased to &HFF (255) so programm store initial value (you can change this of course). Buttons on PIND.6 and PIND.7 are scanned every 5ms. If pressed shortly value will be incrased/decrased by one. If pressed long then autorepeat will incrase/decrase value every 275ms....
a takie coś napisałem [syntax=basic4gl] $regfile = "m644pdef.dat" ' specify the used micro $crystal = 16000000 $baud = 19200 ' use baud rate $hwstack = 32 ' default use 32 for the hardware stack $swstack = 10 ' default use 10 for the SW stack $framesize = 40 ' default use 40 for the frame space $lib "glcdKS108.lbx" 'First we define that we use a graphic...
mam podobny problem napisałem program w wersji podstawowej jakiejs tam - zapisywanie do eprom bylo bez problemu zmienne Dim T_solar As Word , T_H_dn As Word , T_H_up As Word , S_praca As Bit odczytywane dane Readeeprom T_solar , 10 Readeeprom T_H_dn , 20 Readeeprom T_H_up , 30 pobierane dane Case 2: Select Case P_u Case 0: P_u = 1 Case 1:...
Dzieki Chris_W ale moja wiedza nie bardzo mi pozwala na skorzystanie z Twoich rad. Szukałem w helpie o tablicach ale nie wiele się dowiedziałem. Sam wykombinowałem coś takiego jak poniżej nie wiem czy to lepiej czy gorzej ale w symulacji chodzi tylko dużo zabiera pamięci. Może zapodał byś kawałek kodu na swój sposób to bym przy okazji poćwiczył z tablicami....
Witam kolegów. Potrzebuję sterownika pompki do C.O. Znalazłem program napisany w BASCOM i przerobiłem go nieco do swoich potrzeb. Działa wszystko prócz HISTEREZY. Przy powolnym narastaniu temperatury, która skacze +/- pompka włącza się i wyłącza, czyli histereza nie działa. Histerezę zrobiłem wg. porad z forum. Czy może ktoś pomóc? Oto kod: [syntax=vbnet]$regfile...
Jeśli spełniony jest warunek, że ADC > 140 to i spełniony jest automatycznie ten że ADC > 130 itd.. ahahahaha no i sobie mikrokontroler rysuje jak mu kazałeś :D Widzę tu błąd w logice :P Napisałbym to zupełnie inaczej z automatu , ale możesz spróbować napisać to w odwrotnej kolejności albo na Select Case.
Cześć. Prosze o pomoc w rozwiązaniu problemu, a mianowicie mam problem przy konfiguracji klawiatury. Nie moge ręcznie wpisać kodu np. 1234, tylko program sam dobiera mi kod ( caly czas podaje jedna liczbe"1", tak jak bym ja cały czas wpisywał) kod wtedy jest ustawiany na 1111, ale jeżeli zmienie wartość na "k=2" w miejscu zaznaczonym w kodzie to program...
W końcu na atmega 168 prawodłowo zadziałał mi ten kod. W komentarzu dołożyłem podłączenia. Musiałem zrezygnować w pierwszym podejściu z kwarcu, bo portu PB6 i PB7 są tu wykorzystane do sterowania wyświetlaczem. Kupowałem wyświetlacze jakoś bardzo tanio, więc pewnie chińskie. '**************** Driving graph. display NOKIA LPH7779 ver.1.1 ******************...
[syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Config 1wire = Portb.0 Config Pind.0 = Input : Portd.0 = 1 : Przycisk_plus Alias Pind.0 Config Pind.1 = Input : Portd.1 = 1 : Przycisk_minu Alias Pind.1 ` Config...
tutaj znalazłem dość duży kod który myślę że spełnia moje oczekiwania można zadać nawet 10x różnych pór kiedy ma włączać pompę i na jak długo tylko usunę godziny i może nawet ich ilość bo jedna czy dwie to wystarczy '##########Konfiguracja zewnętrzna########## $sim $regfile = "m8def.dat" $crystal = 16000000 Config Portc.0 = Input 'przyciski...
Konfiguracja DS1307 [syntax=basic4gl]'############# Konfiguracja DS1307 ############# I2cstart 'zerowanie bitu CH I2cwbyte 209 I2crbyte Pom , Nack I2cstop Pom = Pom And &B01111111 I2cstart I2cwbyte 208 I2cwbyte 0 I2cwbyte Pom I2cstop I2cstart 'wlaczenie przerwania co 1s I2cwbyte 208 I2cwbyte 7 I2cwbyte &B00010000 I2cstop 1wreset 1wwrite &HCC...
Witam. Poniżej zamieściłem program w bascomie który właśnie pisze (jeszcze nie skończony) i mam taki oto problem: po sprawdzeniu składni wywala takie oto błędy: 1.Error 7 Line: 327 IF THEN expected 2.Error 222 Line: 327 illegal character '----KONFIGORACJA WYSWIETLACZA----.' Config Lcdpin = Pin , Db4 = Pa.5 , Db5 = Pa.4 , Db6 = Pa.3 , Db7 = Pa.2 , E...
hmmm... dla mnie jest dziwny bo dziś go pierwszy raz uruchomiłem :) wysyłam listing programu, jest to przeróbka programu napisanego (przeze mnie :D) dla '4051, która w bascom avr ma być rozbudowana o kilka ciekawych rzeczy :) jeśli ktoś coś wyczaił w moim prgoramie to proszę dać znać :D sam też spróbuję się trochę pobawić... dodam jeszcze, że ustawiony...
Witam, Napisałem sobie taki programik w Bascomie pod PCF8583 i Atmege32 Wszystko funkcjonuje idealnie - czas, menu, nastawy itd, ale mam mały problem Otóż chciałbym wywoływać alarm o zadanej godzinie - nastawa w menu "Ustaw Alarm" Jeśli wpiszę tam odpowiednią godzinę i minutę to niestety alarm się nie uaktywnia? Dlaczego? Poniżej wklejam listing: [syntax=basic4gl]$regfile...
Witam, zwracam się z prośbą o pomoc. Tworzę program sterujący silnikiem DC. Program składa się z menu głównego w którym są 4 podprogramy 3 z nich działają bezbłędnie. Największy kłopot sprawia mi 4 podprogram a zarazem najważniejszy. podprogram startt ma za zadanie odmierzyć zadany przedział czasowy gdy osiągnie wartość 0 wykonać pewną procedurę i zacząć...
Witam Stopniowo rozbudowując o kolejne konfiguracje układ chciałbym mieć możliwość ustawiania parametrów zegara przez pilota ( w sumie to bardziej wygodne i nie zabiera wyprowadzeń uC ). Mam program z menu działającym na przyciskach, zastosowałem flagi, gdyż sprawdzanie tylu wersji warunków niepotrzebnie zagmatwałoby kod. Zostawiłem obsługę przez przyciski...
Witam W ramach dalszego eksperymentowania z AVR i Bascom popełniłem połączenie odczytu z DS18B20 z sterowaniem wyjściem uC ( przez tranzystor FET ) + dodatkową atrakcję - buzer, który sygnalizuje wł/wył tranzystora/wyjścia. Chciałem dodać możliwość zmiany temp max i min, przez proste menu. Menu zrobiłem w oparciu inny mój kod obsługujący ustawianie...
Witam!! Układ sterownika tampoprintu zbudowany na bazie mikrokontrolera AVR, schemat poniżej, zasilanie dostarczane przez dwie osobne przetwornice +5V dla logiki oraz +24V dla elektrozaworów i oświetlenia, na przewodach zasilających koraliki ferrytowe, pole masy na płytce, tranzystory sterujące cewkami zabezpieczone diodami, przy samych cewkach we wtyczkach...
Może lepiej tak: 'pompa $regfile = "m16def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db7 = Pa.2 , Db6 = Pa.3 , Db5 = Pa.4 , Db4 = Pa.5 , E = Pa.6 , Rs = Pa.7 Config Sda = Portb.3 Config Scl = Portb.2 Config Portc = Output Portc = &B00000000 Config Pinb.1 = Output Set Portb.1 Ok Alias Pinb.7 Esc Alias Pinb.6 Up Alias...
Dokonałem optymalizacji kodu, rozmiar zmniejszył się o 2 %. Pilot RC5 działa, można zmienić czas/date, obsługę wyświetlania przeniosłem do przerwania Ale mam kłopot z wyświetlaniem kropki [syntax=basic4gl] '************ Zegar 6 wyswietlaczy LED + PCF8563 $regfile = "m32def.dat" $crystal = 16000000 $hwstack = 64 ' rozmiar stosu sprzętowego $swstack =...
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 Piszę program w Bascomie na Atmega32 do sterowania ogrzewaniem w warsztacie i mam problem. Jest zegar RTC, zewnętrzny Ram, Timer, Menu i to wszystko działa bez zarzutu - dokładnie tak jak bym chciał. Chciałem dołożyć czujnik temperatury i wykorzystać do tego celu wejście ADC. Problem pojawia się w momencie jak w podmenu "Start_webasto" dodaję...
select-case akceptuje również grupy i zakresy. Fakt, można napisać: switch (wartosc & xxx) ale zasadniczo, case to jedna wartość. BASCOM: select-case, przykład: [syntax=vbnet] Select Case I Case 1 : Print "1" Case 2 : Print "2" Case 3 To 5 : Print "3-5" Case Is >= 10 : Print ">= 10" Case Else : Print "Not in Case statement" End Select [/syntax]
Witam Mam taki programik troszke posklejany ale wyskakuje błąd co robie nie tak . label not found [_ENDIFO ] $regfile = "m8def.dat" 'Atmega8 $crystal = 8000000 'Kwarc 8MHz Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.1 , Db6 = Portc.0 , Db7 = Portb.5 , E = Portc.3 , Rs = Portc.4 '*************************************.....
Bascom - wersja 1.11.95 Kod, no jest tego sporo: - zegar PCF8563 - Zapis na SD - dwa czujniki DHT11 - odczyt z PCF8574AP ( klawiatura ) - RC5 - ma być DS18B20 - ma być DCF77, ale nie doszedłem do tego momentu ( tzn testowałem na innym procesorze i działało ) Działa - zegar PCF8563 - dwa czujniki DHT11 - odczyt z PCF8574AP w przerwaniu ( klawiatura )...
[syntax=vbnet]Config Portd.2 = Input[/syntax] zamiast tego, powinno być: [syntax=vbnet]Config Pind.2 = Input[/syntax]
W procedurze/podprogramie obsługi przycisku wciśniętego zwiększaj zmienną o 1 a w programie głównym, czy też tam gdzie to jest potrzebne, wykonuj program w zależności od tej zmiennej, np. wykorzystując SELECT CASE.
[syntax=vbnet] Zmienna = Ileśtam Gosub Sub_przycisku Do .. Debounce Przycisk, 0, Sub_przycisku, Sub Loop End Sub_przycisku: Select Case Zmienna Case Ileśtam : Zrób to End Select Return[/syntax]
Buforuj otrzymane znaki i przetwarzaj w procedurze pętli głównej programu. Oczywiście wiąże się to z wywaleniem wszelkiej maści form kodu blokującego procesor i oparciem odliczania czasu o Timer.
bascom select motorola select alias select
dziać mxkey kopia posektorowa książka serwisowa mercedes
wgrać polska język alcatel honda magna
Schemat elektryczny Mitsubishi Pajero 3 3.2 DID Diagnostyka wtryskiwaczy benzynowych: Wypięcie wtyczki na pracującym silniku