Integer to nie jest zmienna tekstowa. Sprawdź w helpie jaki zakres ma ten typ zmiennej.
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...
Myślę, że jest to naturalne. Zmienna typu Long zajmuje 4 bajty a Integer tylko 2. Nie da się ciężarówki zaparkować w garażu dla malucha. W helpie jest informacja, że można dokonywać konwersji typów. Oto fragment: Dim I As Integer, S As Single S = 100.1 'przypisujemy liczbę zmiennoprzecinkową I = S 'ta instrukcja zmieni liczbę typu single na Integer...
:) Komenda mod to taka reszta z dzielenia czyli: zmienna = liczba mod 4 zmienna - miejsce gdzie zostanie wpisana reszta z dzielenia liczba - zmienna która jest dzielona przez 4 (w miejsce 4 możesz wstawić inną liczbę lub zmienna) Dodatkowo w Bascomie są dwa rodzaje dzielenia znak / i \ pierwszy (/) używamy do dzielenia z resztą (w przypadku zmiennej...
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...
Mozna to zrobic tak : Wszystkie zmienne musza byc tego samego typu czyli integer zmienna początkowa to "liczba" tysiac= liczba/1000' wyswietlanie tysiecy sto = liczba Mod 1000 sto = sto / 100' wyswietlanie setek dziesiec = liczba Mod 100 dziesiec = dziesiec / 10' wyswietlanie dziesiatek jeden = liczba Mod 10 ' wyswietlanie jednosci
Hej! Zobaczcie jak ja to robię, może komuś sie to przyda: 'Powiedzmy ze zmienna Liczba(single) wynosi 22.62555426 Temp = Int(liczba) ' dzieki temu poleceniu odcinam czesc setna czyli ' zmiennej Temp(byte) przypisuje liczbę 22 Liczba = Frac(liczba) ' dzieki temu poleceniu odcinam czesc ' dziesiętną czyli zmiennej Liczba(single) przypisuje ' liczbe 0.62555426...
Przetwonnik zlicza napięcia tylko do 2047, pokazując ujemne napięcie nie ma znaku minus i wartość, tylko np 65320. Czyli przetwornik zwraca wyniki w kodzie U2. Tam nie ma znaku minus. Jest za to przesunięcie poziomu. Najprościej mówiąc, zastosowanie takiej funkcji do konwersji: Napiecie = Zmierz1 * 256 Napiecie = Napiecie + Zmierz2 da Ci złe wyniki....
Proponuje dodać dodatkową zmienną pomocniczą której zadaniem będzie pamiętanie że program zaczął działać nie jestem pewien tego rozwiązania z bascomem miałem doczynienia dość dawno temu ale możesz spróbować tego $regfile = "attiny25.dat" $crystal = 4000000 Config Portb.3 = Output 'przekażnik Config Portb.2 = Input 'włącznik typu microswitch...
Cześć, Przedstawiam problem: w poniższym programie, gdy nastąpi 2razy przerwanie INT0, to zmienna limit bedzie wynosić 400. Jeżeli zmienna minuty dojdzie do 400 powinno się zatrzymać. Jednak zmienna Minuty dochodzi tylko do 255 tak jakby była zadeklarowana jako Byte, a nie jako Long. Dlaczego? Zmienna Sekundy jeżeli się przestawi z 2 na mp 400 liczy...
Do konwersji łańcucha na zmienną numeryczną wykorzystaj funkcje VAL lub HEXVAL . Mając już adres zmiennej, możesz użyć instrukcje INP do pobrania wartości. [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 80 $swstack = 80 $framesize = 80 Declare Sub Show_byte(byref Adres As String) Declare Sub Show_word(byref Adres As String) Declare...
' Trzy przyciski kolejno .... (TSA ;) ' wersja bez przerwań i Timera czas_a as integer ' zmienna czasowa A czas_b as integer czas_c as integer we_a alias pinx.1 ' wejście A we_b alias pinx.2 we_c alias pinx.3 wy_a alias Py.1 ' wyjście A wy_b alias Py.2 wy_c alias Py.3 stan_a as bit ' stan układu monostabilnego A: 0 - czeka, 1- liczy stan_b...
Przetestuj ten. Tak go poopisywałem, że aż mi się nie podoba :D [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize = 32 '# wyświetlacz Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Cls '# timer ' 8000000Hz(8MHz)/256(Prescaler)=...
C znam troche, juz od paru lat staram sie przeskoczyc cos nie daje rady. W c integer jest 1 bajtowy i mam czujnik ktory podaje mi dawne w takiej postaci. Bascom ma zmienna integer ale 2 bajtowa i to ten problem. Teraz chcialem zrobic tak ze dane z czujnika beda zapisywane do zmiennej typu byte i pozniej bedzie to przeliczane czy to jest wartosc ujemna...
Witam, Mam pytanie... Jak zamienić zmienną Integer na Single w Bascom AVR?? Pytam, ponieważ muszę użyć funkcji: X = Fusing(ds1 , "#.##") a zmienna ds1 mam typu integer. Pozdrawiam A.
Pewnie za zmienna integer podstawiasz zmienna word
Nie zmienia, bo masz błąd w innym miejscu. Dokładnie to miałem na myśli-że błąd jest gdzieś indziej. Zastanów się, co oznacza nazwa trybu CTC (?) – w ang. jest to ‘Clear Timer on Compare’ (pol. - wyzeruj zawartość licznika/timera, gdy jego zawartość jest równa wyznaczonej z góry i ustalonej, bądź to wyliczonej jakiejś wartości w zmiennej...
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...
wprowadź w programie zmienną bit która po wejsciu do przerwania uzależni zliczanie od swej wartosci. inaczej: dodaj warunek który musi być spełniony aby zliczyć nacisniecia if guzik nacisniety and zmienna = 0 then incr ilosc nacisniec : zmienna=1: end if dalej w programie: if guzik puszczony and zmienna = 1 then zmienna =0 to proste trzeba tylko pomyslec...
http://obrazki.elektroda.net/7_115627452... Przedstawiam mój zamek szyfrowy. Pomysł zrodził się już klika miesięcy temu kiedy to wpadłem że taki zamek można zrobić na tyrystorach ale układ byłby wtedy zbyt skomplikowany. Wiec od razu jak nauczyłem się obsługi procesorów skończyłem mój projekt. Zamek ten otwiera np. zamek elektromagnetyczny po wpisaniu...
Jeśli chcesz wyświetlić bez miejsc po przecinku to rzutuj zmienną cisn na jakąś zmienna typu Integer lub Word. Zdefiniuj ją na przykład Dim cisn_int as integer i nastepnie napisz cisn_int= cisn I wyświetl bez fusing. Bascom to nie jest prymitywny język. Jest bardzo dobrym narzędziem do pisania nawet skomplikowanych programów.
No niestety BASCOM tak ma. Zdaje mi się że takie obliczenia kiedyś działały (operacje na integer a zwracanie wyniku do Byte). Widocznie od którejś nowej wersji już nie działają. No to będziesz musiał zrobić tak: [syntax=basic4gl]Dim Stopnie As Integer 'Stopnie musi być typu Integer Do Ds_i1 = 305 '************ Obliczenia temperatury Stopnie = Ds_i1...
no i wiecie co się okazuje??? że bascom avr, w przeciwieństwie do 8051, nie umie łączyć zmiennych różnych typów u mnie zmienna przecinek byłą typu byte, wystarczyło ją zmienić na integer (czyli taki sam typ jak całości temperatury) i wszystko działa twórcy bascoma zrobili to chyba spejalnie, żeby zająć jak najwięcej miejsca w pamięci RAM :( :| dzięki...
Witam ogarnąłem już dużo na temat programowania w bascom, tylko mam kolejny problem, mianowicie chciałbym zaprogramować obsługę serwa pilotem nadającym w RC5 lecz gdy połączę obsługę rc5 i serwa mam takie błędy i nic nie działa: Duplicate Label [_SYSTEM_TO_ISR Duplicate Label [_SYSTEM_TO_ISR_EXIT Pojedynczo programy działają ok. Rc5+ servo (nie działa)...
Zmieniłem typ zmiennej z Byte na Integer i działa :D A i mam jeszcze jedno pytanie. Spotkałem się ze zmienną WORD której wartości mieszczą się w granicach 0-65535. Nie jest to aby zmienna LONG ?
Jesli chodzi Ci o rozkladanie na setki, dziesiatki i jednosci to sprobuj tego: Dim Liczba As Integer Dim Pomocnicza As Integer Dim Setki As Byte Dim Dziesiatki As Byte Dim Jednosci As Byte Liczba = 852 Setki = Liczba / 100 Pomocnicza = Setki * 100 Liczba = Liczba - Pomocnicza Dziesiatki = Liczba / 10 Pomocnicza = Dziesiatki * 10 Liczba = Liczba - Pomocnicza...
No tak :/ jeszcze jest Integer :D już mam, dla potomności: [syntax=basic4gl] Do 'Odbierz znak po znaku Kod = Inkey() Dane = Dane + Chr(kod) Port = Left(dane , 3) Stan = Right(dane , 4) Wartosc = Val(stan) Sprawdz = Val(stan) 'dodana zmienna Integer If Port = "red" Then Rgb = 1 If Port = "gre" Then Rgb = 2 If Port = "blu" Then Rgb = 3 'Zapisz w Dane...
scal sobie te dwa bajty w jedna zmienna. T = Makeint(mbt , Sbt) T = T * 10 T = T / 16 Oczywiscie zmienna T jest typu integer W tym momencie masz liczbe 3 cyfrowa z ulamkiem ale bez kropki. Czyli 24,5 stC jest zapisane jako 245 Wystarczy odpowiednio powycinac cyferki do multipleksu wlaczyc kropke na wysiwetlaczach i gotowe.
Coś w tym stylu: zmienna i - integer zmienna lampy - tablica bool ze stanem lamp for i od 1 do 8: if lampy[i] == true: wyświetl "lampa nr i włączona" czekaj 2s Jeśli masz oczekiwanie zrobione na przerwaniach, to trzeba by coś takiego: przerwanie co 2s: do: i = i+1 while (lampy[i] != true) and (i<=8)...
Analiza cudzego programu to koszmar :) Kilka uwag: - zmienne "leweprzod" i pozostałe daj typu WORD, ponieważ ADC zwraca wartość 0-1023, więc po co tam pakować Integer - zmienna A spokojnie jako BYTE - spróbuj użyć aliasów zamiast "reset portb.0" dajesz "reset lewyprzod", możesz wówczas zrezygnować ze zmiennych bitowych np. LP, bo to sobie odczytasz...
Witam Wszystkich!! Mam nietypowy problem.Oto listing: Dim W As Integer Dim Channel As Byte Config Adc = Single , Prescaler = Auto , Reference = Internal Declare Sub Volt Do Channel = 2 Start Adc W = Getadc(channel) Waitms 1 Stop Adc Cls Lcd "Temp=" ; W ; " C" Wait 1 Loop Gdy za wartosc channel wstawiam cyfre(2 np.kanal 2) to wszystko dziala ok. A jak...
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...
Może być tak: $regfile = "m32def.dat" $crystal = 8000000 Config Portc.0 = Output Config Portc.1 = Output Set Portd.5 Dim X As Integer Dim Y As Integer Dim Flaga_1 As Bit Declare Sub Program_1 Y = 100 '---------------------------------------... Do If Pind.5 = 0 Then Waitms 100 If Flaga_1 = 1 Then If X =...
U mnie poszło coś takiego: $regfile "m16def.dat" Config Lcd = 16 * 2 $crystal = 1000000 $baud = 9600 Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portb.1 , Rs = Portb.0 Config Serialin = Buffered , Size = 12 Dim X As Integer , Y As Integer Config Pind.1 = Output Enable Interrupts ' Musisz włączyć...
Nie bardzo wiem co chcesz osiągnąć, jeśli jest tam przecinek (25,5) to jest zmienna tekstowa! Czyli jest to zsumowanie 2 zmiennych 25 i 5 (po ich zamianie na tekst) i dodanie w środku przecinka. Kod wygląda tak: Dim A As Integer Dim C As Integer Dim Z As String * 5 A = 25 C = 5 Z = Str(a) + "," + Str(c) Print Z End Ale dalej nie rozumiem po co Ci to...
Mam problem. Wydaje mi się że PRAWIE wiem o co chodzi, ale PRAWIE robi wielką różnicę:) Kompiluję Program i wyskakuje mi błąd OUT OFF INTERNAL MEMORY jeśli dobrze myślę to oznacza to poza zakresem wewnętrznej pamięci RAM. I w tym sęk. Jeśli dobrze kombinuję to ram powinien być zajmowany tylko przez zmienne??? A jeśli tak, to dla czego przy ilości zmiennych...
Pozdrawiam wszystkich .Chciałbym napisać ..mam 18 lat wpadłam pomóżcie...A wpadłem w programowanie przy pomocy Bascoma. Przepraszam że podpinam się pod temat ale może mój problem jest błahy szkoda zaśmiecać . Pisze sobie programik do obsługi kolektora między innymi korzystając z czujników DS a że nie jestem w tym biegły co jakiś czas kompiluje i sprawdzam...
No więc już pisze: 1) chcąc ułatwić pisanie wstawek jest w bascomie coś takiego: zamiast pisać adres zmiennej można napisać jej nazwe w nawiasie klamrowym. wszystko ok ułatwia to sprawe. Dim var As Bit SETB {var} Jest jedno ALE. spróbuj zadeklarować inną zmianną niż BIT lub BYTE. Przy odwołaniu do niej przez nawias kompilator nie wyświetki błędu tylko...
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...
Witajcie, mam problem z kodem poniżej. Chodzi o ten element: [syntax=basic4gl]Do B = A * 256 B = B + Timer2 B = B / 15625[/syntax] W takim przypadku kompilator wywala mi błąd w wierszu z Timer2 - niezadeklarowana zmienna TIMER2. To nie jest zmienna!! A gdy zmieniam na Timer1 - wszystko jest OK. Ale dla mnie ... to całkowicie bez sensu. Błędy w kompilatorze?...
Witam. Proc: Atmega8 IDE: Bascom Piszę dość spory kawałek kodu, a zatrzymałem się na prostej funkcji. Jej zadanie mam być konwersja liczby z jednego zakresu na inny (np. 0-1023 na 0-255). Napisałem taki kawałek kodu: Function Mapuj(byval Z As Byte , Byval In_min As Integer , Byval In_max As Integer , Byval Out_min As Integer , Byval Out_max As Integer)...
Witam ponownie Zrobiłem to przez Timer0. Jednak problem z aktualizacją wyświetlania dalej występuje. Jeszcze drugi problem to start, przez okres zdefiniowany zmienną Licznik ( teraz równą 300 ) nic się nie wyświetla - dopiero po czasie = 300. Próbowałem również z Enable/Disable Interrupts na czas pomiaru, ale nie było żadnego efektu. Mam takie pytanie...
Witam, Proponuję spróbować tego, to kawałek kodu z mojego pliku pomocy w obsłudze termometru DS18B20: 'Odczyt temperatury z dokladnością do dziesiątych części $regfile = "89s8252.dat" $crystal = 12000000 Dim Odczyt(2) As Byte 'deklaracja dwóch zmiennych typu byte do których będą zapisywane dane z termometru Dim T As Integer , Przecinek...
Witam,mam następujący problem.Potrzebuje obsłużyć 2 enkodery instrukcja encoder program narazie wygląda tak : $regfile = "m8def.dat" $crystal = 8000000 Config Timer0 = Timer , Prescale = 256 Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portb.5 , Rs = Portb.4 Config Lcd = 16 * 4 Config Pind.0 = Input...
Witam, przepraszam że dopiero teraz odpisuje ale dopiero teraz znalazłem troche czasu na wznowienie projektu. Dziękuje za pomoc. Wcześniej miałem zrobione tak: Select Case Text Case 0 : Pion = Lookup(linia_zmian , Dig_0 ) ...itd... Case 104 : Pion = Lookup(linia_zmian , Big_pz2 ) End Select A tablice znaków wyglądały tak: Dig_0:...
Witam Napisałem program który ma po naciśnięciu przycisku dodać lub odjąć 50 do zmiennej a następnie wyświetlić to na LCD Problem jest taki ze po wgraniu programu bez naciskania na wyświetlaczu zmienna cały czas przeskakuje co 50 na LCD a jak nacisnę 2 przyciski naraz to się zatrzymuje jaki jest tego powód ? [syntax=basic4gl][/syntax] $regfile = "m8adef.DAT"...
Witam Napisalem sobie program w Bascomie ktory liczy czas stanu niskiego na pinie INT0. Powiedzmy ze wszystko dziala wporzadku ale zastanawia mnie jedna rzecz. Ponizej przedstawiam kod programu. Atmege48 idzie na 8 MHz, czyli jeden takt zegara=125ns ?? Czas licze poprzez Timer1(16 bitowy), W przerwaniu od przepełnienia licznika Timer1 napisalem procedurke...
Przepraszam fakt nie napisałem w jakim języku :). Bascom kod: Dim zmienna1 as word zmienna1 = 23456 Sub zap_eeprom ........... Locate 2 , 1 : Lcd "Wartość: " ; zmienna1 Wait 2 end sub Sub od_eeprom ......... Locate 2 , 1 : Lcd "Wartość: " ; zmienna1 Wait 2 End Sub Jak zapisać zmienną zmienna1 do pamięci eeprom. Znalazłem coś takiego ale nie wiem jak...
Panowie, cały problem tkwi w konwersji zmiennych. Pewnie nikt nie wie co się stanie jak BASCOM zrzutuje integer (16) i to pewnie ze znakiem (signed) na bajt albo lepiej char (bajt ze znakiem). Trzeba się dowiedzieć jak on to robi albo po prostu zacząć pisać w poważnym języku na poważny kompilator (bez obrazy oczywiście) :) Pozdrawiam (M.) Nie wiedzą...
Witam kolegów. Potrzebuję sterownika pompki do C.O. Znalazłem program napisany w BASCOM i przerobiłem go nieco do swoich potrzeb. Działa wszystko prócz HISTEREZY. Przy powolnym narastaniu temperatury, która skacze +/- pompka włącza się i wyłącza, czyli histereza nie działa. Histerezę zrobiłem wg. porad z forum. Czy może ktoś pomóc? Oto kod: [syntax=vbnet]$regfile...
zmienna integer integer bascom ujemne zmienna bascom
hyundai falujące obroty uszczelka pokrywa pompa paliwo regulator ciśnienie paliwo corsa
bateria milwaukee antena wewnętrzna
Diagnoskop Autel - brak synchronizacji: przyczyny i rozwiązania TCL 50P615 Power Supply ICs: NCP1653B, NCP1397B, OB2269CP (283N20) on R51MW1-MPC2HG Chassis