Ściagnij sobie jeden z tych plików pomocy, uruchom, wybierz indeks wpisz "dim" klinij wyświetl i tyle, prościej sie nie da :) Dodano po 5 Sorry kolego, dim to nie tablica tylko deklaracja zmiennej, przepraszam za wprowadzenie w błąd Dodano po 6 teraz się temu przyjrzałem i okazuje się że dobrze pamietam. Dim moze być deklaracja singlowej zmiennej bądź...
... 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
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.
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...
dim urx_bufor(5) as byte dim urx_licznik as byte dim urx_odebrano as bit ... urx_licznik=1 'to jest potrzebne dla bascom'a bo tablice zaczynaja sie od 1 a nie 0 enable interrupts ... przerwanie_urx: if urx_licznik<5 then urx_bufor(urx_licznik)=udr incr urx_licznik end if if udr=13 then set urx_odebrano 'odebano ENTER if udr='T'...
nie wiem po co ci takie cos.... ja bym zrobil tablice dim tablica(16) as integer tablica(1)=11 'to co ma sie pojawic zamiast 1 tablica(2)=22 tablica(3)=33 B = Getkbd() a wywolywac np.tablica(B) i przypisywac do C. no nie wiem,chyba tak ... pozdrawiam
Tworzysz zmienną sting * 20 i tworzysz tablice byte(20) adresujesz je tak samo i poleceniem lcd chr(byte(a)) stawiasz znak z wybranego miejsca ze stinga.
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....
Coś w ten deseń chociaż żeby to przetłumaczyć toczka w toczkę to najlepiej by było użyć Config Base = 0. Wtedy tablice mogą się zaczynać od indeksu zero czyli można by wpisywać do Delays(0) - Delays(Steps-1) a tak tego nie masz. Tutaj może nawet nie jest potrzebny warunek If I > 1 bo to chyba w Arduino jest po to by nie było mnożenia I * 4 + 1 bo...
Jak nie rozumiesz całości to ciężko będzie to tak w kawałkach tłumaczyć bo w drugiej funkcji jest wskaźnik na tablice z danymi. Trzeba pobrać adres tych danych u Ciebie i trudno się wypowiadać nie widząc całości. Mam dużo swoich spaw i też nie bardzo mam czas się oderwać. Najlepiej ściągnij jakąś biblioteke do obsługi LCD z Forum Bascom i zobacz jak...
To działa! No i mówiłem. W pliku mają być krzaki!!! ;) Jak i czym przerobiłeś dane? Nie uwierzysz. BASCOMem. BASCOM skompilował to, czyli przerobił dane testowe na binarne (oczywiście po małych przeróbkach to skompilował). A Ty wiesz jak możesz zrobić? Umieść tą tablice w programie. Skompilować program. I w pliku BIN (nie HEX!) odnaleźć ten fragment....
http://obrazki.elektroda.pl/4630645200_1... Witam Jako że od długiego czasu czytam to forum i korzystam z informacji na nim zawartych postanowiłem dodać też coś od siebie. Oto jedna z moich wielu konstrukcji (mam w planie zamieścić ich tutaj nieco więcej). Z przyjemnością prezentuję animowana tablice reklamową LED. Postaram się kolejno...
no i nadal nie wiem..... napisałem program: dim wyj as byte do wyj=lookup(X,tabela) loop end tabela: data 0,1,2,3,4,5,6,7,8,9 return i pod X wstawiałem kolejne liczby, kompilowałem, i symulowałem i wychodzi mi tak... f(0)=8 f(1)=149 f(2)=0 f(3)=1 f(4)=2 f(5)=3 f(6)=4 f(7)=5 f(8)=6 f(9)=7 i nie wiem dlaczego tak sie dzieje :/
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)
Można sprawdzać czy string zawiera "+CCLK:" [syntax=vbnet]Helpb = Instr(Somestring , "+CCLK:") If Helpb > 0 Then Helpb = Helpb + 6 Helpstr = Mid(Somestring , Helpb) 'odetnij +CCLK: End If[/syntax] Potem w samym stringu mozna szukać spacji lub przecinka poprzez CHARPOS i sprawdzać czy > 0 albo zrobić tablice stringów i na tym SPLIT dzieląc przecinkiem...
(...) ' 5 Data 250 ' 6 Data 131 ' 7 Data 251 ' 8 Data 219 ' 9 Wstępna ocena dostępnych informacji W kodzie widzimy dwa liczniki (Liczba_ok i Liczba_nok) zadeklarowane jako zmienne typu Word, a także tablice na cyfry (Cyfra_ok i Cyfra_nok) jako typ Byte. Z punktu widzenia zakresu wartości samych liczników (od 0 do 999) nie powinno to powodować błędów...
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
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"...
Witam. Czy ktoś wie może czy taka sekwencja da pożądany skutek chodzi mi głównie o tablice np. if a() = b() then jakieś tam instrukcje end if Chciałem zapytać czy poprostu porówna wszystkie elementy tablicy bo jak tak wpisałem to niby błędu nie ma. czy raczej muszę to zrobić z dodatkową instrukcją for i tyle razy ile elementów ma tablica. Potrzebne...
BASCOM obsługuje tablice z indexem Integer 6553x sztuk:>
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?
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.
super działa :))) Jeszcze mimo Świeta zaciekawiła mnie jedna rzecz. Mam tablice o wielkości 20bajtów pod adresem 700hex o nazwie Dane. Dim Dane(20) As Byte At 1792 Overlay Odwołuję się do niej później po adresie komendą lds r16, $0700 ; adres oczywiście zmienny w zależności od potrzebnej komórki W jaki sposób zapisać nazwę aby kompilator nie wyrzucił...
Bascom umożliwia stworzenie tylko 254 bajtowe tablice ;/. Na pewno...??? Tablica może mieć 16bit adresowanie!
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(10) Czyli to że na samym początku definjuje tablice z dwoma elementami typu Byte w niczym nie przeszkadza aby wpisać do tej...
Przed Tobą długie i wnikliwe czytanie pomocy jak definiowane, i jak obsługiwane są tablice w BASCOM.
To odpowiedź już chyba masz w projekcie był inny wyświetlacz jak go zmienili poprawili program . Musisz zrobić osobne tablice dla setek i jedności i drugą dla dziesiątek i tysięcy i poprawić program tak żeby w zależności od słupka korzystał z odpowiedniej tabeli , albo poprawisz połączenia i przy tej okazji przestanie działać program z Jabela .
EDIT: Dobra wszystko sobie dopracowałem, ale nie wiem jak to ująć w jednej tablicy?? Jakbyś mógł wyjaśnij mi mniej więcej jak działają te tablice ;] Ile miałeś czasu na ten wąż w BASCOM 8051 ? Tablice działają bardzo prosto, masz zbiór zmienny o zadeklaarowanym typie w przypadku BASCOM od 1 do n i możesz się odwołać do konkretnego elementu np tab(1)=x...
Witam. czy ktoś może mi powiedzieć jak zrobić tablicę zapisywaną w pamięci programu pozwalającą na ładowanie więcej niż 256 bajtów. Chodzi mi o tablicę tego typu: B = Lookup(adres , dane) Dane: Data 0,1,2,3 .... potrzebuję taką tablice dość sporej długości ( kilka kilobajtów) dopóki zmienna adres zadeklarowana jest jako byte wszystko działa jak tylko...
Witam a nie lepiej do tej pracy zastosować kalendarz :) z zegarkiem RTC przecież wiadomo gdzie będzie słońce i kiedy wystarczy wpisać odpowiednie tablice :)
Bascom tablice numeruje od 1. Można w nim zrobić tylko tablice jednowymiarowe. Ale masz w Atmedze128 4 liczniki. Nigdy nie robiłem nic na ATmega128. Ale właśnie ściągnąłem datasheet i widzę że timer3 ma 3 rejestry OCR timer1 2 rejestry timer2 i timer0 po 1 rejestrze. To razem osiem. A jeszcze pojemność liczników ustawiana-to jeszcze 4. To są różne częstotliwości...
No właśnie, nie wiem czy tak to sie nazywa ale staram sie już pare dni zastąpić tablice zrobioną na wewnętrznym EEPROMie ATMEGI na taką która była by w 24cXX Program pisany w BASCOM np. Do tej pory robiłem to tak. Dim Dane(500) as Eram Word Dim X as Word, Z as Word potem w programie bylo tak Z = Dana(X) lub Dana(X) = Z Teraz chce zrobić tak żeby to...
Próbowałem zadeklarować tablice z odczytu przez i2c z czterech kanałów i użyć potem funkcji "avg" ale niechciało to ruszyć ( w wersji 2.11 bascom demo) ,chciałbym spróbować wypełniać tablice (powiedzmy z 10 pomiarów ) wartościami odczytanymi z 1 kanału co x ms,jak wartość odczytać i wyświetlić- wiem , ale jak wypełnić tablice aby ją potem mozna było...
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.
Czyli układ działa? To znaczy wyświetla na wszystkich kolumnach. Co do wyświetlanych symboli musisz od nowa napisać wszystkie tablice
Mam jeszcze jedno pytanie, potrzebuje wstawic tablice w asm TAB: DW10000 DW1000 DW100 DW10 DW1 I dostaje tylko " Error 106 : Unknown assembler command [DW 10000] Jesli jest to tablica DB to Ok, a DW nie :? ehh....
chyba normalne, ze nieda sie dima zainicjowac, bo w tiny12 niema ramu a tablice zmiennych sa w ramie
No dobra - a co jeśli wynik będzie miał "środkową" wartość inną niż 300? O ile dobrze patrzę to Twój kod bazuje na powyższej tablicy gdzie wartości, które mnie interesują mieszczą się w zakresie 250 - 350. A co jeśli będą inne wartości? Dodano po 8 Wolałbym to zrobić inaczej. Mając tablice jak powyżej segreguję wartości od najmniejszej do największej....
Zrób tablice z wartością końcową dla 60 wartości, będzie szybciej niż liczyć na piechotę! Bascom powinien liczyć tangens funkcji, ale przecież to mały AVRek, a wartości jest tylko 60
Jeśli porównujesz rozmiar kodu to porównaj też funkcjonalność... ciekawe, czy program w Bascomie ma te wszystkie fonty co ten w C. Najwięcej miejsca zajmują w tym programie własnie tablice fontów i obrazków.
Możesz zdefiniować tablice 8-elementową ładować do niej dane i wysyłać poleceniem Printbin . [syntax=basic4gl]Dim Bufor(8) As Byte ' tablica 8 elemetowa .............. Printbin Bufor(1) , 8 ' wyślij 8 bajtów zaczynając od Bufor(1)[/syntax]
Tak tylko ze w bascomie takie obliczenie zje ci z 20-30 % pamieci !!! Lepiej zrob sobie tablice z wartoscami i potem na podstawie napiecia odczytuj stezenie.... Dodatkowo bascom cholernie dlugo liczy takie obliczenia. Zdecydowanie nie polecam
robiw, RLE realizuje wiele programow graficznych, wystarczy zaznaczyc stosowna opcje, chyba nawet GIMP to ma, wiec niczego nie trzeba pisac. W dodatku zapisujesz to potem jako plik naglowkowy c, usuwasz z niego C-specyficzne rzeczy i zamieniasz na tablice bajtow, co pewnie Bascom lyknie. Sa tez inne wygodne narzedzia, ale skoro sobie wybrales Bascoma.......
Ile problemów robi adresowanie tablic w Bascomm od 0? Tyle co użycie dyrektywy CONFIG BASE=0 ... w MATLABie tablice też są indeksowane od 1. Jakoś nie bardzo widzę problem w tym jaki indeks ma pierwszy element tablicy. Co to zmienia czy ma 0, 1 czy 123? Jak jest przenośność C a jako Basic? Dałem konkretny przykład, w C kilka godzin roboty, w Basic...
Tak właśnie to wyczytałem, zmieniłem nawet tablice na VOLATILE i też nie pomogło :( Ale teraz mam 202 przerwania w sumie czyli już jakiś postęp, a ma być 256 na obydwu zboczach , 128 na opadającym
Zrób tablice 1x4, tak abyś zapamiętał/przyporządkował że 1 komórka to alarm1_L, druga - alarm1_H itd. Masz zmienna "menu" więc niech ona pokazuje indeks w tabeli jakie jest aktualne to menu. Np. Menu=2 to wiadomo że chodzi o alarm1_H. W nastawach edytujesz tylko te komórki tablicy na które wskazuje ci "menu". Np. tablica "parametry" - a to co chcesz...
:arrow: hunterhouse Znalazłem troche błędów (a nawet błąd w BASCOMie '51 :D ), mam teraz trochę czasu, więc się tym zajmę. Dobrze było by, gdybyś narysował schemat, to zrobię ci sterowanie LEDami ze skalą logarytmiczną. Wrzucę też, kilka rzeczy, które będziesz musiał sprawdzić, bo nie wiem jak działają w BASCOMie AVR (albo ściągnę BASCOMA :D , jeszcze...
Witam , pisze prosty programik sterujący PWM 3 ledy RGB przez androida po BT. Zatrzymałem się na rozbiciu składni wysyłanej przez androida np. wysyłam apką "serial bluetooth terminal" G128 czyli zielona o poziomie 128 PWM (50% jasniści) w odbioeniku: IF dane = "G128" then... , oczywiście odbiera lecz tylko konkretny rozkaz i steruje PWM , można stworzyć...
nie oto mi chodziło kolego w 1 poście jest mój program chciałem żeby ktoś go poprawił. Na razie zrobiłem tak z pomocą jednego kolegi z forum ze włączyłem tablice lcd designer w bascomie i zrobiłem taki znak, ale to chyba nie oto chodzi bo profesor w szkole kazał mi go wstawić z tej tablicy która jest w dokumentacji w linku który podałem. Pozdrawiam
tablice bascom tablice ascii bascom tablice zmiennych bascom
ne555 generator monostabilny schemat piekarnika amica wyświetlacz wolnych obrotach gaśnie toyota
podłączyć wentylator łazienkowy
Jak wyłączyć tryb demo w piekarniku Ariston FZ 1022 C.1 IX/HA NAC 500 Series – regulacja naprężenia paska napędu, linka, napinacz, ugięcie 10-15 mm