Odwrotnie: 0101-0000. A przelicz na piechotę albo w kalkulatorze obsługującym system binarny (czyli na przykład w kalkulatorze z Windowsa). Dodano po 2 A w sumie to nie musisz przeliczać. Możesz napisać: LCD Chr(&B01010000)
chcę zrobić tablicę z nazwami dni tygodnia do kalendarza. deklaruję dim tablica(7) as string * 12 Po co Ci aż 7 12-bajtowych stringów :?: Wystarczy: Dim Dzientygodnia As String *12 , Nrdnia As Byte ... Dzientygodnia=Lookupstr(Nrdnia,Tabli... '0=Pon, 1=Wtor, ... Lcd Dzientygodnia; ... Tablica: Data "poniedziałek", "wtorek"...
... BASCOM nie obsluguje tablic bitow... Bascom-AVR obsługuje tablice bitów , jednak z pewnymi ograniczeniami a)Tablica nie większa niż 256 bitów. b)index/numer bitu , MUSI być zmienną , choć właściwie niekoniecznie MUSI :D Piotrek
Specjalnej funkcji to nie ma, ale nic nie stoi na przeszkodzie napisać kilka linijek które to zrobią. Np. w pętli for next z użyciem mid()
Najprościej skorzystać z gotowych funkcji. W Bascomie 51 jest funkcja MAX. Działa ona na zmiennych typu Byte. W Bascomie AVR funkcja ta działa na zmiennych Word. Więcej info w helpie do Bascom-a. Jeśli musi to być koniecznie Integer, można zastosować jakąś konwersję typu Word na Integer lub napisanie własnej funkcji, co nie powinno być trudne.
To jest tak oczywista informacja że nie ma tego w Helpie. Tak samo jak całego alfabetu czy tabliczki mnożenia ;p Skąd Lookup miał by wiedzieć jaką długość mają kolejne elementy? Owszem mógł by, ale taka tablica musiała by dodatkowo zawierać pola określające długość elementów czyli też była by dłuższa. Po drugie to trafia do pamięci programu a nie do...
Witam. if a() = b() then jakieś tam instrukcje end if Taki warunek porówna tylko pierwsze elementy tablicy.
Witam, Na własne potrzeby chciałem zbudować monitor temperatury z 4 dallasami 18B20. Dane są odczytywane z czujników po RS485 i wysyłane do mastera. Kiedy odpytuję czujniki po kolei, muszę czekać standardowe 750ms na odpowiedź każdego z nich, co nie zadowala mnie. Zależy mi na tym, aby po wysłaniu komendy odpytującej, każdy z czujników bezzwłocznie...
W zasadzie nie znam Bascom-a, ale podejrzanie wygląda mi to, że argument Segment tej funkcji nie jest zadeklarowany jako tablica, a jednak odwołujesz się do niego jako tablicy.
Tak jak napisałem. W funkcji pobierasz składowe koloru r, g i b, i wpisujesz do kanałów: "Kana(numer_leda+1)=r. Na pewno można to zrobić lepiej.
Pytanie: czy da się te aliasy zrobić w formie tablicy? Tak, żeby odwołanie do konkretnego wyjścia mogło mieć postać "Wyjscie(x)"? Co stoi na przeszkodzie (skoro piny nie są po kolei) aby nie tworzyć sobie sztucznych problemów i zamiast używać tablicy - użyć funkcji ?
Nadeszła chyba pora zapoznać się , z Bascom-owym helpem :D Dim Adres As Word Dim Pozycja As Byte Do For Pozycja = 0 To 5 Adres = Lookup(pozycja , Tablica) Next Loop Tablica: Data 1% , 10% , 100% , 1000% , 10000% , 65535% Teraz będzie dobrze :?: Piotrek
By funkcja PRINT nie wysyłała samoczynnie znaków CR i LF , użyj średnika. Print "Ala"; Print "ma"; Print "kota" Piotrek
Powinno być: [syntax=basic4gl]Printbin Send(1) ; 3 ' wyślij 3 elementy tablicy Send(), zaczynając od pierwszego elementu tablicy.[/syntax]
W Bascomie tylko tablice jednowymiarowe, ale możesz przeszukiwać je z przesunięciem. Pamiętaj o dostępnej pamięci, bo tablica 10000 pozycji pewnie nie wejdzie w up... Pocztaj jeszcze o strukturze DATA.
Wartość w poleceniu lookup to jest właśnie adres wiec nie kumam w czym problem. przeskaluj adc z 0-1023 na 0-90 i potem wywołuj zmienna=lookup(adc,tablica)
' Na początku kodu Index_tab=0 ...... ...... If Licznik = 1200 Then IF Index_tab=3 Then ' przesuniecie w tył jeżeli pozyskano co najmniej 3 pomiary Pomiar(1)=Pomiar(2) Pomiar(2)=Pomiar(3) Else ' Fragment kodu wykonywany dla Index_tab=0,1 i 2 Incr Index_tab IF Index_tab>3 Then Index_tab=3 End If Pomiar(index_tab)...
Zatem masz 32 komórki po 32 bajty, dajmy na to tablica(a, b) . Pomnożyć to daje 1024. Teraz definiujesz tablicę tablica(1024) i jak chcesz wyliczyć położenie danej komórki - wykonujesz obliczenia: 32*(b-1) + a i masz jakby dwuwymiarową tablicę.
to powinno pomóc - zwraca adres początku tablicy https://avrhelp.mcselec.com/index.html?l...
Może jednak zjarzyj na tą stronkę, najmniejszy plik pomocy ma 300 parę kb, jesli mnie pamięć nie myli to dyskietka ma 1,44 Mb, tylko pdf ma prawie 2 mega. Reszta to pliki html zatem łatwo będzie wyszukać i ctrl+c , no i od czego jest winrar?
Miło by było jak byś napisał "co zadziałało". Na Elektrodzie zbieramy doswiadczenia.
Typ BYTE - zakres od 0 ... 255 ale Bascom pozwala zadeklarować dim tablica(256) as byte i zaadresować tablica(256) = 12 Prawdopodobnie element 256 ma adres 0 ale to tylko moje przypuszczenie Bascom gdy pozna się i pogodzi z jego ułomnościami ( czyli ten typ tak ma ) Pozwala dość szybko pisać proste i nie tylko takie programy. Tak, tak, wiem C jest lepsze...
Zmienione liczby były tylko do moich testów ;)
tablica jest odpowiedni zadeklarowana, a bascom automatycznie inkrementuje wzkaźnik w tablicy, więc polecenie: Bd(1) = 1wread(9) powoduje, ze pierwszy odczytany bajt ląduje w Bd(1), kolejny w Bd(2), aż ostatni (dziewiąty) w Bd(9)
Sam sobie odpowiedziałeś na pytanie. Jest jeszcze jedna możliwość ale jest nieco niebezpieczna i wymaga aktualnej wersji BASCOMa: funkcja MEMCOPY.
Witajcie ! Wiem, że temat był wałkowany na Elektrodzie wielokrotnie, czytałem chyba wszystkie, nie znalazłem jednak rozwiązania mojego problemu. Może na początek schemat : (tablica ma faktycznie 5 rejestrów i 40 kolumn, nie chciało mi sie jednak całości rysować.) http://obrazki.elektroda.net/42_12344199... teraz banalny kod : $regfile = "m8def.dat"...
Wielkie dzięki e marcus, naprawdę mi pomogłeś. Mój program jest już niemalże na ukończeniu jednakże mam jeszcze jeden kłopot... Trudno tu "zgadnąc" przyczynę nie widząc całego programu. Wielokrotne zaliczenie akcji przycisku może byc w pierwszym rzędzie spowodowane fenomenem "Switch bounce". Zapobieganie temu zjawisku zwane jest 'DEBOUNCE'. Patrz odpowiednia...
(at)zumek Dzięki za kod, ale nie do końca wiem jak on działa. Szkoda :( W1 to tablica wskaźników na W, przesunięta o dwa miejsca? Mylisz się :( W1 , to jakby wskaźnik na W powiększony o 1 element tablicy W , czyli 2 bajty . Natomiast tablica wskaźników , to ... nie z tej bajki ;) A dokładnie rzecz ujmując , to Bascom definiuje tablicę W1 , w obszarze...
Tablicy nie, bo to różne typy. słowo2_array jest nałożone na słowo2 (string) więc musisz robić podstawienie słowo2 = słowo3 albo kopiować ze słowo3 poszczególne znaki do słowo2_array
Ź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) =...
Możesz podać gdzie przeczytałeś że ta liczba po przecinku oznacza liczbę wysłanych bajtów? Help nic nie mówi na ten temat. Sprawdzałem w symulatorze że ta liczba nic nie zmienia. Jest taka informacja w helpie "When you use Printbin ar(1) , the whole array will be printed." A kto powiedział że ja wpisuje dane? Ja je wysyłam. Ale twoja tablica jest pusta....
Toż Ci piszę, że tablice wielowymiarowe to abstrakcja - i tak są mapowane do tablic 1W (wektorów). Wektor o długości 16 elementów, możesz równie dobrze traktować jako tablicę 2W o wymiarach 4 x 4 - wzór na przeliczenie indeksów 2W na 1W podałem w poprzednim poście. Dim Tablica(16) As Byte Dim X As Byte Dim Y As Byte Dim N As Byte Dim I As Integer...
mov DPTR, .Tablica_instrukcji mov A,{instrukcja} jmp (at)A+DPTR Pomijając fakt, że nie mam pewności czy ten kawałek kodu jest poprawny to mam problem ze zbudowaniem tablicy adresów. Pomysł jest dobry, ale wykonanie złe ;), albo zrobisz pomnożysz A przez 2 albo 3 i pod adresem tablica instrukcji zrobisz serie skoków (bliski ma 2 bajty, daleki...
Źle podpięty RESET atmegi no i brak przy pinie 2 złącza programatora +5V..
Z tego swojego kodu usuwasz "Odczyt numerów ID czujników temperatury" A w to miejsce wpisujesz odczytane adresy do tablicy z adresem danego czujnika. np. tak będzie to wyglądało dla pierwszego czujnika: Dsid1(1)=&H28 Dsid1(2)=&H65 Dsid1(3)=&HC3 Dsid1(4)=&H89 Dsid1(5)=&H05 Dsid1(6)=&H00 Dsid1(7)=&H00 Dsid1(8)=&H25
Nie musisz, ta tablica będzie umieszczona w pamięci sram. Stos używany będzie w przypadku skoków do przerwań, podprocedur itp.
Nie znam Bascoma, więc zakładam, że tablic dwuwymiarowych tam się nie da zrobić. Aby takowe zasymulować, stwórz jedną, rozmiaru 1024*1024, a potem by znaleźć pozycję jakiejś danej na podst. współrzędnych: x*1024 + y.
Wywal opóźnienie z przerwania. Po za tym wygaszaj kolumny za każdym razem jak wchodzisz w przerwanie.
Witam, Mam problem. Chodzi o listingi z książki Marcin Wiązania - Programowanie mikrokontrolerów AVR w języku Bascom W książce są dwa przykłady sterowania matryca Led 5X7 Pierwszy przykład z książki ma za zadanie wyświetlać znaki po kolei i to działa. Natomiast drugi listing ma za zadanie przesuwać znaki z lewej do prawej. I to już nie działa. Schemat...
Tablice najlatwiej porównać bezpośrednio. Z tego co mi wiadomo to to nie można liczyć wyznacznika z tablicy do tego potrzebna jest macierz kwadratowa a tablica na pewno nią nie jest. Jeśli sprecyzujesz problem dokładnie to mogę Ci napisać funkcje ale w C przerobienie jej na BASCOM'a nie powinno być trudne
tak ale zrobiłem to ręcznie ... nie wiem jak to wrzucić do tablicy
Tak, ale chodzi o: X( I ) = I Czyli nam chodzi o to I , a nie o to I. I ono właśnie idzie co 100. Jedno i drugie I (skoro to jest to samo I :D). A to pierwsze (pogrubione I ) nie powinno. Bo tablica ma 40 elementów indexowanych co 1. Więc poinny iść co 1. Czyli powinieneś mieć dwie zmienne. Jedną do indexowania co idzie co 1. A drugą do wpisywania do...
To: 1. Rozbij sekwencję na kody ASCII i umieść je w tablicy 2. Wyślij tablicę za pomocą Printbin Tablica(1) ; ilość_elementów_tablicy
Konwersje byte->string otrzymuje się przy użyciu funkcji Str. W drugą stronę działa funkcja Val.
Patrzę i patrzę na Twój kod i na opis tego co chcesz i nic nie rozumiem. Nie wiem co chcesz osiągnąć i za nic nie rozumiem tego kodu.
Zainteresuj się funkcją lookup . Pozwala ona na odczyt danych z DATA, na podstawie ich pozycji. Wszystko masz opisane w help-ie BASCOM-a.
Atmega2560 posiada 256kB pamięci. Załóżmy, że program zajmie 25k, zostaje jeszcze 225kB. Zatem, Twoich "plików" wejdzie 225 / 0,72 = 312 plików po 720 bajtów. Dostęp do danych przez funkcję lookup https://avrhelp.mcselec.com/index.html?l...
BASCOM obsługuje tablice z indexem Integer 6553x sztuk:>
Panowie, ekspresowe pytanie: czy w bascomie jest jakiś sposób, żeby zapisać danymi całą tablicę naraz? Chodzi mi o coś takiego: [syntax=basic4gl] Dim Tablica(5) as Byte Tablica(1) = 1 'tak można Tablica(2) = 2 . . Tablica(5) = 5 Tablica = 1,2,3,4,5 'a tak już nie można Dim A as Byte For A = 1 To 5 Tablica(A) = A 'tak też można, ale nie o to mi chodzi...
Poczytaj w pomocy o instrukcjach: DATA , RESTORE, READ... To się nie nadaje , ponieważ Restore potrzebuje etykiety , a Read to odczyt sekwencyjny i nie da sie wybrać konkretnego elementu tablicy , tylko trzeba odczytywać kolejno , począwszy od pierwszego elementu. Ale ... Bascom AVR posiada funkcje , za pomocą których można naśladować mechanizm wskaźników...
Projektuje uklad w ktorym PC (VB6) bedzie wysylalo tablice do atmegi 32. Tablice wysle z VB6 w nastepujacy sposob: Dim tArray(1 To 5) As Byte Dim vntBuffer As Variant tArray(1) = 100 tArray(2) = 101 tArray(3) = 102 tArray(4) = 103 tArray(5) = 104 vntBuffer = tArray msComm.Output = vntBuffer moje pytanie jest jak to wrzucic do tablicy spowrotem w bascom?
Zapisać -> Nie wiem w jakim stanie go masz, ale pewnie jako 8 bajtów:) Wytnij z tego bajty rodziny etc, zostaw sam SN właściwy, i jak pisał chyba JmL masz "tablice" w eepromie, no to siup zapisujesz pod ta i ta komórkę, co potrzeba. - tyle apropo zapisu Odczyt -> odczytujesz co któryś bajt(same SNy) do jakiejś innej tablicy w ramie i szukasz w niej...
Z tego co widze program jest w BASCOMie. Prawde mowiac to ja sie na tym nie znam ale wydaj mi sie ze mozna to zrobic w taki sposob: x=a(1)*100+a(2)*10+a(3); Czyz nie?
W jakim sensie "lepiej"? Nie twierdzę, że jest to złe, co zrobiłeś, tylko czy aby spełnia oczekiwania? A generalnie - zależy Ci na równomiernym rozkładzie prawdopodobieństwa uzyskiwanej tablicy? Bo jak tak, to ja bym pokusił się o zbadanie tego rozkładu w tym algorytmie.
Tak jak wprowadza się dane do tablicy...
No do tablicy "Znaki" się wstawia. W zwykłym ASCII.
Nie znam wogole bascoma ale jak mi podeslesz na pw szkielet tablicy w bascom to dorobie w programie zakladke z tablica dla bascoma.
No to jesteśmy w kropce . W ksiązce z której kozystasz jest dokładnie opisane jak tworzyć takie tabele. Poszukaj tez programu który ułatwi Tobie napisanie tablic .Podobny program masz w Bascomie , LCD Designer
czy w bascomie8051 jest mozliwosc odebrania danych tak aby zapisac je do tablicy w postaci bitowej? nie musi byc to zapisanie do tablicy, moze to byc string, ale zeby dane bylo w postaci ciagu 0 i 1 Można to zrobic , na w/w sposoby i jeszcze parę innych . Piotrek PS Wysil sie i opisz problem dokładniej :D
Coś takiego zrobiłem [syntax=basic4gl] Index = Idx + 1 Freq = Lngfreq_memory(index) Fstep = Lngstep_memory(index) 'Menu(idx) = Str(freq) + " " + Str(fstep) For Index = 1 To 10 Menu(idx) = Str(freq) + " " + Str(fstep) Next Index [/syntax] ale nie działa to dobrze , po prostu pętla nie przechodzi po tablicy
Odebrane znaki zapisz do tablicy a potem wybierz te które są ci potrzebne i prześlij je do PC.
Czy jest jakaś możliwość dodania kolejnych znaków do istniejącej tablicy fontów w Bascom (czyli pliku FONT) , tak aby nie trzeba było tworzyć nowej większej tablicy, i ręcznie "rysować" każdego znaku od początku ? Mam tabelę fontów, zawierającą specjalne mini-grafiki, więc jeżeli trzeba robić nową tabelę, musiałby wszystkie narysować od początku...
Tak, rozwiązałem problem za pomocą tablicy.
Witam! chyba koledze o co innego chodzi. A tu się tak nieda. To nie C. Kolega chciałby zrobić tak jak możemy robić w C czyli np. tak: const unsigned char zmienna[3] = {1,2,3,4}; Niestety, też w BASCOMIE nie znalazłem takiego czegoś, i miałem dosyć wpisywania po kolei zaciemniając kod. Pamiętaj, że w C pierwszym elementem tablicy jest...
Ludzie.... Nie sprzeczajcie się może ile co będzie zajmowało, tylko napiszcie jak to zrobić na tablicach.
Polecam przeczytać: http://avrhelp.mcselec.com/index.html?la... Jest też o tablicach.
Może ktoś wie jak założyć tablicę 66 elementową ( każdy element to bit) w obszarze adresowanym bitowo, tak by można było odwoływać się do poszczególnych bitów poprzez współżędne w tablicy np. bit22=Tablica(22). Bascom co prawda przyjmuje deklarację Tablica(66) as bit, ale traktuje to jak zmienną 1 bitową tzn. zapis Tablica(22) = 1 ustawia na 1 wszystkie...
[syntax=c]TWI_write(pgm_read_byte( &cyferki[cy4] ));[/syntax] Mam tablicę znaków wyświetlacza "cyferki" a zmienną "cy1" - "cy4" wskazuje odpowiedni znak z tablicy. W buforze z RFM12 mam stringi a potrzebuje int aby wyświetlić znaki z tablicy.
Dobrze by było podac w czym programujesz asembler, C++, bascom??
A widzisz, pojawia się wreszcie jakiś konkret. Skoro pojawia się komenda "300" to rozumiem, że pojawi się też "120", "1", "55" itp. Więc zamieniasz otrzymany string na word i masz już wskaźnik tablicy. W odpowiedzi wysyłasz wartość zmiennej o numerze "300".
Witam Mam dwa pytania. Ja utworzyć CRC dla tablicy zawierającej 1024 bajty. Powinno się ją podzielić na mniejsze bliki i obliczać CRC32 czy istnieje jakiś inny sposób. Jaką maksymalną wielkość może osiągnąć tablica aby można było liczyć bezpiecznie CRC32.
Dołącz do ramki np znak nowej linii '\n' i odbieraj znaki aż do jego napotkania zapisując ramkę do tablicy potem zostaje tylko ją zinterpretować określając wielkość tablicy.
Do sortowania użyj instrukcji Sort : [syntax=basic4gl]Dim A(3) As Byte ' trzy elementowa tablica A(1)= 86 A(2)= 42 A(3)= 230 Sort A(1) , 3 ' sortuj trzy elementy w tablicy zaczynając od A(1) Print A(2) ' wyświetl drugą wartość[/syntax]
Za końcem programu: Nazwatablicy: data 'wartości kolejnych kolumn oddzielone przecinkami Odczytujesz poleceniem lookup. Np.: For X = 0 To 4 cyfra z 5 kolumn Portb = Lookup(x , Cyfra) Waitms Czaskol Next Portb = 0 'kolumna odstępu Waitms Czaskol Zauważ, że tu zmienna "cyfra" decyduje z ktorej tablicy odczytamy dane. ;)
Tak trudno sprawdzić w manualu wciskając w Bascom F1? Sprawdziłbyś hasło "Printbin" i dowiedział się że domyślnie wysyłana jest cała tablica a kiedy nie chcesz to po średniku wpisujesz ile bajtów wysłać [syntax=vbnet]Printbin ar(1) ; 3 ' will send 3 bytes from array ar() starting at index element 1[/syntax]
Kwarc wstaw w obu przypadkach nawet 16MHz. Baudrate jest zależna w zasadzie od jego dzielnika niż od kwarcu. Nie szalej też z dużą szybkością bo błędy mogą wyskoczyć, zacznij od 4800 bps. Połączenie po UART masz zrobić sprzętowo! Timer niech ci obsługuje multiplexing, główna pętla programu sprawdzanie czy w UART coś przyszło i przepisywanie do tablicy....
Myślałem raczej o czymś takim: [syntax=basic4gl]Do Readeeprom Tablica(licznik) , Licznik Incr Licznik Loop Until licznik >12 [/syntax] :)
Nie znam BASCOMa, ale zapewne jest. Najprosciej brac z tablicy dwie sasiednie wartosci i interpolowac. Problem jest z indeksem - wiec kolejna tablica w ktorej masz strukture typu zakres[min,max], wartosc indeksu do wlasciwej tablicy.
No więc ? Tablica: DIM Odczyt(2) składa się z dwóch zmiennych typu Byte. Więc ile masz bitów razem ?
Wyszukujesz początek ramki, czyli pewnie "$GPRMC," Potem ładujesz znaki do zmiennej textowej aż natrafisz an przecinek. Jak natrafisz na przecinek to zatrzymujesz ładowanie znaków (a przecinka nie ładujesz). Konwertujesz Text na liczbę Integer (chyba że chcesz tablicę Stringów). Potem masz przecinek. Omijasz. Zbierasz kolejne dane aż do kolejnego separatora....
Witam. http://www.elportal.pl/ea/arch/bascavr.z... To jest adres polskiego helpa. Poczytaj. Najlepiej odebrane liczby wrzucaj w pętli do tablicy. Odczytujesz z tablicy podając pozycję liczby. W helpie powinny być przykłady użycia poleceń.
Nie da rady w ten sposób... Ale... Załóż zmienną typu "byte". W programie możesz odwoływać się do pojedyńczych bitów tejże (np.: set zmienna.1 , reset zmienna.5 ) Właśnie tu jest pewien problem. Zawsze jest sterowane tylko jedno wyjście przez specyficzny cykliczny układ zmiennych czasowo przerwań. INT0 przełącza na kolejny pin czyli next x Zawsze mogę...
Co to znaczy ilość jest zmienna? W Bascomie rozmiar tablicy jest stały. Rozumiem, że pozostałe po prostu są pustymi stringami. Może polecenie SORT się nada, Ale do zmiennych STRING go nie próbowałem używać więc....
Znalazłem specjalnie dla Ciebie jeszcze kilka bajtów :D ahahahahaha Bascom stara się być "ignorantoodpornym" czyli jak ktoś może czegoś nie wiedzieć to on to, na wszelki wypadek, robi za niego. W języku C każdą zadeklarowaną zmienną najczęściej inicjuje się jakąś wartością ponieważ po reset nie można być pewnym, że w niej znajduje sie zero lub potrzebna...
Prawdopodobnie tabele będę miał z exela max 1024x1024B min256x256B. Nie wyobrażam sobie w jaki sposób przepiszę to do Basoma. Macie jakieś pomysły? Jak to zautomatyzować (ctrl+c ctrl+v) ? Może prościej zapisać to w pamięci zewnętrznej i jakoś odczytywać w Bascomie.
To teraz 2 testy: 1. Przypisz dane z tablicy najpierw do zmiennej tymczasowej a potem wyślij zmienną tymczasową na portd 2. Poprzez Select Case Nr_Wysw na sztywno wyślij na port odpowiednią wartość dla konkretnego wyświetlacza (bez odczytu z tablicy)
Bascom jest tak beznadziejny, że adresuje tablice od 1 a nie od zera. To by jednak dawało przesunięcie o jeden a nie 2.
No dobrze mniej wiencej rozumiem jak to trzeba zrobić ale nie bardzo umiem sobie poradzić z tym kawałkiem : zsh = znaksh[kol_z AND 3] ; indeksem jest pozycja x znaku modulo 4 Jak zrobić modulo 4 w bascomie ??
Bez problemu napiszesz obsługę plików BMP. Jak mi się uda odnaleźć to załączę kawałek kodu bascoma. Jaki masz wyświetlacz, kolorowy? Jeśli nie to faktycznie lepiej zapisać w formie tablicy i potem zapalać kolejne wiersze/kolumny. Są też konwertery BMP -> HEX, znajdziesz na forum.
nie przyjmie. Trzeba zapisywać po charze. A coś takiego jak string tak na prawde nie istnieje - jest to tablica charów.
Nie wpiszesz worda do bajtu ktoś o tym pisał i nie wiem czy zmieniłeś to. Rozmiar wartości 250 to nadal 16b a nie 8b Pozdrawiam Ps. hmmmm to jest właśnie wspaniały BASKOM ...............
Przed Tobą długie i wnikliwe czytanie pomocy jak definiowane, i jak obsługiwane są tablice w BASCOM.
I to jest główny problem użytkowników bascom:/ NIE MACIE POJĘCIA O SPRZĘCIE:> Poczytaj kolego o UART poczytaj o znakach sterujących, pomyśl! Nie ma wszystkiego na wyciągnięcie ręki.. (10 i 13 patrz do tablicy ascii).
http://www.elektroda.pl/rtvforum/viewtop... Dodano po 23 [syntax=basic4gl] Dim Dane As String * 15 Dim Dane_array(15) As Byte At Dane Overlay Dim Kod(15) As String * 1 Dim A As Byte Dane = "1234z2132j2131j" For A = 1 To 15 Kod(a) = Chr(dane_array(a)) Next[/syntax]
Sam czasami żałuje, ale od czegoś trzeba zaczynać. Zapewne w BASCOMIE należy dać tablice 8 elementową, no ale co dalej? :d
Zrobić jedną tablicę jednowymiarową i zapisywać kolejno po sobie po 7 tych zmiennych, następnie odczytywać z "offsetem" tablica(x + y*offset) daje to pseudo 2 wymiarową tablicę. tablica(0 + 0*7) = tablica(0) tablica(1 + 0*7) = tablica(1) tablica(2 + 0*7) = tablica(2) .... tablica(0 + 1*7) = tablica(7) tablica(1 + 1*7) = tablica(8) itd....
Acha. To zrób w assemblerze. Albo na tablicach. Nie ma takiej operacji w BASCOMie ani w assemblerze AVR, '51 i innych. Taka operacja to tak zwany "motylek" ale naprawdę nie słyszałem o prcesorze który by miał taki rozkaz. Może jakieś procesory DSP. Albo assembler albo tablicowanie. Wiesz o co mi chodzi z tymi tablicami?
Ogólnie od BASCOMa trzymam się z daleka(piszę w C) ale wygląda na to, iż ten program to przykład generacji sumy CRC 8 bitowej z trzech elementów tablicy "ar" począwszy od elementu o indeksie 1. Oczywiście uprzednio tę tablicę zadeklarowano i wypełniono trzy komórki danymi. Myślę, iż tego typu sposób liczenia mógł by być wykorzystany do Twoich celów.
Basic ( Bascom)
Czyli jak rozumiem, wprost czytać z tablicy bufora ? Gdzie znajduje się ten bufor z którego odczytuje INPUT ? Jak wtedy w Bascomie z 4 bajtowej tablicy wyjąć pierwsze 2 bajty, które potem porównuje Select Case ?
bascom zapis tablicy tablicy bascom wielkość tablicy bascom deklaracja tablicy
schemat rozrząd toyota wymuszenie sinusoidalne zasilać pompa oleju
falownik powmr edifier r1280db
Czy nieoryginalny termostat zadziała z Viessmann Vitodens 200? Ciśnienie w instalacji grzewczej 3 bary zamiast 1,5 bara