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()
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"...
Czy jeśli to samo chcę mieć dla zmiennej slowo3 muszę zakładać nową tablicę (pamięciożerne) czy też mogę załadować slowo3 do istniejącej już tablicy Slowo2_array(10)? Nie do końca chyba rozumiesz jak działa OVERLAY , tak stworzona zmienna nie jest "pamięciożerna". S lowo2 (string *10) i Slowo2_array(10) As Byte At Slowo2 Overlay zaczynają się od tego...
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...
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
Tablica = 1 Adresh = High(961) Adresl = Low(961) I2cstart I2cwbyte &H4A I2cwbyte Adresh I2cwbyte Adresl Do For A = 1 To 21 T(1) = Mid(kod(tablica) , 1 , 1) Ta(1) = Asc(t(1)) I2cwbyte Ta(1) T(2) = Mid(kod(tablica) , 2 , 1) Ta(2) = Asc(t(2)) I2cwbyte Ta(2) T(3) = Mid(kod(tablica) , 3 , 1) Ta(3) = Asc(t(3)) I2cwbyte Ta(3) T(4) = Mid(kod(tablica) , 4 ,...
No właśnie tak jak napisałeś. Parameter(8) = "Off" to jest właśnie zapis. Oczywiście pod warunkiem że jest to tablica Stringów a nie jeden String.
nie przyjmie. Trzeba zapisywać po charze. A coś takiego jak string tak na prawde nie istnieje - jest to tablica charów.
Tak, rozwiązałem problem za pomocą tablicy.
Witam, W programie zapisuje kilka zmiennych String w eepromie potrzebuje uzyskać z nich taką tablicę do po prawnej działania pętli for [syntax=basic4gl] Memory(1)="zmienna a zmienna b zmienna c" Memory(2)="zmienna a zmienna b zmienna c" Memory(3)="zmienna a zmienna b zmienna c" Memory(4)="zmienna a zmienna b zmienna c" Memory(5)="zmienna a zmienna b...
Konwersje byte->string otrzymuje się przy użyciu funkcji Str. W drugą stronę działa funkcja Val.
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.
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 szukam po internecie i nie mogę znaleźć jak z ciągłego tekstu typu string wydzielić poszczególne wyrazy oddzielone przecinkami i wpisać je od danego elementu tablicy np: , poniedziałek,wtorek,środa,czwartek, tablica1 poniedziałek tablica2 wtorek itd, Z góry dziękuję za pomoc.
Potrzebuję posortować alfabetycznie tablicę typu string*12. Ilość elementów tablicy jest zmienna, od 1 do 512. Czy jestem w stanie zrobić to w Bascomie?
Basic ( Bascom)
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
oczywiście, że wystarczy $asm ... kod twojej wstawki $end asm ale oczywiście przydałoby się jeszcze wiedzieć jak można uzyskiwać w asemblerze dostęp do zmiennych itp, otóż: Dim Zmienna1 as Byte $asm lds R16, {Zmienna1} ... coś tam robimy sobie w asm ze zmienną i chcemy ją uaktualnić, więc: sts {Zmienna1}, R16 $end asm powyżej...
Co ty właściwie szukasz. Czy chcesz zużyć 17 bajtów - bo tyle zajmie string o długości 16 znaków czy 170 bajtów bo tyle zajmie tablica tych stringów. Znasz takie coś jak zakrywanie w bascomie. [syntax=basic4gl]Dim Napis As String * 16 Dim Tablica(17) As Byte At Napis Overlay[/syntax] Zajmuje to w pamięci 17 bajtów, a do każdego znaku odnosisz się jak...
prawdopodobnie funkcja pobiera wskaznik albo do tablicy char (w innych jezykach stosowany "string", patrz bascom) albo do stalej const string, wiec sprobuj tak: WriteText(*"Brak kota u Ali"); Powinno dzialac...
Witam. Mam zmienną Dim Dane As String * 15 która ma 15 znaków np 1234z2132j2131j jak zrobić aby te kolejne znaki wpisać do tablicy, tak by każdy znak wpisać do kolejnego elementu tablicy poczynając od Dane(1)=1 Dim Kod(15) As String
Biblioteka Galahata działa fajnie, trzeba tylko drobne zmiany zrobić bo stary Bascom ma inny syntax przy deklaracji suba. [syntax=vbnet]call ustaw_leda(3, czerwononiebieski) sub ustaw_leda(numer_leda as byte, bylabel kolor as string) Kanal=numer_leda * 3 b = lookup(2, kolor) Kanal=b Decr KANAL g = lookup(1, kolor) Kanal=g Decr Kanal r = lookup(0, kolor)...
Memcopy o ile dobrze rozumiem kopiuje mi po prostu fragment pamięci, zatem musiałbym znać lokalizację mojej tablicy i kopiować do niej inną tablicę, tak? Potrzebne mi jest to do osiągnięcia następującego efektu: moja tablica jest ośmiobajtowa i zawiera informacje do wyświetlenia na obsługiwanym przerwaniem ośmiopolowym wyświetlaczu LED (nie tylko cyfry,...
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...
heh... a wystarczyło żebyś napisał: "co sie męczysz chłopi, zamień funkcją time() zmienne typu byte na string z godziną i porównaj" .... tablicę prawdy rozrysowałem juz wcześniej :P
Witajcie! Gryze wlasnie swoj maly projekt (sterowanie swiatlami z pwm za pomoca pc) i natrafilem na problem. Up dostaje na com taki string: HELLO,255,11,23,45,0,END Na tej podstawie ustawia 5 zmiennych kolejnymi wartosciami (pomijajac pierwsza i ostatnia). I tutaj utkwilem - jak rozdzilic to co dostanie na pojedyncze wartosci (np. w tablicy)?
Najłatwiejszy "słownik" komend Bascoma jest tutaj -> https://wiki.mcselec.com/bavr/BASCOM-AVR... -> bo widać je wszystkie na raz alfabetycznie i szybko można kliknąć. Tłumaczyć można oczywiście całe bloki teksu, albo w GoogleTranslator, albo DeepL Ja korzystam z wbudowanej pomocy czyli wciskam w Bascom F1 i szukam sobie w Index. Dla mnie działa szybciej...
Wyrzuć ten wzór i obmyśl jakiś inny. W tej postaci to się absolutnie nie nadaje. Z ADC możesz uzyskać maksymalną wartość 1024, teraz podnieś to do potęgi 6 i wychodzi ci absurdalna liczba, program wywala się juz na pierwszym obliczeniu. Obliczanie napięcia może wyglądać tak: [syntax=basic4gl] Dim Obl_nap As String * 6 Dim Wartadc As Word Dim Tymcz As...
nie testowałem tego tylko pisze z głowy. Ale skoro X to STRING to nie można go porównywać z pojedynczym znakiem bo STRING to tablica znaków. Porównanie musiałoby wyglądać na przykład: if X[1] = chr(32) then coś_tam wtedy warunek będzie spełniony jeśli w STRINGu X na pozycji 1 będzie spacja.
Witam Bardzo dziękuję :). Procedurę wywołuje się z (Posx,Posy,tekst) : typu : (byte,byte,string)? Czy bezczelnością by było, gdybym zapytał jeszcze o tablicę z czcionką Font8x8:)? Pozdrawiam Sanwa
Niestety przesiadka na C też by nic nie dała, ponieważ on też tego nie kontroluje. Jeśli zadeklarujesz tablicę o długości 10 bajtów i odwołasz się do niej: char tablica[10]; tablica[12] = 1; to się wzburzy że jest błąd, ale jeśli zrobisz tak: char tablica[10]; char tablica1[20]; strcpy(tablica,tablica1); to nie...
Po to poradziłem Ci aby użyć do tego tablicy aby w łatwy sposób, przy użyciu pętli For...Next można było nią zarządzać (w tym i wyświetlać). Dim Seq(5) As String * 10 Dim Tekst As String * 10 Dim Index As Byte Tekst = "Aktualna" For Index = 4 to 1 Step -1 Seq(index + 1) = Seq(index) 'przesuwanie 4 do 5, 3 do 4,... Next...
Uważam, że to zła metoda... Może spróbuj sam napisać, chętnie pomogę. Proponuję zacząć oczywiście od inicjalizacji, następnie załóż tablicę string np. 10 pozycyjną, będzie zawierała poszczególne pozycje menu. Napisz i wklej kod.
Ź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) =...
Mam taką tablicę [syntax=basic4gl]Dim Lngfreq_memory(50) As Eram Long Dim Lngstep_memory(50) As Eram Integer Dim Modulacja_memory(50)as Eram Byte Dim Vfo_memory(50)as Eram Byte Lngfreq_memory(idx + 1) = Lngfreq : Lngstep_memory(idx + 1) = Lngstep : Modulacja_memory(idx + 1) = Modulacja:Vfo_memory(idx + 1) = Vfo[/syntax] Chciałbym wyświetlić ją w ten...
Cześć. Proszę ten poradnik będzie dla Ciebie pomocny. Czy to już tablica? Gdzie ją umieścić? Tak, to jest tablica. Kompilator sam załatwi sprawę. [syntax=vbnet]$regfile = "m48def.dat" $crystal = 4000000 $baud = 19200 $hwstack = 32 $swstack = 10 $framesize = 40 Dim B1 As Byte , I As Integer B1 = Lookup(2 , Dta) Print B1 I = Lookup(0 , Dta2) Print I End...
Zrób sobie 6 element tablicy który będzie np znakiem ENTER (żeby rozpoznawać koniec tablicy) natomiast w Bascomie możesz wtedy użyć nawet polecenia INPUT, które po otrzymaniu znaku ENTER wpisze ci twoich 5 elementów tablicy do stringa (też jakby tablicy) - a ze stringa możesz to przełożyć do normalnej tablicy bascomowej - zrobić z tym co ci się żywnie...
Chodzi o to że kolega na klawiszach zwiększał i zmniejszał wartość cyfry zapewne poleceniem incr i decr, ale po 9 wyskakiwało 10 zamiast A. Napisz jak podajesz argument do programu który wykorzystuje ten adres, czy są to kolejne bajty w tablicy znaków czy jeden długi string? Najlepsza byłaby tablica znaków, ale nie wiadomo czy da się jeszcze program...
Pomysł z tym programikiem jest dobry ale lepiej zrobić tak aby wykorzystać przerwanie od uart'u od danych przychodzacych. W obsłudze tego przerwania robimy taki myk że gdy przyjdzie znak "$" to niech sie zeruje licznik (wskaźnik pozycji) i każda nastepna dana z portu niech będzie zapisywana do nastepnej zmiennej. Potem można z tych zmiennych wyciągnąć...
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...
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....
Załaczam kod, który działa. odbiera dane z portu szeregowego i wyswietla je w MsgBox(). Zwróć jedynie uwagę na zdarzenieSerialPort1_DataReceived. Zmień w nim ilośc bajtów po której mają zostać odczytane dane z BUFORA portu szeregowego. Początkowo bowiem dane trafiają do bufora (każdy bajt oddzielnie wywołuje przerwanie i trafia do bufora) a stamtąd...
Masz rację z można to zrobić na tablicach. potrzebuje zapamiętać 4 zmienne dwie trzy typu string i jedną long. zrobię 4 oddzielne tablice i będę się odwoływał do wszystkich za pomocą tego samego indeksu wtedy będę miał dane po kolei, w tablicach tez łatwo mogę przesuwać. Nie wiem tylko czy mi pamięci wystarczy. Chciałem to zrobić jakoś ciekawiej, ale...
to z wycięciem k nie było do twojej odpowiedzi. I widzę różnicę. Chcąc zastosować Twój sposób musiałbym utworzyć około 40 zmiennych typu string*8 dim nazwa_cz1 as string*8, nazwa_cz2 as string*8... nazwa_cz40 as string*8 stosując tablice muszę wysyłać nazwę ze wskazaniem elementu. Nie wiem czy jest w Bascomie jak w C, że nazwa tablicy jest adresem pierwszego...
CRC wcale nie musi byc czasochlonne! Jezeli tak zalezy koledze na szybkosci dzialania to moze obliczyc CRC za pomoca tablicy i kilku odwolan do niej. Jest to rozwiazanie o wiele szybsze niz wyliczanie CRC "matematycznie" a jedyna wada jest taka, ze potrzeba zarezerwowac 512 bajtow na tablice w pamieci programu (CRC16). www.tkdami.net/~roman72/pdf/dtr/dtr_sum_...
Witam, robię transmisje przez RS485 i mam pytanie co do działania instrukcji tworzenie i weryfikacji sum kontrolnych w Bascom Checksum() i CRC8. o o chodzi: Mając zmienną send_data=7 i generując sumę: Send_string=Str(send_data).........zamie... liczba na string bo Checksum operuje na zmiennych typu String Suma = Checksum(send_string) Otrzymam jakąś...
Można wyświetlać temperaturę w podmenu "wybór_Ds" ale trzeba zmienić cały program. Chyba nie jest tak trudno zapisać sobie cztery ID czujników i wiedzieć później który gdzie przypisać. Najlepiej osobno podłączać każdy czujnik i na naklejce na kablu przy czujniki zapisać jego ID. Wiedząc gdzie jakie jest ID czujnika można już mu w podmenu przypisać odpowiednią...
Sposobów pewnie jest więcej. Poniżej masz dwa. [syntax=basic4gl]Dim Zmienna_string As String * 15 Dim Tablica_danych(16) As Byte At Zmienna_string Overlay 'jesli w stringu masz takie wartości 'A|B|E|C|A|D|L|O|_|Z|P|I|E|C|A|NULL '1|2|3|4|5|6|7|8|9|10|11|12|13|14|15| 'to interesująca Cię wartość jest w Interesujace_dane = Tablica_danych(5) 'Możesz też...
[syntax=c]char test[5];[/syntax] Bufor do którego odbiornik wpisuje odebranego stringa (przesyłana jest temeperatura bez przecinka) np 234 to tablica znaków mojego wyświetlacza [syntax=c]prog_char cyferki[15] PROGMEM = { 0x3F,//0 0x09,//1 0x6E,//2 0x6D,//3 0x59,//4 0x75,//5 0x77,//6 0x29,//7 0x7F,//8 0x7D,//9 0x00 //nic };[/syntax] Jak bezpośrednio...
Witam Jestem młodym elektronikiem. I nie potrafię wykorzystać mojej pamięci eeprom. Piszę w Bascomie. Mam polską wersję, helpu z Bascoma, ale tej nie rozumie. Skoro nie rozumiesz po polsku ;) , to w jakim języku mam Ci to wytłumaczyć :?: Spróbuję jednak po ... polsku ;) Oto próbka kodu, który mi nie działa. $lib "mcsbyte.lbx" $regfile = "2313def.dat"...
Przeczytałem cały wątek pobieżnie i nie chcę się wdawać w dyskusję :D Oczywiscie Bascom ma funkcję która zamienia String (to łańcuch znaków) na tablicę bajtów. Nazywa się STR2DIGITS. Nikt, nawet Autor watku, nie napisał że to miał być łańcuch znaków, ale proszę, tak to robi Bascom. Lubię sobie popatrzeć na disassembler :D [syntax=vbnet]Dim Liczba As...
Kolego coś takiego wymyśliłem :[syntax=vbnet] $regfile = "m16adef.dat" $crystal = 80000000 $hwstack = 40 $swstack = 16 $framesize = 32 Config Porta = Input 'port A jako wejścia Config Portb = Output 'port B jako wyjścia ' Config Portd = Input 'Port D Jako Wejścia Config Portc = Output 'port C jako wyjścia Config Sda = Portc.1 'konfiguracja pinu magistrali...
Napisz tak : Print {013} ; "xon" ; {013} ; Chyba, że Twojemu urządzeniu przeszkadza zero które wystepuje na końcu stringa wtedy musisz tak: [syntax=vbnet] Dim Mystring As String * 5 Dim Mybuff(5) As Byte At Mystring Overlay Mystring = "{013}xon{013}" Printbin Mybuff(1) 'to wyśle całą tablicę pięciu znaków bez kończącego zera[/syntax]
...problem polega na tym że nie wiem jak zapisać te dane, chciałbym je otrzymać binarnie na LCD lub w terminalu po Rsie.Prosze o pomoc. drugie problem. jak uskutecznić w tyum przypadku transmisję przy użyciu instrukcji shift in? atmega dostaje zegar i dane z zewnatrz (wlasnie te 48 bitow). Ad.1 Użyj tablicy i/lub stringa Ad.2 SHIFTIN pin , pclock ,...
Jakaś masakra a nie kod. Gdzie niby masz zaimplementowany odbiór danych z UART? Jakim cudem chcesz wpisać do zmiennej String*1 (która nie może przechować nawet jednej litery, bo przechowuje tylko znak końca stringa) ciąg znaków? Najprościej kod transpondera zapisać jako tablicę 5-ciu bajtów. Potem masz tablicę z akceptowanymi transponderami (posortowanymi...
Niektóre radiolinie mają wbudowane kodowanie transmisji, ale większość z nich nie. W Bascomie można kodować dane za pomocą Xtea, ale zobacz, co się dzieje, gdy wysyłasz te same dane. Zakodowany ciąg Hexstring zawsze wygląda tak samo. Jeśli więc ktoś nagra twoją transmisję, to gdy zostanie ona odtworzona, urządzenie zareaguje tak samo. https://obrazki.elektroda.pl/7576017000_...
Program działa, chociaż wydaje mi się, że temperatura jest ciut zawyżona, no ale może i faktycznie taka jest. Mam jeszcze inny problem, a właściwie póki co za małą wiedze w temacie, żeby wiedzieć jak ten temat ugryź, a mianowicie: Mam tak zdefiniowane zmienne: ( or ) missing [IF(CHR(S2(1)) = 4 THEN] Assigment error...
Inne napisy umieściłem w eeprom, zyskałem jakieś 400 bajtów miejsca. Z nazwami procków kombinowałem już na wszystkie sposoby, no i niestety nie zrobiłem tego... każdy jeden wpis "Print "napis"" kosztuje mnie 18 bajtów (w tym 9 bajtów sam napis), gdy np chcę przepisywać napisy do zmiennej string i na końcu wyświetlać - wychodzi po 20 bajtów na każdy...
Obecnie taki odbiór rozwiązuję inaczej, ale w Twoim wydaniu coś czuję że to nie odbiór danych przy taktowaniu 16MHz zajmuje dużo czasu a bardziej wyświetlanie tego na LCD. Jeśli by Ci to odpowiadało to możesz: odebrac dane, i zrobić z nich tą tablice stringów po czym ustawić jakąś flagę "Refresh_lcd" Potem w każdym przejściu pętli wyświetlać/odświeżać...
Witam ponownie,ma ktoś może jakiś sprawdzony software'owy patent na odczytywanie znaków z eepromu?Cały problem leży w tym aby zamienić znaki string"abcd..." na ascii i odnaleźć w tablicy znaków w eepromie. Napisałem taki kod: Sub Strlcd(byval Chstr As String) 'wpisanie stringa Local A As Word 'zmienna pomocnicza dopasowujaca wartosc znaku ascii...
Zrozumienie prostego i nieskomplikowanego, jak się na końcu okaże, Overlay bardzo się przydaje. Zanim zacznę to przypomnę i umówmy się że jeden bajt zapisujemy w dwóch znakach, na przykład FA, FF, 8C, 0B itd.. Pierwszy przykład obrazujący zagadnienie: Jak wiadomo zmienne typu WORD albo INTEGER składają się z dwóch bajtów. Jeśli więc zadeklarujemy w...
Wydaje mi się, że pisanie konwertera to w moim przypadku strzelanie z armaty do komara. Większość tekstów udaje mi się wyświetlić za opmocą Chr(numer litery z generatora). Problemem jest tylko tablica z nazwami dni tygodnia, które są pobierane jako string i wyświetlane. Robiłem próby z wpisywaniem do programu literek za pomocą lewy alt + numer, ale...
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?
Tablica Bufor() jest typu Byte więc to nie Stringi i konwersja Hexval do niczego się nie przyda. Bajty są zamieniane niejawnie we Frame tylko na potrzeby wyświetlania na LCD. Coś w ten deseń powinno działać. Ogólnie to można to mocno poskracać, ale nie chciałem zaciemniać. [syntax=vbnet]Dim Arr(4) As Byte Dim Test As Single At Arr(1) Overlay Dim Bufor(9)...
Jeśli to string to na końcu masz zawsze EOF, czyli np 5 znaków zajmuje 6 bajtów. Ale to i tak pierwsze 5 znaków by ci się wysyłało. W środku pętli FOR wpisz jakąś instrukcję wyświetlającą WSZYSTKIE pozycje z tablicy TX_BUF bo widać że coś masz tam nie tak i na tej podstawie zobaczysz co próbujesz wysłać. Może gdzieś ci się spacja wstawia lub pusty znak?
Nie odkrywajmy koła od nowa ;) Kod dla takiego wyświetlacza jak na obrazku. https://obrazki.elektroda.pl/2987586400_... Wyciąłem go z kodu który w minute można znaleźć w DuckDuckGo :P Jeśli ktoś ma inaczej podłączone segmenty to musi tylko edytować tablicę Data. [syntax=vbnet]$regfile = "m328pdef.dat" $Crystal=16000000 $hwstack=32 $swstack=8...
Dzięki. Spróbuję obu metod. A dlaczego w podprogramie jedynie ustawić flagę a całość operacji realizować w głównej pętli? Jaka jest zaleta tego rozwiązania a wady obsługi w podprogramie? Pytam gdyż pętla główna w docelowym programie będzie miała i tak co robić, więc nie chciał bym jej jeszcze dodatkowo blokować. Na razie problem odbiory kilku danych...
Wydaje mi się że nie opłaca się ładować tych 32 bajtów do eepromu , pewnie procedura odczytująca zajmie więcej miejsca. Ale :) można by tam coś innego władować, w eepromie masz coś około 500 bajtów wolnych. Wolne miejsce można by wykorzystać na teksty wyświetlane na LCD. Niektóre łańcuchy też się powtarzają. Często masz np . [syntax=basic4gl]Locate...
Może coś takiego? Dim Txt As String * 10 Dim Btxt(10) As Byte At Txt Overlay W tablicy Btxt będziesz miał poszczególne bajty ze zmiennej Txt. Łatwo to wykorzystać. Tak na szybko wpadło mi do głowy - nie testowałem tego. Powinno działać, jeśli piszesz we w miarę nowym Bascomie AVR. Pozdrawiam Andy
Przykład bez użycia tablic... [syntax=basic4gl]$regfile = "m8515.dat" ' specify the used micro $crystal = 4000000 ' used crystal frequency $baud = 19200 ' use baud rate $hwstack = 32 ' default use 32 for the hardware stack $swstack = 10 ' default use 10 for the SW stack $framesize = 40 ' default use 40 for the frame space $sim 'Config Lcdpin = Pin ,...
Powiem Ci tak. Nie wiem po kiego jest taki wielki ten kod i nie rozumiem czemu ludzie męczą się z bascomem i avr ja mam 1/3 tego co tu i mi działa klawiatura z wyjątkiem jednej rzeczy której nie umiem zmienić. [syntax=c]byte wiersz[]={13,12,11,10}; byte kolumna[]={9,8,7,6}; char kody[]={'1','2','3','A','4','5','6','B',...
Teraz układ działa poprawnie, z ping'owałem go i ruszyło. Udało mi się uruchomić stronę internetową na tym układzie jednak pojawił się problem z odczytem temperatury. ********* ZMIENNE ********* Dim Nr_ukladu(8) As Byte 'tablica w której przechowamy nr seryjny układu Dim Zmienna As Byte 'zmienna pomocnicza wykorzystywana jako licznik Dim Temp...
Znalazłem kod tablicy świetlnej, 8x8 sterowanej przez rejestr 74164, niestetypo załadowaniu programu na tablicy świecą się tylko trzy kolumny diód :(. Czy ktoś mi pomorze to rozgryść? 'Program tablicy świetlnej 'Sterowania multipleksowe wyświetlaczem matrycowym 7x5 LED 'Częstotliwość sterowania kolumn wyświetlacza wynosi ok. 333 Hz 'czyli częstotliwość...
Wykombinowałem coś takiego :), przykład można uruchomić w symulatorze (dane wejściowe np. porta.1): EDIT: poprawiłem mały błąd w przykładzie, bity można nawet kopiować jeżeli port źródłowy i docelowy jest ten sam [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 16000000 $hwstack = 64 $swstack = 64 $framesize = 64 $baud = 57600 Dim Src_port_str As...
Witaj :D Według mnie tablica jest niezbedna poniewaz to w niej sa zapisane wlasciwe znaki , i wydaje mi sie ze nauczuciel sie myli bo samo polecenie getatkeyb() zwrocilo by numer wcisnietego klawisza a nie konkretna literke , liczbe czy znak . Przykladem moze byc fragment polskiego helpa do bascom-a w ktorym jest opisane dzialanie tego polecenia Funkcja...
Najprościej, to chyba przez podstawienie:) Masz dwa słowniki i zamieniasz konkretne literki na konkretne literki i w drugą stronę (i nie koniecznie na literski tablica ascii ma 255 kodów;) )
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...
Niestety nic nie da rady już zrobić - kod po skompilowaniu zajmuje 2046 bajtów. Widać że nazwy są poskracane. Bascom nie oszczędza drogocennej pamięci :( Musiałem się mocno natrudzić aby upchnąć te wszystkie nazwy rozkazów i pilotów. Standardowo napisane zajmowało z 1kB więcej!Być może zrobię i nadajnik ale potrzeba 4kB flusha. Gdybyś odrobinę skomplikował...
Wprawdzie ... to nie humanitarnie z mojej strony dawać niemalże gotowca ... :D [syntax=basic4gl]$regfile = "m2560def.dat" $crystal = 16000000 $hwstack = 64 $swstack = 64 $framesize = 64 $include "Config_PCF8583.bas" Declare Sub Displaytime() Declare Sub Settime() Declare Sub Cancel() Declare Sub Plus() Declare Sub Minus() Declare Sub Saveandexit() Declare...
Przesiadka na inny język niż Bascom zbliża się do mnie, ale staram się odwlec ten moment. Mam za dużo napisane, żeby teraz to przepisywać na C, dlatego usiłuję każdy problem rozwiązać. Udało mi się ustalić przyczynę problemów z zawartością Ubuf(). Winny okazał się kompilator - u mnie na wersji 1.11.9.5 problem występuje, natomiast u kolegi Jaca na wersji...
Dave, w sumie masz racje :-) pierwsza podana przez ciebie opcja jest lepsza. Jedyne co mi pozostaje to jak skladowac ( przechowywac ) zapisane nastawy? nie mam ( nie znalazlem w Bascomie ) mozliwosci stworzenia takiej tablicy. najchetniej zrobilbym to tak: zegar - podaje czas z zegara start(6) przekaznik(6) czas(6) status(6)...
Mam liczbę np. 5813 i che ja zapisać w tablicy w postaci szesnastkowe int wynik Ale 5813 ma sie nijak (w sensie standardów liczbowych) do 0x6D, 0x7F, 0x06, 0x4F. 5813 dec = 16B5 hex. Nie ma w C wyimaginowanych konwersji na kody 7-seg. Musisz zrobić to na dra razy. 1. Skonwertować liczbę 5813 na łańcuch znaków. Zrobisz to przy użyciu sprintf. 2. Pobierać...
B100=4 ;) tyle to wiem, tylko w tamtym przypadku to było zapisywanie konkretnych pozycji do tablicy, potem konwersja danych z tablicy do stringa, potem do binarki no i nie pamiętam jak to się robiło :) Co do kodu - póki co nie działa. Wyświetla się tylko na pierwszej pozycji wyświetlacza na zmianę znaki * oraz -. Całość nie reaguje na żadne wejścia...
Witam Zmontowałem sobie układ Atmega32 z pojedynczym wyświetlaczem 5x7 i wszystko działa tak jak należy ale problem zaczyna się w innym miejscu. Potrzebuję połączyć 3 takie wyświetlacze, lecz nie mam pojęcia w jaki sposób to zrobić. Proszę o pomoc Tutaj podaję listing programu http://obrazki.elektroda.pl/2811327600_1...
$regfile = "m8def.dat" $crystal = 16000000 $baud = 57600 $framesize = 32 $hwstack = 32 $swstack = 32 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0 Config Debounce = 30 'Długość naciśnięcia przycisków Config Timer0 = Timer , Prescale = 256 On Timer0 Odmierz_1s...
Witam Staram się zrozumieć twój kod, ale strasznie ciężko mi to idzie. Czy mogę prosić o zakomentowanie zmiennych, tych literowych to może dostanę jakiegoś błysku :D Dim H As Byte Dim Dl As Byte Dim I As Byte Dim J As Byte Dim K As Byte Dim X As Byte Dim Temp As Byte Dim Znak As String * 1 Dim Tekst As String * 60 Dim Ascii(60) As Byte Dim Wiersze(25)...
Witam Jestem w trakcie zgrywania ze sobą kilku uc po rs-485, wszystko szło pięknie, dane szły po lini do celu bez problemów, ale... kiedy przyszło mi wysłać pustą ramkę zaczęły sie problemy. Może najpierw program: [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 16000000 $baud = 250000 $hwstack = 32 $swstack = 32 $framesize = 32 Config Print0 = Portd.2...
dobra poczytałem i wiem na razie tyle: I2cstart I2cwbyte [adres urządzenia podporządkowanego do zapisu], Ack I2cwbyte [bajt do wysłania] ............ (wysyłanie kolejnych bajtów) I2cwbyte [ostatni wysłany bajt], Nack I2cstop tylko ze tu jak dobrze rozumie trzeba każdą informacje wysyłaną na wyświetlacz wpisywać po kolei...
Witam. Ze względu na warującą ostatnio na dworze temperaturę chciałem zrobić prosty termometr oparty na 89s52 i czujniku 18b20. Napisałem program i o ile pomiar temperatury działa należycie z dokładnością 0.5*C to mam spory kłopot z porównaniem i zapamiętaniem tej minimalnej- aby rano wiedzieć do jakiej spadła temp w nocy. Układ sprawuje się dobrze...
Witam. Niestety to nie działa, gdy inkrementacja zmiennych "przesunięcie1 i 2" się zeruje po osiągnięciu len(x) w warunku if...then w głównej pętli, cały napis z Bufor_text zanika i tworzy się na nowo. widoczne na nagraniu: na Lcd pierwszy wiersz jest bufor_text + " "+ zmienna(przesunięcie) 1022010 const gdyż nie są wpisywane w moim projekcie na sztywno...
atom1477 napisał: No właśnie. A BASCOMowi są one obce I właśnie z tego powodu sam optymalizuje sobie kod programu. Wiem, gdzie, co i jak. jacynka84 , zamiast : Wciąż nie wiem jak działa bascom...;] Jeśli nadal Będziesz bazował na Bitwait itp. to w dalszym ciągu się nie dowiesz jak działa. I ja się bałem zapisywać bezpośrednio do rejestrów (adresów)...
Witam! Mam problem z przerobieniem kodu tablicy świetlnej z wyświetlaczem matrycowym led. Posiadam kod z książki Marcina Wiązani - Programowanie mikrokontrolerów AVR w języku Bascom przerobiony według instrukcji użytkowników w temacie: 'Program tablicy świetlnej 'Sterowania multipleksowe wyświetlaczem matrycowym 7x5 LED 'Częstotliwość sterowania kolumn...
Przy okazji mam jeszcze jedno pytanko.Co prawda nie dotyczy lcd ale szkoda zakładać nowy temat. Chodzi o stringi. Otóż każde z moich urządzeń w sieci zdaje masterowi tzw. raport. Otrzymuję taki tekst jako odpowiedź z modułu: <007_(at)_/TIN:H18.0_TOUT:H16.7_POZ:0... i teraz pytanie....
Jak będzie w jezyku Basic wyglądał załączony wyżej plik definicji? Witaj! Zrozumiałem, że chcesz przekształcić zawartość pliku definicji do języka BASIC. Aby móc Ci pomóc w jak najbardziej efektywny sposób, potrzebowałbym dodatkowych informacji dotyczących struktury oraz zawartości tego pliku definicji. BASIC, jako język programowania wysokiego poziomu,...
witam wlasnie siedze i bawie sie tymi procedurami napisalem cos takiego ale niestety jakies dziwne rzeczy mi sie wyswietlaja na wyswietlaczu (cyfry w tablicy mam dobrze zapisane), jezeli zwieksze czas waitms to wyswietlacz zaczyna "migac", ale nie to jest najwazniejsze, poprostu zamiast cyfr na wyswietlaczu mam jakies dziwne "krzaczko-robaczki" :) zastosowalem...
http://obrazki.elektroda.pl/3089511800_1... Witam, dziś prezentuje swój bezprzewodowy termometr pracujący na częstotliwości 433 MHz. Urządzenie składa się z nadajnika i odbiornika. Nadajnik odczytuje temperaturę pieca C.O. i wysyła ją do odbiornika. W odbiorniku mamy możliwość ustalenia górnego i dolnego progu załączenia alarmu, który...
Witam Przepisałem program tablicy świetlnej z wyświetlaczem matrycowym LED z książki "Programowanie mikrokontrolerow AVR w języku BASCOM" i wyskakuje sporo błędów, których nie potrafię skorygować. Jestem początkujący i myślałem, że z przepisaniem nie będzie problemów, tym bardziej, że poprzednio napisany program na ten wyświetlacz działał, ale jednak...
Druga kwestia, to zapis do pamięci 24c04 liczby zmiennoprzecinkowej, hmm. nie robiłem nigdy tego, nie bardzo wiedziałem jak to ugryźć. Sprawa jest generalnie prosta. Liczba typu single zajmuje cztery bajty, wystarczy więc ją rozbić na pojedyncze bajty i zapisać każdy z osobna. Przy odczycie robisz dokładnie odwrotnie. Powiesz pewnie "no dobra, ale...
Witam Zmontowałem sobie układ atmega8 oraz 35 LED połączonych w małą matrycę 7x5 Załadowałem kod który jest napisany w listingu do książki Marcina Wiązania.Są tam dwa kody jeden do wyświetlania po kolei wszystkich znaków ASCII który działa bez problemowo oraz drugi który przewija text lecz on nie działa Oto ten kod. Co jest w nim nie tak? 'Program tablicy...
Siemka ugh123 :D Co prawda nie mam tego wyświetlacza (Nokia), lecz o wiele większy. Ale do do tematu. Pliki ".bgc" są zapisywane w 8-bitowym kolorze, Ja pracuję z 16-sto bitowymi kolorami, więc konieczna jest konwersja z 8 na 16 bitów. Informacje na temat wymieniony przez Ciebie znajdziesz w sieci (poszukaj). Nie dam Ci gotowca,i sądzę, iż nikt Ci nie...
print tablica string bascom string tablica tablica string
naprawa pompy myjącej zmywarki bosch uszczelniacze zaworowe koloru lakieru
ekspres miele philips poziomy pasek
SmartPSS offline - przyczyny i rozwiązania Niedziałające głośniki z lewej strony Ford Galaxy - przyczyny i rozwiązania