Może coś takiego : Dim Str1 As String * 10 Dim Koniec As Byte Dim Key As Byte Str1 = "" Koniec = 0 Do Key = Waitkey() 'pobieranie znaku, tu z terminala Select Case Key Case 13 : Koniec = 1 ' np. kod ENTER = 13 Case Else : Str1 = Str1 + Chr(key) ' inne znaki dodaje do str1 End Select If Len(str1) = 10 Then Koniec...
zapis writeeeprom zmienna , adres odczyt readeeprom zmienna , adres Musisz pamiętać ile bajtów zajmuje zmienna którą zapisujesz i o taką wartość zwiększyć adres przy zapisie / odczycie następnej zmiennej Jeśli zmienne typu Byte , adres zwiększasz o 1 Jeśli zmienne typu Word , adres zwiększasz o 2 Jeśli zmienne typu Integer , adres zwiększasz o 2 Jeśli...
Witam, Ważna uwaga: typ long jest całkowity, nie ma części ułamkowej, trzeba użyć single lub double. Mała wskazówka z helpów (polski ubogi pełny po angielsku w programie) Pamięć ERAM. Większość procesorów serii AVR posiada wbudowaną pamięć EEPROM. Pamięć ta może przechowywać dane nawet po wyłączeniu zasilania. Jak podaje producent nawet do 10 lat. Pamięć...
...Ps. Tak, już dla ścisłości to skoro do tej pory nie używałem tej pamięci to czas to zrobić. A przy okazji to czy zmienną typu STRING też tak samo łatwo tam zapiszę...? To działa ze zmienną dowolnego typu :D Ijeszcze jedno podejście do tematu.. Napisałem kod z uwzględnieniem Twoich uwag Piotrek tzn: Dim x As Eram Single Kod się skompilował i jest...
Nastepnym razem napisz jaki masz blad, na moje to zapis powinien byc i=i+1 oraz i=i-1
Dlaczego pokazuje -1 na wyświetlaczu a nie np 255 jak jest dla zmiennej typu Byte. Bo Integer to zmienna ze znakiem, FFFF to właśnie -1. Byte jest zmienną bez znaku (zawsze dodatnią). Dwubajtowa zmienna bez znaku to w Baskomie "Word". Na wyświetlaczu po resecie będzie wówczas 65535. 2. Czy taki zapis eeprom będzie poprawny przy pierwszym sprawdzeniu...
Witam ATMega8 ma Timer1 16-Bitowy i do odczytu lub wpisu służą dwie dane: "TCNT1L" - odczyt lub zapis "dolnej" 8-Bitowej części i "TCNT1H" - odczyt lub zapis "gónej" 8-Bitowej części n.p. stan licznika "21456" odpowiada : TCNT1H =83 ; TCNT1L=208 bo 21456:256(pojemność TCNT1L=256)=83+208 Aby wszystko było OK to obie wartości (TCNT1H i TCNT1L) muszą być...
Do komunikacji z układem można wykorzystać instrukcje I2csend i I2creceive , po wykonaniu w zmiennej Err jest kod błędu: [syntax=basic4gl]I2csend 112 , &B00010000 ' I2csend adres układu, wartość I2creceive 113 , Zmienna ' I2creceive adres układu, zmienna[/syntax]
To wiele wyjaśnia. Spróbuj tak ;) [syntax=vbnet]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 64 $swstack = 16 $framesize = 64 $baud = 9600 Config Lcd = 16x2 Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.6 , Db7 = Portb.0 , E = Portb.4 , Rs = Portb.5 Cursor Off : Cls Dim K1 As Byte Dim K2 As String * 20 Dim Id As String *...
Język nie jest ważny. Polega to na odpowiednim ustawieniu sygnałów na wejściach LCD czyli sterowania rejestru Port. Jak wrócę z pracy to wstawię tu kod napisany w C dla zwykłego LCD ( z lekkim tłumaczeniem). Może uda się to przerobić na Bascom. Wtedy uzyska się dostęp do czasów. Do tego czasu spróbuj wyssać procedurę inicjacji z noty katalogowej. P.S....
Tak dla sprostowania na początek: zasadniczo to co ja napisałem jest bardzo podobne do pomysłu kolegi "hunterhouse"- napisaliśmy odpowiedź prawie w jednym czasie :-) Nie żebym się tu powtarzał czy coś w tym rodzaju. Powiedzmy dla przykładu, że masz 1 na Pinach 2 i 3 a na pozostałych 0, wtedy zmienna "Stan" wyniesie 2+4=6 (dla każdej konfoguracji jest...
Czy to poprawny zapis do uśredienia wyniku z 60 pomiarów kodu co wyżej podawałem (*) pytam z czystej ciekawości czy to poprawna forma To nie jest 'uśrednienie',- to jest zbyteczne rozszerzenie rachunku wydajności, które jest równoznaczne z pomiarem impulsów w czasie 60 sec. Inaczej, zamiast odczytywać zawartość Countera1 po zliczeniu 250 4-milisekundowych...
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. Nie ma tutaj nikogo kto spotkał się z takim problemem..?. Same "łebskie" chłopaki, a nikogo kto by coś zasugerował..?. Nawet Piotrek zamilkł... Ja próbuję coś wymyśleć, ale nijak mi się nie udaje... skąd ten minus u mnie...? Pozdrawiam
[url=http://bascom.dxp.pl/bascom_dyrekty... opisane dyrektywy miedzy innymi $eeprom i $eepromhex.
Witam, Proszę o podpowiedź jak zapisać zmienną typu single, konkretnie wartość np. 1.23458 do komórek pamięci eeprom. Chodzi o zapis w Bascomie. Jeżeli wpiszę dim zmienna as single zmienna= 1.23458 Writeeeprom zmienna , 1 to przy odczycie Readeeprom zmienna , 1 na lcd ukazuje się 1.234580037
Witam Mam dwie zmienne np: a=25 b=5 i jak to zapisać w bascomie aby: c=25,5 potem zrobić coś takiego: d=(25,5-12,3)*10 już sam nie wiem jak to zrobić :( próbowałem z instrukcją const ale nie chciała działać i cały czas miałem błąd nr. 222 Pozdrawiam
Witam. Od kilku dni próbuje napisać prosty,jak mi się wydawało kilka dni temu ,programik. Chodzi o to żeby zmieniać stan portu w odstępach czasowych z możliwością ich regulacji. Proszę o jakąś ,na razie drobną podpowiedż .
Witam. Mam problem mianowicie potrzebuję edytować określone znaki w zmiennej string. Coś w tym stylu że jest zadeklarowana zmienna mająca 16 znaków a ja potrzebuję zmienić znaki od 8 do 16 nie ruszając znaków 1-7. w jaki sposób można tego dokonać z poziomu bascom-a. Udało mi się zrobić to wstawką w asm poprzez wstawienie danych pod odpowiednie adresy...
Witam serdecznie, Jako ze musze cos w bascomie zrobic mam taki problemik :) Jak zapisac singla w eepromie, badz tez zrzutowac singla na byte i go zapisac. Teraz zrobilem tak (program obrazowy) dim a as single dim b as byte b=a Writeeeprom b , 1 Readeeprom a , 1 Ale zapisuje mi 255;/
Mam taki problem, otóż nie mogę zapisać w zmiennej string trzech innych zmiennych tego samego typu, chodzi o to że w pewnym miejscu w programie 3 zmienne muszą być w jednej i to w odpowieniej kolejności nie losowo. Jak to napisać ?
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...
Witam Kolegów i proszę o pomoc! Mimo napisania już kilku aplikacji w Bascomie, napotkałem problem, z którym się wcześniej nie zetknąłem i nie znalazłem nic na ten temat w sieci. Wykonałem czterokanałowy miernik napięcia, który będzie częścią pewnego urządzenia. Układ działa poprawnie, ale mam kłopot z zapamiętaniem wartości zmiennych tablicowych. Zadeklarowane...
Ponownie chciałbym zwrócić się do kolegów z prośbą o pomoc. Chcę zrobić rejestrator czasu, zdarzeń występujących na przerwaniu. Układ miałby zapisywać do pamięci eeprom datę i godzinę wystąpienia zdarzenia. czyli zmienne _mies, _dzień, _godz, _minuta Myślę sobie tak. Skoro mam serie danych składającą się z czterech zmiennych więc muszę zarezerwować...
Witam. Mam zapisaną liczbę binarną w postaci "String * 14" i próbuje ją zamienić na dec. Próbowałem komendą binval, ale niestety liczba wynikowa może przyjąć wartość max 255 czyli (bajt), a moje wartości będą w granicach 10000 do 14000(dec). Ma ktoś jakiś pomysł ? Pozdrawiam.
Witam, głupia prawa, ale nie działa mi zapis do pliku To wprost z helpu bascoma Kolejne zmienne są oddzielone od siebie przecinkami. Przykładowo poniższy program: Dim S As String * 10 , W As Word S = "cześć" : W = 100 Open "test.txt" For Output As #1 Write #1 , S , W Close #1 spowoduje, że w pliku test.txt znajdzie się zapis: "cześć",100 No i mi sie...
Jak chcesz sie zabezpieczyć to częsciowo można poprzez dwa bufory i na końcu zapisuj sume kontrolna w jednym z buforów a w drugim moze nadpisywac sume zerami - gdy zapis przerwie sie w polowie to będą dobre stare dane . Wiele już czytałem o tym na forum, ale jakiegoś sensownego przykładu nie widziałem. Czy mógłbyś na podstawie mojego fragmentu kodu...
Post wyżej napisałem jak ma wyglądać wyświetlanie tekstu. Wstaw tą linię tam gdzie umieściłeś komentarz "Tu wstawiam..." :) ps. Pisałem z pamięci i zamiast Seq(1) = Text powinno być Seq(1) = Tekst czyli zapisanie aktualnej wartości po przesunięciu.
Wykorzystaj funkcję Toggle. Jeśli zmienna nazywa się np. A to zapis Toggle A.3 zmieni na wartość przeciwną tylko bit 4 tej zmiennej
a dlaczegio chcesz mieć je zapisane w postaci bitów zawsze możesz sobie odczytać dowolny bit rejestru bądź zmiennej i oczywiście dokonywac rotacji tych zmiennych i rejestrów
Witam Dziękuję za szybką odpowiedź. To może opiszę dokładnie. W programie mam zadeklarowaną zmienną(INTEGER). W toku działania programu z zewnątrz zostaje jej nadana wartość dziesiętna na przykład 1000 (tysiąc). Ja chcę, aby została ona potraktowana jako &H1000, czyli jako wartość podana w kodzie heksadecymalnym (rzeczywiście , potrzebuję tego do wyświetlania),...
Pytanie tylko czy BASCOM odpowiednio to zinterpretuje?! Czy tak trudno zajrzeć do Helpa? Podstawy języka BASCOM BASIC W instrukcji przypisywania wartości zmiennej można używać zapisu heksadecymalnego (szesnastkowy) bądź dwójkowego (bitowy). Liczby zapisane szesnastkowo muszą być poprzedzone przedrostkiem &H, a zapis dwójkowy przedrostkiem &B. Poniższy...
Rozumię, że chodzi o zapis do pamięci EEPROM a potem odczyt z pamięci. Aby dokonać zapisu do EEPROM-u należy: Dim x as long 'definicja zmiennej "x" typu Long x = .... 'wpisać wielkość tej zmiennej writeeeprom x , 1 'zapisanie zmiennej "x" do komórki "1" EEPROM-u Aby odczytać z EEPROM-u: readeeprom x , 1 'odczyt zmiennej "x" z komórki "1" EEPROM-u Uwaga:...
Zapis do EEPROM - to najwyżej marne milisekundy. Po wykryciu spadku napięcia zasilającego (bez jakiegokolwiek podtrzymania) swobodnie zdążysz zapisać te zmienne do EEPROM przed całkowitym padem zasilania. Potrzebne jest tylko przerwanie przy spadku napięcia.
jesli koledze chodzi tylko o zapis i odczyt z rejestrow to nie ma zadnego problemu wystarczy jedynie uzyc zwykledo assemblerowego mov. np. chcesz zapisac do rejestru r0 ze zmiennej to piszesz mov r0,{zmienna} a przy odczycie odwrotnie mov {zmienna},r0
http://obrazki.elektroda.net/7_123635472... Prawie rok temu, zainspirowany konstrukcją pana Kamila Przychodzenia http://obrazki.elektroda.net/18_12363549... http://obrazki.elektroda.net/82_12363551... Płytka sterownika oraz płytka organizacji połączeń http://obrazki.elektroda.net/62_12363543... http://obrazki.elektroda.net/80_12363591...
Zamiast używać wielu zmiennych w stylu zmienna_byte, zmienna_byte2, zmienna_byte3 załóż tablicę np. zmienna_byte(300) i wówczas na podstawie zinterpretowanego znaku wysyłasz zawartość odpowiedniego pola tablicy. No dobra, tryb tablicowy ma swoje plusy (jeśli chodzi o zapis chociażby i odwoływanie się do zmiennych). Jednak nie do końca o to chodzi....
Na razie zmieniłem nieco sposób zapisu - po testuję przez noc, jak będą problemy to będziemy się zastanawiać. Zrobiłem to tak: [syntax=vbnet] '*********************** Obs-uga karty SD Sub Write_to_sd Sd_year = "20" + Str(rok) ' wartosc zmiennej Sd_year typu string ze zmiennej year If Miesiac < 10 Then Sd_month = "0" + Str(miesiac) Else Sd_month =...
Mam pytanko co do zapisu eeprom . Mam do zapisu cztery zmienne [syntax=basic4gl]'''''''''''''''''''''''... Readeeprom Cena , 1 ' zmienna typu string Readeeprom Waga , 8 'zmienna typu string Readeeprom Z , 16 ' zmienna typu word Readeeprom Przep , 24 ' zmienna typu word ''''''''''''''''''''''''''''''''zapis...
Komórki pamięci są 1 bajtowe! Word ma 2 bajty. Z tego co wiem to Bascom pozwala DIMować jakąś zmienną tak aby była umieszczana w EEPROM. Wypróbuj to. Drugi wariant to taki żebyś za pomocą HIGH i LOW rozbił 2 bajtowy Adres na 2 pojedyncze bajty, zapisał je do eeprom, a następnie znów złożył przy odczycie w 2 bajtowy word. Piszesz że przy wartości np...
Witam. Nie wiele mogę załączyć, bo wszystkie materiały mam na innym komputerze... Raczej zadanie skierowane do ludzi dobrze zaznajomionych z pakietem AVR-DOS. Generalnie program jest napisany aby testowo wgrać utworzyc na karcie plik txt, i wpisać do niego zmienną. Jeśli zastosujemy instrukcję: "1025" (nie wiem czemu zapisuje z cudzysłowami,...
No więc zacznijmy. W Twoim programie zmienna typu Single ma wartość początkową zero . Niezależnie od tego czy naciśnięty jest jakiś przycisk to zmienna ta dzielona jest przez 16. Tak więc nawet gdyby przyciskiem została zwiększona o jeden to i tak zostanie podzielona przez 16. Czyli cały czas będzie mniejsza od jeden. Będzie to 0.xxx coś tam Takie 0.1...
Balu, mam wrażenie ze chcesz zrobić ze mnie ostatnią lamę :-) wcale nie tak trudno znaleźć przykład kodu operującego bezpośrednio na zmiennych w eramie. pierwszy lepszy przykład z elektrody; http://www.elektroda.pl/rtvforum/topic71... a takich przykładów sieci jest znacznie więcej Czyżby nikt nigdy ich nie kompilował ? :-) A jeśli tak to dlaczego...
...A swoją drogą to liczba zmiennych w nawiasie (20) ... To nie jest liczba zmiennych , tylko ilość elementów w tablicy, choć na upartego można by przyjąć , że jest to liczba zmiennych w ... zmiennej ;) ...jest u kolegi wynikiem doświadczenia czy dogłębnego przeczytania helpa. Raczej dogłębnego zapoznania się , z Twoim listingiem :) Ja starałem się...
Obejdzie się bez przesuwania i masek. Jeżeli mamy zmienną Z to wartość bitu b tej zmiennej można zmieniać odczytywać, zapisywać wysyłać do portu lub co komu się podoba poprzez Z.b . To tak jak Portb.1 itp. Odczyt bitu pierwszego to np. Wynik = Z.1 (bit zerowy to Z.0) Zapis to Z.1=1 Warunek If Z.1 = 1 Then ... i tak dalej.... Jeśli dotyczy to zmiennej...
Witam wszystkich, Panowie mam takie pytanie dotyczące kawałka kodu odpowiedzialnego za transmisję danych programowym uartem. [syntax=basic4gl] dim sms as string*70 dim ss1 as string*20 dim ss2 as string*20 dim ss3 as string*20 dim i1 as integer dim i2 as integer dim i3 as integer Ss2 = Str(i2) Ss2 = Format(ss2 , " 0.0") Ss1 = Str(i1) Ss1 = Format(ss1...
Dziękuję, mam tylko drobny kłopot Nie wiem jak ustawić warunek do badania Czy samo pojawienie się "pwm1:" powinno uruchomić wyciąganie znaków i konwersje, czy "pwm1: " wydaje mi się, że powinienem użyć najpierw MID a później VAL Zamienia tekstową reprezentację liczby na jej postać dziesiętną. Czyli z całego stringa zmiennej E najpierw wyciągnąć trzy...
Case`ów nie dotykaj. Napisz wszystkie a program określi które wyświetlić a które pominąc ;) Zapis tylko jednej zmiennej do Eeprom. Za to po przepisaniu z eeprom do SRAM możesz sprawdzać każdy bit z osobna. Na dodatek numer bitu może być zmienną czyli jeśli zmienna ma 16 bitów to drugą zmienną możesz określić o który bit Ci chodzi. Jeśli zmienna Menu...
przedstawiam poni żej listingf w którym podczas kompilacji wywala mi błąd o złym typie zmiennej przy wywołaniu procedury co i jak żle zrobiłem: to 1 problem 2 to ten że to program do obsługii 12 bitowego przetwornika a/d z noty wyczytałem iż odczyt danych następuje wg. schematu: 1 sekwencja startu 2 podanie adresu do zapisu 3 potwierdzenie (slawe) 4...
Dzień tygodnia bez problemu, nawet informacje, czy czas jest letni, czy zimowy. Jeśli na początku na początku podpiąłeś $lib "dcf77.lbx" to zostały zdefiniowane zmienne to w Sectic daje [syntax=basic4gl] Sectic: Strtime = Time$ ' z ciagu czas Bsec = Time(strtime) ' oblicz sekundy Strdate = Date$ ' z ciagu data Bday = Date(strdate) ' oblicz numer dnia...
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...
Doszedłem do kilku wniosków. Ale nie będę się rozpisywał bo już mi się spać chce. No więc przerwanie nie zakłóca odbierania danych. Przerwanie może sobie chodzić ale jeżeli odczyt i wystawianie próbek na PWM1A będzie w pętli w programie głównym to nic się nie będzie zawieszało. Więcej. Przerwanie może wystawiać jakieś próbki na przykład na PWM1B i także...
Witam Mam zegarek/budzik z wyświetlaczem LED ( dwukolorowy ). Zegarek generalnie działa. Ale mam problem z sterowaniem jasnością. Wiadomo, że robi się to tak, że jasność zależy od częstotliwości odświeżania. Tutaj o jasności wyświetlania ma decydować zmienna jasnosc. . jasnosc : [syntax=vbnet] '************ Timer0 1000 = 1 sekunda, 10000 = 10 sekund,...
Niemniej jednak porady o BASCOMie również mi sie niezbyt podobają <: 4\/3!! A w zasadzie dlaczego? Język jak język-można wyrazić co się chce. Kompilatory bywają dobre lub gorsze. A te języki są "wysokiego poziomu abstrakcji". W C to co jest najlepsze to wskaźniki. Od razu mi się spodobały i oczywiste do zrozumienia. Bo to jest to co jest w procesorze....
1. inicjalizacja zmiennej polega na nadaniu jej konkretnej wartości. np I=1 to jest inicjalizacja ponieważ wiesz, że po tym napewno w I będzie liczba 1, jeśli w pętli stosujesz zmienną I do odliczania to samo zdefiniowanie pętli jest inicjalizacją gdyż nadaje jej pierwszą wartść oraz kolejne według pewnej reguły. 2. poto podaje sie adres komórki żeby...
Masz tam za mało o jedną cyfrę musi być osiem a masz napisane siedem jedynek w wierszu Config PORTC = &B1111111 powinno być Config PORTC = &B11111111 ale w atmega8 jest tylko do PC6, nie ma PC7. pozdrawiam W tej chwili ignorujesz PC0 a nie PC7. Zobacz sobie datasheeta, jak są numerowane piny. Zawsze używa się liczby 8-bitowej. To, co wpiszesz na PC7...
Składnia: rezultat = LOW( zmienna ) Przeznaczenie: Zwraca młodszą cześć (bajt MSB) podanej zmiennej. gdzie: rezultatzmienna do której zapisana będzie młodszy bajt zmiennej, zmiennazmienna której młodsza część ma być określona.
Ok czy można jeszcze jaśniej ? Tam gdzie jeden pcf obsługuje same przyciski to jakoś sobie poradzę. Tam jest przełącznik obrotowy więc wartości są stałe ale na drugim pcf ze zworkami i resztą przełącznika obrotowego + hebelkowy to już mam problem a wydawało mi się to takie proste... Do I2cstart I2csend 112 , 255 'pierwszy I2csend 120 , 255 'drugi I2creceive...
Ok, dzięki. Ale problem na tym się nie skończył. Teraz po naciśnięciu switcha atmega zachowuje się nietypowo *********************** https://www.dropbox.com/s/wsodhlckfw60le... *********************** Zamieszczam film. Wgrałem kod od kolegi (at)UP :> nie dodaje do zmiennej 1 "impulsu" a zamiast tego, początkowo 5 a potem...
Witam Poniżej wstawiłem kawałek "kodu", który ma służyć ustawieniu parametrów alarmów, oczywiście nie jest skończony ( brakuje obsługi przycisków zmieniających wartości). Chodzi mi raczej o obsługę wyświetlania na MAX7219 - jako, że część się powtarza szukam sposobu, jak zrobić, żeby powtarzająca się cześć była wspólna. [syntax=vbnet] If Ustaw_alarm...
zmiana zmiennej bascom bascom zapis bascom zerowanie zmiennej
citroen berlingo bezpiecznik radio tecumseh ustawienie zaworów schemat kocioł gazowy dwufunkcyjny
Zwarcie czujnika temperatury ECT z czujnikiem prędkości VSS – objawy, diagnostyka, naprawa Ustawienie histerezy w piecu Termet - parametry P02 i P20