W Bascomie można pisać funkcje bez wykorzystania asm. Poczytaj w helpie o FUNCTION.
Zobacz w pomocy polecenie GOSUB i CALL, bo pomieszałeś te polecenia. Dodano po 11 Do podprogramu możesz skoczyć poleceniem GOSUB i nie deklarujesz go. 'podprogram: Etykieta: 'etykiety kończymy dwukropkiem 'coś zrób Return Procedurę lub funkcję musisz zadeklarować i podać jakie parametry będą przekazywane. Jej treść musisz umieścić używając SUB...
Na początku masz: Declare Function Sharp_odczyt() As Word a dalej: Function Sharp_odczyt(byval Kanal As Byte) As Word czyli co innego deklarujesz, a czego innego używasz...
'If' a 'if' to ogromna różnica w C :) tak samo 'Else' i 'else'. Mają być małe literki! Poza tym co to za konstrukcja? ; ma określoną funkcję w C/C++ Poczytaj o instrukcji prostej i złożonej w C/C++ np. tutaj: http://mst.mimuw.edu.pl/lecture.php?lect... Niestety Basic/Bascom uczy złych nawyków na przyszłość :(
Zauważyłem iż w Bascomie nie ma czegoś takiego jak funkcje i nie wiem czy istnieje coś w stylu zmiennej lokalnej. Przez 8 miesięcy helpa w dodatku w j. polskim nie przeczytać? Hmm... Przeznaczenie: Rozpoczyna treść funkcji użytkownika. Składnia: FUNCTION nazwa [ ( parametr AS typ [, parametr AS typ] ) ] AS typ_rezultatu instrukcje...
...może jakaś sugestia please ;) Zapomniałeś o $hwstack = 32 $swstack = 32 $framesize = 16 Wartości w/w parametrów mogą być inne(czytaj:większe) , jeśli "obrabiasz " długie stringi. Poza tym , komplikujesz niepotrzebnie proste rzeczy(czytaj:nie "wgryzłeś się" w help-a) ;) Function Scanstrsp() Local I As Byte I = Instr(text , Sep) 'zwróć...
' Funkcja musi być zadeklarowana przed jej pierwszym użyciem ' ponieważ kompilator musi wiedzieć jaki jest rozmiar danych ' przesyłanych do funkcji i jaki jest jej typ wyniku ' Funkcja musi mieć zdefiniowany typ wyniku, tu Integer Declare Function Test(byval Liczba As Integer , Tekst As String) As Integer ' określenie byval przed nazwą oznacza,...
Super! Dzięki. Jeszcze tylko jedno: Function Sharp_odczyt(byval Kanal As Byte) As Word Stop Timer0 Sharp_odczyt = Getadc(kanal) 'nie powinno być Kanal? Start Timer0 End Function
Czy muzykę na kartę wgrywasz jako fat16/32 czy po prostu po kolei sektorami :?: Jeśli to fat16 lub 32 bo w strukturze każdego pliku w RootDirectry możesz odczytać jego rozmiar :) Ale nie tak się sprawdza czy plik się skończył (mówię o fat) :) Aby wiedzieć że plik się kończy tzn pozostał jego ostatni klaster (najczęściej 8sektorów czasem więcej) to w...
Jak chcesz przekazać temu fragmentowi jakieś parametry, to prościej jest napisać procedurę ( Declare Sub , i ciało Sub...End Sub ). Jak taka procedura ma dodatkowo coś zwrócić to napisz funkcję ( Declare Function , i ciała Function...End Function ) Jak chcesz tylko tam wskoczyć i wrócić by wykonać powtarzające się operacje to etykieta: i GoSub . Jak...
Włącz Bascom i wciśnij na klawiaturze F1 Wpisz Config Canbusmode Przeczytasz tam odpowiedź na nurtujące Cię pytanie: The CANRECEIVE function reads the data from the frame into a variable. In the example the variable is a PORT which will change value depending on the receive data byte. After this the CONFIG CANMOB is used with a value of -1 to indicate...
Witam, jak wiadomo (przynajmniej mi narazie) z helpa Bascoma - zwykłe polecenie PRINT generuje na końcu dwa dodatkowe znaki CR i LF Niekoniecznie :D Za pomocą polecenia PRINT , można wysłać stringa zakończonego ... praktycznie dowolnym znakiem - również sterującym. Print "Zmienna" ; Chr(13) ; ' średnik zakazuje wysyłania znaków sterujących. ... druga...
Silnik ruszył:)Pięknie zmienia kierunek obrotów. Problem jest w regulacji obrotów, ponieważ są cały czas są stałe .Drugi problem jest w włączaniu/wyłączaniu silnika. Pomimo różnych zmian w programie nadal nie mogę go przyciskami włączyć i wyłączyć . Silnik cały czas chodzi i nie chce się zatrzymać. Pokaż cały program, z którym masz te objawy. Ostatnie...
Z obu programów wyłuskać deklaracje zmiennych, deklaracje stałych i aliasów, polecenia CONFIG. Połączyć to razem i umieścić na początku programu. Sprawdzić czy nie ma danych w liniach DATA i przenieść je na koniec. Znaleźć wszystkie przerwania i sprawdzić czy nie są ze sobą sprzeczne oraz czy da się je ustawić by miały odpowiednie priorytety (czy jedno...
Sub or function must be declared first sub or function expected first takie 2 błędy mi wyskoczyly
Do Autora wątku: Proszę. Nie taki diabeł straszny. Nie napisałeś jaki to procesor więc napisałem przykład dla Mega8. Funkcja odczytuje ADC(0-5) z włączony ADLAR czyli tylko osiem bitów. Wynik od 0 do 255. Zapewne działa nawet w symulatorze. To taki podstawowy. Można nie czekać a ustawić przerwanie, ale to pewnie jeszcze nie dla Ciebie :D Wpisz w Google...
Skoro coś się powtarza to zapisz to jako procedurę a potem ją tylko wywołuj. Poczytaj DECLARE SUB i DECLARE FUNCTION Funkcja przy okazji jeszcze zwraca wynik.
Witam ! Dziękuję za pomoc. (at)emarcus Man następujący problem: [syntax=arduino] void loop() { programowanie(); } void programowanie() { zw_temp=zw; lcd.setCursor(0, 0); lcd.print("zw"); void loop() { // tu wyskakuje błąd ! lcd.print(zw_temp); if (digitalRead(3) == LOW) { zw_temp++; delay(300); } if (digitalRead(4) == LOW) { zw_temp--; delay(300); }...
Pytanie jak zrobić przeszukiwanie kolejnego indeksu po stwierdzeniu, że pierwszy jest nie poprawny? Bez modyfikacji funkcji Lookdown w bibliotece mcs.lib , raczej nie ma możliwości. Jeżeli znasz asembler możesz zmodyfikować funkcje _LOOKDOWNBYTE i _LOOKDOWNINT . Można też wykorzystać instrukcje RESTORE i READ do przeszukania tablicy: [syntax=basic4gl]$regfile...
No, zrobiłem "przekop" i nigdzie nie znalazłem. Ani w helpie by ZG, ani w helpie do wersji ... JEST. W samplach. '---------------------------------------... 'name : bin2bcd16.bas 'copyright : (c) 1995-2005, MCS Electronics 'purpose : Test program for BIN to BCD Calculations 'suited for demo :...
Tłumaczenie pierwszego kodu. W drugim to wiadomo, że brak biblioteki ;) Mogłem się gdzieś machnąć bo pisałem w przerwie pomiędzy innymi zadaniami. Dodałem tam sobie funkcję b w funkcjach mogę deklarować Local`s które nie są później potrzebne w Global`s. [syntax=vbnet]$regfile = "m2560def.dat" '8K SRAM | 4K EEPROM $crystal = 16000000 $hwstack = 256 $swstack...
Do BASCOMa jest napisany HELP - nawet po polsku go napisałem. Czy nie potrafisz znaleźć sobie informacji jak działają procedury SUB i funkcje FUNCTION?
mi niestety wyskakuja bledy przy kompilacji: Error[Pe020]:identifier "prog_char" is undefinder oraz Warning[Pe223]: function "PRG_RDB" declared implicitly
Sprytnie poradziles sobie z laczeniem 2 bajtow w calosc ... Jeśli masz na myśli tę ... Function Ile_wpisow() As Byte Local Ids As Integer Local High_adr As Byte , Low_adr As Byte Readeeprom High_adr , 1 Readeeprom Low_adr , 2 If High_adr > 0 Then Ids = High_adr + Low_adr Else Ids = Low_adr End If Ile_wpisow = Ids End Function ... funkcję...
Nie wiem, co robię le, ale cały czas wyskakuje mi ten błšd. banalny programik: ... dim A as byte declare function Busy as byte ... ... function Busy as byte Busy=1 end function ... ... c=busy no i błšd...
Myślałem o czymś takim: Mid i Left przepisywać znaki w pętli. Teksty stałe powinieneś zdefiniować jako const . Swoją drogą, w jakim celu to buforowanie?
Cytat z instrukcji najnowszej wersji Bascoma: "When you like to program in ASM you can use BASCOM with the $TINY directive. Some BASCOM statements will also already work but the biggest part will not work. BASCOM will support a subset of the BASCOM statements and function to be used with the chips without SRAM. There will be a special tiny.lib that...
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...
Może cos takiego ? Config Scl = Portc.0 ' I2C Clock. Config Sda = Portc.1 ' I2C Data. Config I2cdelay = 100 Declare Sub I2c_ram_write(byval Addres_desired As Word , Byval Byte_to_write As Byte) ' Writes data to the I2C EEPROM. Declare Function I2c_ram_read(byval Addres_desired As Word ) As Byte ' Reads data to the I2C EEPROM. Declare...
Źle przekazujesz Id do funkcji, mały przykład do uruchomienia w symulatorze: [syntax=basic4gl]$regfile = "m88pdef.dat" $crystal = 20000000 $baud = 19200 $hwstack = 64 $swstack = 64 $framesize = 64 Dim Tablica(4) As Byte , Tekst As String * 12 Declare Function Test_funkcji(byref Osa As Byte) As String * 6 Tablica(1) = 10 Tablica(2) = 20 Tablica(3) =...
Najważniejsze to chociaż troszkę samemu najpierw pokombinować i ew później dopytać co i jak ;) ale po co ten Inkey? toż jak już zajdzie zdarzenie Bytematch - to znaczy, że w twoim buforze jest już co najmniej jedeń łańcuch tekstowy, którzy przyleciał z Rs232 i zakończony znakiem ENTER (13) .... w związku z tym wystarczy dać polecenie Input linia i już...
Podczas sprawdzanie błędów w Bascom , we wszystkich wersjach jakie są w tym poscie pokazuje mi ten błąd . Error : 25 Line : 731 Variable already dimensioned [X] , in File : Error : 25 Line : 799 Variable already dimensioned [X] , in File : Error : 229 Line : 0 End Sub or End Function expected [> 11] , in File : Używam wersji Bascom 1.11.9.5
ATMEGA16 no bo w sumie nie wiem jak to zrobić aby nie było brzydko niestety nie da sie inaczej bo 2 kanały sprzętowego PWM mam na innych pinach Zastanawiałem się jeszcze czy może wywoływać funkcję I zrobić 4 funkcję. [syntax=basic4gl] function f_nazwa1(stan as bit) if stan = 1 then set nazwa1 else reset nazwa1 end if end function [/syntax] tylko teraz...
[syntax=basic4gl]$regfile = "m8def.dat" $crystal = 14745600 $hwstack = 32 $swstack = 32 $framesize = 64 Declare Function Usun(byval ciag As String , byval Znak As String) As String Dim I As String * 10 I = "abc{010}ef" I = Usun(i , "{010}") Print I Do Loop End Function Usun(byval Ciag As String , Byval Znak As String) As String Local Temp_b As Byte...
Są oczywiście takie moduły zespolone z pamięcią. Mozna tam zapisywać i czytac po bajcie, ale można też sekwencyjnie całe łańcuchy i tablice nawet serializatorem. Dwie pierwsze funkcje podpowiem. Wygląda na to ze działaja ;) Możnaby dodać jakieś zabezpieczenia na wypadek braku komunikacji. https://obrazki.elektroda.pl/8549538400_...
Zmieniłem zawartość funkcji wg Twojej rady na: Function Stringi(zawartosc As Byte) As String Local Tt As String * 3 Tt = Str(makedec(zawartosc(inx_za... Stringi = Format(Tt , "00") End Function , ale zwraca mi 00 . Po co w funkcji deklarujesz argument, by go potem nie używać :?: Tak powinno być. Function...
A mi się udało znaleźć. I to na stronie producenta bascoma. Wpisałem w google "bascom getkbd" :) https://avrhelp.mcselec.com/index.html?g... [syntax=vbnet]'-------------------------... 'name : getkbd.bas 'copyright : (c) 1995-2005, MCS Electronics 'purpose : demo : GETKBD 'micro : Mega48...
Ma ktoś jakieś pomysły jak to przeskoczyć? Zainstalować najnowszą wersje BASCOM'a (2.0.7.6.001) :). Tak z ciekawości uruchomiłem program na swoim zestawie, dane odbierał terminal. Za pierwszym razem skompilowałem program wersją 2.0.7.5.003, program wysyłał jedną ramkę (printbin) i stanął. Przy drugiej próbie użyłem BASCOM'a 2.0.7.6.001 i ramki zostały...
i ku memu zdziwieniu, na lcd wartosci pom1 i pom2 wzrastaja 'rownomiernie'(a w wedlug mnie tylko pom1 powinna pokazywac sie zwiekszana) nie wazne czy wywoluje gosub'em, call'em czy zwiekszam bezposrednio w ciele funkcji. Help wpomina o przekazywaniu parametrow przez adres wiec dlaczego Pom2 tez sie zwieksza ? No raczej niema w tym nic dziwnego, Pom1...
Witam. Kompletnie nie znam się na programowaniu w "Bascomie" a koniecznie potrzebuje wrzucić program do mikrokontrolera. Korzystam z programu BASCOM-AVR i programatora usbasp. Po skompilowaniu kodu żródłowego, program pokazuje dwa błędy i nie mam pojęcia jak to przepisać zeby było dobrze. Program twierdzi iż poniższe linijki kodu są niepoprawne: Dim...
Sprawdź czy w funkcji Function Enc28j60_packetreceive() As Word , masz zdefiniowaną zmienną lokalną: [syntax=basic4gl]Local Wtemp As Word [/syntax]
Tak rzeczywiście nazwy zmiennych pokrywają się. Może byc to niewłaściwe ale nie musi. Czy jednak czy rzeczywiście to jest przyczyną zmiany wartości zmiennych? Nie. Żadna instrukcja przypisania nie zmienia zmiennych które sa przekazywane do podprogramu. Instrukcji zmieniajacych nie ma ani wewnątrz funkcji ani w programie głównym. A jednak ich wartości...
Macie jakieś pomysłu na ominięcie tego problemu w Bascom?? Ponieważ w jednych z nowszych wersji umożliwiono obliczanie indeksów z przesunięciem to możesz z tego skorzystać. I tak oto z dwuwymiarowej tablicy robisz jednowymiarową. Jak umiesz pisać programy to sobie to napiszesz w 5 minut prostą funkcję by ukryć wszystkie obliczenia. Wtedy piszesz jakby...
Może to coś pomoże: https://wiki.mcselec.com/bavr/BASCOM-AVR... Poza tym składnia jest na tyle podobna do VB, że daje się zauważyć brak "Return" po skoku "GoSub", jak również brak zakończenia procedury funkcji "End Function". Dodatkowo "U2", deklarowane w funkcji, nigdzie więcej nie występuje, natomiast jest U3min i U3max, zaś pętla "Do ... Loop"...
Takie mam pytanie... Mam urządzenie wykorzystujące DS18B20 z Atmegą 162, pod Bascomem. I pytanie jest takie - czy mogę zastąpić ten DS18B20 przez DS1820 ? Bo jak patrzę w datasheety, to wydawałoby się, że niby to samo ? A jednocześnie znalazłem tu na elektrodzie informację, że program dla DS18B20 i DS1820 powinien być nieco inny. Moje procedurki są...
chcę osiągnąć coś takiego: Declare Function Set_by_spi(co As String*10 , Wartosc*40 As String , Procesor As Byte) As Byte A co to za zmienna Wartosc*40 ? Poza tym zmiennych w parametrach się nie wymiaruje. Wszystko dlatego, że w przekazywaniu parametrów uczestniczą tylko wskaźniki do zmiennych. Nie użyłeś ByVal więc kompilator przekaże 16-bitowy...
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?
Zmiennych w deklaracji i definicji funkcji (powtarzam za przykładami z helpa Bascoma) nie trzeba wcześniej definiować. Te które przekazuję w pętli do-loop, są wcześniej zainicjowane. Wciąż ten sam błąd storebit error [200]. Program oczywiście jest poglądowy ale do skompilowania w bascomie po dodaniu stosownych $ i config i po Ctrl-C / Ctrl-V. [syntax=basic4gl]...
Przykład z Bascoma. Przypatrz się, gdzie popełniłeś błąd. $hwstack = Twoja wartość $swstack = Twoja wartość $framesize = Twoja wartoś ć
1. Bascom jest bardzo dobrym językiem, znacznie lepszym niż Arduino. 2. "a:10.0" "a:10.0 " ":10" "10 " Ten temat jest zamknięty, dostałeś 2 przykłady. Pierwszy napisałem do składni ramki jaką podałeś w pierwszym poście, później zmieniłeś konstrukcję rami to napisałem kolejny przykład, można jak dobrze naliczyłem jeszcze 9 innych metod zastosować by...
Mam NodeMCU z podłączonym konwerterem USB<>SERIAL i troche mi niewygodnie podłączyć to do mikrokontrolera. Zobacz jednak jakie dane i jak wysyła sie w przykładzie do oprogramowania LUA i Thingspeak. Moze coś podpatrzysz. Nie było czasu się tym bawić :D [syntax=bash]--- Get temp and send data to thingspeak.com function sendData() getTemp() -- conection...
Czy w Bascomie AVR można stosować procedury napisane w basicu, które umieszcza się w osobnym pliku? Wiem że takie biblioteki pisane w ASMie można stosować. A czy można je pisać w Basicu? Jeśli można to w jaki sposób się to robi? Można , choć w inny sposób niż robi się to z bibliotekami napisanymi w asemblerze. Przykładzik: '**********plik "główny"...
No coz tak to jest jak sie nie dokladnie przejrzy helpa... Przeznaczenie: Rozpoczyna treść funkcji użytkownika. Składnia: FUNCTION nazwa [ ( parametr AS typ [, parametr AS typ] ) ] AS typ_rezultatu instrukcje funkcji END FUNCTION gdzie: nazwanazwa funkcji, parametrnazwa parametru funkcji, typtyp przekazywanego parametru, typ_rezultatutyp danych zwracanych...
KOledzy, nie piszcie bzdur, jak nie wiecie o co chodzi. The DS1820 Digital Thermometer provides 9–bit temperature readings which indicate the temperature of the device. The DS18B20 Digital Thermometer provides 9 to 12–bit centigrade temperature measurements and has an alarm function with nonvolatile user-programmable upper and lower trigger...
Podpowiedz: zmienna mozemy przekazac do procedury / funkcji dwojako: byval i byref. W pierwszym przypadku tworzona jest zmienna tymczasowa - kopia przekazanej zmiennej i jej wartosc jest STALA przez caly czas wykonywania procedury/funkcji (chyba ze ta swiadomie ja zmieni). W drugim natomiast do procedury/funkcji przekazywany jest ADRES zmiennej w pamieci,...
Witam. Dzieki atom1477 za kolejne informacje. Ja tez sie troche pogubilem w tym wszystkim tym bardziej ze jak testowalem na sofcie na ARDUINO UNO to RFM sie dalo usytawic a ogladane przebiegi analizatorem byly zgodne ze zboczem opadajacym zegarowym. Teraz aby to zrobic jeszcze raz to musze odczekac troche czasu bo ARDUINO zabral studnet na pare dni....
Kolego katakrowa kod poprawiłeś, ale czy go kompilowałeś? W wersji Bascom 2.0.7.8 wyrzuca błędy : Error : 31 Line : 100 Invalid data type [[0010]] , in File : C:\Trawiarka\Traw_popr.bas Error : 31 Line : 101 Invalid data type [[0010]] , in File : C:\Trawiarka\Traw_popr.bas Error : 229...
Prosze o sprawdzenie tego podprogramu. czy wogule w bascomie są funkcje?? Ja chcę tu zrobić coś takiego prze przy wywolywaniu tej funkcji w zmiennej przycisk bede miał jaki klawisz jest naciśniety, Czy moze da się to przerobic na podprogram a nie nafunkcje?? Declare Function Klawiatura(byval Klawisz As Byte ) As Byte Dim Guzik As Byte Dim przycisk...
(at)TMF " ... DIRD=0b01111110; DIRB=0b00000110; ..." kolega zainstaluje Atmel Studio (trochę mu to zajmie), wklei coś takiego i jako wynik otrzyma komunikat: "...Error1'DIRD' undeclared (first use in this function)..". Jeśli to jego początki, być może nie spojrzy już więcej na C... (at)początkujący Powyżej była tzw "literówka" - powinno być DDRD oraz...
Cały program jaki próbuje skompilować: $regfile = "m8515.dat" $crystal = 1000000 $xramstart = &H300 $xramsize = &H10000 $default Xram $include "Config_MMC.bas" $include "Config_AVR-DOS.bas" Declare Function Getattr0() As Byte $default Sram '=============WYSWIETLACZ LCD========== '=============KARTA MMC==============...
Programuję w BASCOM BASIC, i wysyłanie kodu się powiodło (piszczek) teraz tylko muszę uruchomić wszystko w ESC/P zobaczymy co z tego będzie Dodano po 1 ok, drukarka odpowiada na moje komendy, ale mam jeden problem: jakiej komendy użyć aby drukarka wydrukowała to co ma w buforze?? Dodano po 58 Problem rozwiązany, obsługa okiełznana i napisana. Dzięki...
Witam No właśnie patrze w HELP-a i tam jest że zmienna ma byc typu Single i tak mam. mam odczyt temp z DS18B20 jako funcje: instrukcje ......... 1wwrite Czytaj_scratchpad Msb = 1wread(1) Lsb = 1wread(1) 1wreset Temp = Makeint(msb , Lsb) Pomiar_temp_zew = Temp / 16 end Function W pętli głównej wywołuje : Temp_ds18b20 = Pomiar_temp_zew(i) Funkcja zwraca...
Mając trochę wolnego czasu napisałem parę funkcji do obsługi układu PCF8583. Funkcja która ustawia godzinę i datę zapisuje też dane potrzebne do obliczenia pełnego roku, dzień tygodnia jest obliczany automatycznie na podstawie daty. Funkcje Pcf8583_write i Pcf8583_read można wykorzystać do zapisywania/odczytywania danych z wolnej pamięci ram. Dostępne...
A co kolega ma z tym bascomem? Język tu nie ma żadnego znaczenia. Definiujesz sobie 2 piny jako wyjścia, jeden jako zegar drugie jako dane. I teraz tylko patrzysz na wykresy w datasheet. Jak zegar=0 ustawiasz lub zerujesz bit danych, czekasz, i ustawiasz zegar, w tym momencie następuje zapis. Powtarzasz to tyle razy aż zapiszesz wszystkie potrzebne...
A faktycznie niedopatrzyłem bo to wycięty fragment. Proszę więc. Kod jest po to by pokazać jak pomysł otrzymany na Forum można zamienić na coś działającego :P Nie ma wskazywać idealnego rozwiązania, a jedynie to co miałem na myśli a mam ich więcej bo pełno różnych projektów na głowie. Zmieniłem Sub w Funkcję. Nagram chyba kiedyś o tym jakiś film żeby...
Otworzyłem datasheeta, widzę w nim wielką tabelkę FUNCTION TABLE dokładnie opisującą że jeśli na wejściu dasz ... to na wyjściu dostajesz .... Jest nawet schemat jak podłączyć silnik bipolarny. Ponieważ problem cię przerasta to podszkól się w elektronice i dopiero wróć do tych silników krokowych. Ewentualnie wydłub sobie silniki unipolarne ze stacji...
Witam! Nie jestem biegły w BASCOM-ie i mam problem z funkcją, w której chcę uzyskać resztę z dzielenia. Oczywiście operuję na liczba które mają wartość po przecinku tak więc użycie funkcji mod nie wchodzi w grę. Moja funkcja wygląda tak : [syntax=jezyk_programowania] ' wczesniej w zmiennych globalnych jest zdeklarowane dim L as single, l1 as single,...
https://obrazki.elektroda.pl/2807245700_... Witam, Temat odgrzany, i nie mojego autorstwa, ale warty przypomnienia. Potrzebowałem aby pewne urządzenie wystawiało mi do PCta kilka klawiszy klawiatury. Słyszałem już kiedyś o projekcie SWUSB pisanym w jedynym języku który choć trochę znam - Bascom. Zaprojektowałem jednostronną niewielką...
Kolego tera nie działa mi ustawianie godzin a zrobiłem to tak deklaracja:[syntax=vbnet] Declare Function Ustaw(byref Godziny As Byte , Byref Minuty As Byte , Sekundy As Byte) As Integer Declare Sub Znak(cyfra As Byte) 'deklaracja tablicy stałej do wyświetlania cyfr i znaków na wyświetlaczu 7 seg Declare Sub Czytaj 'deklaracja funkcji bez parametru do...
Witam Na wstępie napiszę że jestem zielony w programowaniu procesorów AVR dla tego proszę o pomoc W posiadaniu mam programator USBASP, płytkę stykową, kabelki itd no i program BASCOM AVR Potrzebuję program do koguta led na 8 diod Takowy program testowałem na Arduino UNO i działał, kod poniżej: [syntax=Bascom] /* kogut 8 led */ void setup() { // set...
Tak na szybko to łap z jakiegoś mojego programu :P [syntax=vbnet]Function Value_to_proc(byval Value As Byte)as Byte Local Helpw As Word Helpw = Value Helpw = Helpw * 100 Helpw = Helpw / 255 Value_to_proc = Helpw End Function Function Proc_to_val(byval Value As Byte)as Byte Local Helpw As Word Helpw = Value Shift Helpw , Left , 8 'x256 Helpw = Helpw...
[syntax=basic4gl]Declare Function ReadPort (aPort As Byte) As Byte Declare Sub WritePort (aPort As Byte, bData As Byte) Function ReadPort (aPort As Byte) As Byte ' ciało funkcji End Function Sub WritePort (aPort As Byte, bData As Byte) ' ciało procedury End Sub[/syntax] Reszta tutaj: http://avrhelp.mcselec.com/index.html?de... Możesz...
ja w asemblerze tak to incjuje (w asemblerze) jak chcecie to wkleje tu też program wysyłający dane do modułu. Każdy pin lcdka można podłączyć dowolnie do procka (tak jak w bascomie). Może dla starych wyjadaczy to żadna gratka, ale jakiś "młody" (np: taki jak ja moze sobie to postudiować) pozdrawiam ;******************************** INITLCD: MOV A, #51;FUNCTION...
To raczej nie będzie zbyt proste... Wszędzie gdzie sprawdzasz stan tych pinów musiałbyś najpierw odczytać pcf'a i jakoś magicznie przealiasować... W sumie mam pomysł jak to zrobić w c ale w bascomie się chyba nie uda... Anyway moja propozycja dla bascoma $regfile = "m8def.dat" Dim Zmienna1 As Integer Declare Function Test() As Integer...
Fakt, nie wiadomo. Ale ponieważ nie ma zastrzeżeń producenta co do takiego postępowania oraz sekwencja reset,rom command,function daje dość łatwą możliwość zamaskowania tego momentu dla odbiorcy ja przyjmuję, że jest to zgodne ze specyfikacją. Badań natomiast nie robiłem, więc chętnie poznałbym dokładniejsze dane. Albert
O jakiej optymalności mówisz przy funkcji z jednym if'em? Czy po każdy mały kroczek będziesz się zgłaszał na forum? Zastanów się, może programowanie to coś nie dla ciebie. [syntax=vbnet]Function Parse(ByRef Str As String, Delimiter As String, ByRef Pos As Integer) As String If Pos <= 0 Then Pos = 1 Dim Start As Integer Start = Pos Pos = InStr(Start,...
Troszku późno, ale może komuś się przyda. BASCOM - program, który prawie działa jest gorszy od nieistniejącego. W rozpaczy może się zdarzyć, że konstruktor będzie próbował naprawić błędy bibliotek BASCOMa grzebiąc lutownicą w swoim komputerze. Skorzystałem z powyższego rozwiązania zaproponowanego przez K_O_N_R_A_D'a zmodyfikowanego do wersji wymieniających...
Witam!! Potrzebuję odczytać zawartość rejestrów układu ADNS-2051 (sensor firmy Agilent z myszki optycznej). Komunikacja z układem odbywa się za pomocą linii SCLK i SDIO. W internecie znalazłem program do komunikacji z układem ADNS-2610 (układ bardzo podobny tylko inne adresy rejestrów). Program po lekkiej modyfikacji niestety nie chce się komunikować...
super , dziękii za pomoc , a jeszcze jedno pytanie: to samo , tylko , że z przypisana zmienną np potega "x" i wykonuje "x" * "x" Deklaracja (przed pierwszym użyciem w kodzie): Declare Function Potega( Byval X As Integer) As Integer Definicja (na końcu programu) Function Potega( Byval X As Integer) As Integer Potega = X...
Jeśli nie masz na stanie generatora to może zainteresuje Cię, albo kogoś innego, taki najprostszy generator który operowany jest dwoma potencjometrami. Jeden ustawia częstotliwość a drugi wypełnienie 1%-99%. To pozwoli szybko znaleźć odpowiednie parametry dla przetwornicy i potem można ustawić Tiny13 na rejestrach . Kod będzie działał na Arduino Mega2560,...
Zacząłem pisać progs w BASCOMIE. tak się przedstawia jego listing: ---cut here--- Config Portb = Output Config Portd = Output 'konfiguracjaportów Dim Adress As Integer Dim Command As Integer Dim Licznik_kol As Integer Dim Licz As Integer Declare Function Wyswietl_bajt(bajt1 As Byte) As Byte Declare Function Czytajrc5() As Byte Licznik_kol = 0 Function...
PRINT will automatic convert numeric variables into the string representation. This means that when you have a byte variable named B with the value of 123, the numeric variable is converted into a string "123" and then printed. In this case, print will print 3 characters or bytes. When you want to print the byte you can use the chr() function : print...
Wgryzam się dopiero w Bacoma i potrzebuję funkcję, która skalowała by jeden zakres na drugi. Np. mam pomiary z ADC1: 400-900, a z ADC2: 300-1000 i chce aby ADC2 zawierało się w zakresach ADC1... Do tej pory udało mi się napisać coś takiego: [syntax=vbnet] ' Deklaracja zmiennych (zmienne oprócz U1, U2, U3 to zmienne sczytywane z eepromu) Declare Function...
Tych wartości nie ustala się eksperymentalnie. Nawet podałem na forum przepis co i jak... Szukać! $HWSTACK = 32 - jak nie używasz przerwań to możesz zmniejszyć nawet dwukrotnie. Pamiętaj tylko by nie używać zbyt dużo zagnieżdżonych odwołań GOSUB. $SWSTACK = 18 - jak nie ma poleceń CALL, SUB, FUNCTION, LOCAL to to taka wartość to marnotrawstwo RAM. W...
Aby obliczyć prawidłowe wartości stosów wystarczy znać swój program, zwłaszcza to co ze stosów korzysta najwięcej. - Ile jest przerwań i jak mogą się wywoływać wzajemnie. Każde przerwanie może odłożyć na stos prawie 40 bajtów w prologu. - Ile mamy wywołań podprogramów przez GOSUB. Ile mamy wywołań wbudowanych funkcji i czy korzystają z operacji na zmiennych...
Witam Moje wypociny na podstawie których ma się zwiększać lub zmniejszać PWM w zależności od jakiś ustawionych parametrów. W tablicy mam zapisane kroki według jakich ma zachodzić rozjaśnianie/ściemnianie a w przerwaniu co 1s ustawiam odpowiednie flagi na podstawie których zliczany jest czas do kolejnego kroku. I niby wszystko działa ale gdy rozjaśni...
Za polskim helpem Bascoma Przeznaczenie: Powoduje przerwanie wykonywania instrukcji: FOR..NEXT, DO..LOOP, WHILE..WEND, SUB..END SUB lub FUNCTION..END FUNCTION. Składnia: EXIT FOR EXIT DO EXIT WHILE EXIT SUB EXIT FUNCTION Opis: Za pomocą instrukcji EXIT można w każdej chwili wyjść z dowolnej instrukcji strukturalnej. Przykład: '---------------------------------------...
Inna sprawa tych warrningów a inna to co ten kod tam oznacza bo jest poplątany. Po pierwsze musisz wiedzieć (można o tym poczytać w Helpie pod hasłem "Declare Sub"), że deklarując sub określasz też czy subowi będziesz przekazywał tylko kopie wartości danych zmiennych czy też przekażesz mu bezpośrednio te zmienne poprzez ich adresy. Dlatego są określenia...
To może troche więcej konkretów skąd moje pytanie. Zaczne może od tego że programuje w Bascomie i tam są powiedzmy "gotowe" programiki w stylu "ultrasonic.bas". Przytocze przykład: ' ' ulrasonic functions SRF04 ' Declare Sub Initialize_ultrasonic() ' Declare Function Ultrasonic_left() As Integer ' Declare Function Ultrasonic_right() As Integer Function...
Nigdy nie miałem tego sensora u siebie i dlatego nie czytałem dokumentacji i koła od nowa tez nie chciałem wymyślać. Jest gotowy kod na to na innym forum. On moze obsługiwać więcej czujników. Najważniejsze że pokazane jest jak do tego Twojego dodać obsługę temperatur ujemnych. [syntax=vbnet] ' ' Sensor DHT22 ' Insanity ' $regfile = "m328pdef.dat" $hwstack...
Witam serdecznie forumowiczów! Na wstępie od razu przyznam że do tej pory pisałem w Bascomie i myślę że przyszedł czas na poznanie C. Miganie ledem mam za sobą :D. Po zapoznaniu się z kilkoma manualami próbuję wykonać transmisję szeregową. Niestety napotkałem problem. Proszę was o radę i w miarę możliwości zapoznanie mnie z dobrymi nawykami pisania...
Proszę. Jest to przykład zapisu i odczytu zarówno zwykłych bajtów jak też łańcuchów tekstowych inaczej mówiąc napisów w Eeprom. Program i funkcje działają z małymi pamięciami których adresacja mieści się w jednym bajcie. Do tego przykładu użyłem 24C04 Jeśli ktoś chce to może po prostu wpisać sobie jakieś dane do buff(1), Buff(2) itd i tak zapisać. Potem...
Witam, sprawa wygląda następująco, mam napisany program w bascomie 8051 pod mikrokontroler 89c2051, skompilowałem go i uzyskałem plik hex. Pobrałem z sieci program IDA Pro Advanced ver. 5.5. Otworzyłem w nim plik hex, wybrałem processor type intel 8051 a następnie w opcjach procesora model 89c2051. Uzyskałem w ten sposób kod asemblera. Moje pytanie...
Witam Mam pytanie wysyłam przez RS232 daną typu np. 255$0D lub 0$0D itd.... chodzi mi o to by , po odebraniu w BASCOM-ie ten string widzieć w formie zmiennej o wartości 255 , a nie jaki trzy pojedyncze znaki ASCI wysyłam 255$0D odbieram 2 , 5 , 5 , $0D Jak to ułożyć w 255 i zrobić z tego LICZBĘ 255 "znienną" by ją pobrać ? Proszę o Waszą pomoc 'Przykład...
Nie umiem sobie przypomnieć teraz czy jest jakaś gotowa instrukcja, ale mogę Ci pokazać jak można sobie radzić pisząc własne funkcje. To nieskomplikowane. Budując funkcję w nawiasach określasz co będzie danymi wejściowymi a poza nawiasem co funkcja ma zwrócić. Czyli napisałem, że funkcja dostaje wartość bajtu a zwrócić powinna też bajt. Change() kiedy...
Dalsza zabawa polegała na odebraniu ramki . Istnieje możliwość wysyłania i odbierania ramki przez ten sam węzeł. W rejestrze CANCTRL bit7-5 REQOP ustawiamy 010 = tryb sprzężenia zwrotnego. Tryb sprzężenia zwrotnego jest bardzo cenny ponieważ umożliwia to zabawę z MCP mając tylko jeden węzeł . Do programu musiałem dopisać. deklarujemy:[syntax=basic4gl]...
Witam serdecznie, przejrzane tematy nie dały mi odpowiedzi na moje pytanie. Poniżej fragmenty kodu: [syntax=basic4gl] $regfile = "m1284pdef.dat" $crystal = 11059200 $baud = 9600 Config Com2 = 9600 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0 Config Serialin = Buffered , Size = 180 , Bytematch = 10 Config Serialin1 = Buffered...
Korzystając z tematu, też postanowiłem prosić o pomoc w sprawie DS18B20. Przestudiowałem forum i na podstawie materiałów które tu znalazłem skleiłem kod pod mojego uC - Atmega644 i kwarc 18,43 MHz. Jest to moja pierwsza przygoda z uC i z programowaniem w C, dlatego jeszcze wiele rzeczy nie łapie, które były tu opisane. Program wykrywa czujnik, ale odczyt...
Dodano po 2 Nie wiem czy ja popełniam błąd czy to Bascom... Choć symuluję to na najnowszej wersji, ale kompiluje na starszej wersji, bo nowa ma ograniczenie do 4kb.
The Timer_isr function takes too much time. Much more than 12 cycles as you want to perform. Therefore, MCLK is much slower than the required 32 kHz. You should toggle PortB.5 (MCLK) hardwarly, not softwarly. Hapilly PortB.5 is OC1A output od Timer1. Or, you may try to run Atmega on highest frequency. For example 8MHz. Then Timer_isr maybe will be take...
function bascom green function inline function
gilera silnik ws2812b projekty podzielnik koszt
selektol specjal zlecę lutowanie
Ustawienie położenia tłoka w Defro K2 - instrukcja Konfiguracja AVRISP mkII w Eclipse IDE