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ść :(
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
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óć...
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...
' 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,...
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...
Sub or function must be declared first sub or function expected first takie 2 błędy mi wyskoczyly
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...
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, 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...
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...
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...
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...
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?
Ź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) =...
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); }...
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 :...
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...
mi niestety wyskakuja bledy przy kompilacji: Error[Pe020]:identifier "prog_char" is undefinder oraz Warning[Pe223]: function "PRG_RDB" declared implicitly
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...
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...
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...
[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...
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ę...
Ehhh... słabo u mnie z tymi obliczeniami na funkcjach. jedna linijka... [syntax=vbnet]Rownanie_funkcja = Rownanie_funkcja - Len(text)[/syntax] a ja tu już nie wiadomo jakie obliczenia tworzyłem Jestem pewien, że o to chodziło [syntax=vbnet]$regfile = "m32def.dat" $crystal = 8000000 Config Lcd = 16 * 4 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2...
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
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...
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...
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...
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ż...
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_...
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...
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...
Sprawdź czy w funkcji Function Enc28j60_packetreceive() As Word , masz zdefiniowaną zmienną lokalną: [syntax=basic4gl]Local Wtemp As Word [/syntax]
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...
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...
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...
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...
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?
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...
Witam wszystkich serdecznie. Ponieważ wygoglować rozwiązania problemu nie mogę, zwracam się z uprzejmą prośbą do bardziej doświadczonych kolegów z pytaniem: dlaczego próba kompilacji poniższego kodu kończy się błędem "Storebit error [200]" ze wskazaniem na linię: Wysw = Xyz(byval X , Byval Y)? Za ew. pomoc w rozwiązaniu problemu z góry dziękuję. [syntax=basic4gl]...
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ą...
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"...
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...
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...
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"...
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...
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
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==============...
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...
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...
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...
(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...
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 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...
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...
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ą...
Przykład z Bascoma. Przypatrz się, gdzie popełniłeś błąd. $hwstack = Twoja wartość $swstack = Twoja wartość $framesize = Twoja wartoś ć
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...
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....
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 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...
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...
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ć...
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...
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...
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...
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...
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...
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...
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...
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...
Mam problem z kontrolą transmisji złożonej na układach radiowych i połączeniu z PC. Transmisja nadajnik->odbiornik wysyła paczki danych zakończonych crc8 (Bascom'owe CRC8). Dane przekazywane są potem do PC z taką samą paczką zakończoną crc8 (również Bascomowe CRC8). Po stronie PC odbieram dane ale mam problem z zaimplementowaniem w Delphi fumkcji...
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: '---------------------------------------...
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...
odnośnie zapamiętywania i pobierania stringów z pamięci ROM(flash) to nie mam jakby problemów ale chodzi mi o sposoby obróbki tych "ala" stringów. Tzn po wykładzie kolegi Freedie już czuję o co chodzi ale np tak: w pascalu(delphi) mam taką swoją ulubioną i często potrzebną mi funkcję function ScanStrSP(var Text: string; Separator: string):...
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...
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...
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...
... Pytanie do HUNTERHOUSE Jak optymalizujesz kod. Mozesz podac jakies przyklady? wsadzanie czesci kodu w pętle, optymalizacja algortymów. używanie odpowiednich zmiennych(zeby nie były za duze bo wolnije się liczą i obliczenia zajmują wiecej pamięci) bezwzglądnie zakaz uzywania declare sub i function (największa porażka bascoma, jak sie urzywa takich...
bascom function green function inline function
gembird instrukcja terma baterie sonda lambda accord
Jak znaleźć kod do połączenia telefonu z telewizorem? Jak wyłączyć automatyczne zamykanie bramy HG600?