Integer to nie jest zmienna tekstowa. Sprawdź w helpie jaki zakres ma ten typ zmiennej.
Witam Niedawno zauważyłem że masz tam coś namącone przy wyświetlaniu cyfr bo jest tam procedura "pokaztemp" a w niej obsługa przerwania. nie wiem o so chodzi :?: Sprawdź to, ale poustawiaj se końcówki wg. siebie mnie to chodziło na AT90S2313 : '*****1 Wire na wyświetlaczu LED na Płytce testowej *********** Config 1wire = Portd.5 Config Timer0 = Timer...
Witam Trochę dziwnie napisany masz ten program. Poniżej masz mój programik który mierzy temperature i wyświetla na 4 wyświetlaczach., powinien ci trochę zmienić tok myślenia (bez urazy):D Oczywiście musisz go dostosować do swojego projektu. '*****1 Wire na wyświetlaczu LED na Płytce testowej *********** $regfile "2313def.dat" $crystal = 4000000...
No bo zmiennej I2_single przypisujesz wartość całkowitą. I2 jest przecież bez części ułamkowej.
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...
Nie będę sie rozpisywał: Dim T1 As Single , T2 As Integer ... T1 = -123.50 T2 = T1 'bez części ułamkowej T2 = Round(T1) 'zaokrągli zgodnie z prawami arytmetyki ... Pozdrawiam Piotrek
Tak jak sivex napisał,zadeklarowałeś A jako integer. Nie pamiętam jak jest w języku basic (odległe czasy), ale w Qbasic są takie deklaracje: INTEGER A 16-bit signed integer variable. LONG A 32-bit signed integer variable. SINGLE A single-precision 32-bit floating-point variable. DOUBLE A double-precision 64-bit floating-point variable. STRING * n% A...
Mam rozwiązanie. Niech klawisz "0" nazywa się "C0" wtedy: Private Sub C0_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) C0.BackColor = &H80000010 ' Zmieniamy kolor przycisku End Sub Dla klawisza "1", który nazywa się "C1" Private Sub C1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer,...
Histereza jest zadeklarowana jako Single. Zmień to na Integer bo szkoda miejsca. Po tym ustaw Histereza = 20 i powinno jakoś działać. Temperatura 60st.C to u Ciebie I1 = 600 a przecinek jest dorysowywany funkcją Format. Dlatego różnica stopnia to różnica równa 10 a nie jeden.
Może jednak wędkę potrzebujesz: http://bfy.tw/2mse [syntax=vbscript]Sub Rand100(ByRef tb() As Single) Dim y, x As Integer For y = LBound(tb, 1) To UBound(tb, 1) For x = LBound(tb, 2) To UBound(tb, 2) tb(y, x) = Int(10 * Rnd()) Next x Next y End Sub Sub Test1() Dim a() As Single ReDim a(1 To 3, 1 To 3) Rand100 tb:=a MsgBox ("Pasuje: " & CountIf(a, "=9"))...
więc kanał możesz otworzyć tak: Open "COM1:" for RANDOM as #1 Szybkość ustawiasz za pomocą polecenia BAUD lub $BAUD na początku programu jeśli nie masz zamiaru tego zmieniać w programie Liczba 123,45 nie jest liczbą typu integer tylko single. Liczby typu integer są to liczby całkowite. przykład nadajnik: Dim a as integer Dim al as byte...
[syntax=vb] Sub Generuj() Dim i As Integer Sheets("Liczby").Select Randomize For i = 1 To 4 Cells(2, i + 1) = Int(Rnd() * 30) + 15 'B2:E2 Next End Sub Sub CommandButton2_Click() Call Generuj Range("F20").FormulaLocal = "=SUMA(B2:E2)" Call Mnozenie MsgBox "Oto suma: " & Range("F20") End Sub Sub Mnozenie() Dim Mnoznik As Single, i As Integer Mnoznik =...
Stwórz tablicę za pomocą: Dim Zmienna(5) As Byte 'lub Word, Integer, Long, Single, Double... Przed zapisem aktualnej wartości do Zmienna(1), przesuń wartości z 1, 2, 3, 4 o jeden indeks (na 2, 3, 4, 5). Pamiętaj aby zrobić to tak, by nie "zamazać" wartości przy przesuwaniu. Potem zapisujesz aktualną wartość do Zmienna(1) i masz komplet, który...
... Może ktoś wie jak to zrobić bez sztucznego sprawdzania i dopisywania końcówek. PL Ja chyba wiem ;) 'dla Frm = 0 , kompiluje Fusing() 'dla Frm = 1 , kompiluje Format() 'teraz mozna porównać "pamięciożerność" Const Frm = 0 Dim A As Single , B As Integer , C As String * 10 A = 1.1625 B = A * 10 #if Frm C = Str(b)...
Bardzo przepraszam za odkopywanie tematu. Ale mam pytanie Czy tak samo można robić ze zmiennymi single -> integer i odwrotnie. Czy konieczne jest do tego typu operacji angażowanie kolejnej zmiennej ? Czy istnieje inny sposób ?
W Twojem przykladze Dim pn As Integer wtedy 2+0,5=2 (0,5 jest Single)
A coś więcej??
Poprawiłem - nie sprawdzałem. Dim Odczyt(2) As Byte dim T As Integer dim T1 As Single dim T2 As Single Dim Temp As Long Do Ds18b20 Print Temp Wait 1 Loop End Sub Ds18b20 1wreset 1wwrite &HCC 1wwrite &H44 Waitms 750 1wreset 1wwrite &HCC 1wwrite &HBE Odczyt(1) = 1wread(2) T = Odczyt(2) Shift T , Left , 8 T = T + Odczyt(1)...
Przy przepisywaniu danych masz jeden błąd, pierwsza dana z linii DATA nie zostanie przepisana do tablicy. Numeracja elementów w tablicy DIM zaczyna się od 1, a numeracja elementów danych pobieranych przez Lookup zaczyna się od 0 :) . W BASCOMIE od wersji 2.0.0.0 można zmienić w jaki sposób będą numerowane elementy w tablicy DIM: A gdybym chciał przechowywać...
Ja bym zrobił to tak mam zmienną "a" typu single np potem dziele ją przez 10 a = a / 10 potem przepisuje ją do zmiennej typu np integer np "b" , ktora to automatycznie odcina, zostawia mi tylko liczby całkowite a potem znów mogę ją przepisać do a lub innej a = b zienną typu single można by potraktować tylko jako pomocniczą do obliczeń ale są zapewne...
Ten twój kod jest niezbyt optymalny i w dodatku zgubiłeś warunek dodatkowy w ostatnich dwóch edycjach. Przy okazji zalecam stosowanie Syntax bo inaczej prędzej czy później moderacja się do tego doczepi. U mnie wychodzi 503316480 wyników (iloczyn wielkości przedziałów). Oczywiście po przejściu przez 9 pętli zoptymalizowanych poprzez liczenie maksymalnej...
Coś nie mogę znaleźć właściwego tematu. Wypróbuj taki przykładowy Option Explicit Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub proba() Dim a As Integer Dim startuj As Single, koniec As Single startuj = Timer For a = 1 To 3 MsgBox "Przebieg " & a Sleep 500 Next koniec = Timer MsgBox ("wykonano...
Stworzyłem coś takiego niestety nie chodzi poprawnie, nie pokazuje kątów 30, 60, dopiero przy 180 coś zaczyna się dziać. Dim X2 As Integer Dim Y2 As Integer Dim Newx As Integer Dim Newy As Integer Dim Newxx As Integer Dim Newyy As Integer Dim Kat As Single Dim Kat2 As Single Dim X As Integer Dim Y As Integer Dim T As Single Dim Z As Single Dim O As...
Witam! Mam tu taki kawałek kodu: Dim Tick_time As Single Dim Length As Single Dim Mps As Integer Dim Fps As Integer Dim Fff As Single Dim Tick_count As Integer Dim Czas As Single Tick_time = 0.000096 Czas = Tick_count * Tick_time Mps = Length / Czas Fff = Length / Czas Fff = Fff * 10 Fps = Fff / 3 Tick_count = 0 Cls Lcd Mps Lcd " m/s " Lowerline...
Kod wydaje się sprawować prawidłowo. Przecinek jest względny. Operacje na zmiennych z przecinkiem są męczące dla mikrokontrolera. Jesli nie jest to konieczne to należy ich unikać. Zauważ że sam DS nie wysyła Single tylko Integer. Każda zmienna z jednym miejscem po przecinku pomnożona przez dziesięć da liczbę całkowitą. Tutaj przecinek jest "wirtualny"...
http://cpu.userbenchmark.com/Compare/Int... "Single Core Integer Speed"wraz z wyjaśnieniem za co to odpowiada , niestety nie mam teraz tych procesorów pod ręką, więc nie wykonam samodzielnie testów i muszę się się posiłkować tymi z internetu.
To jest poprawiona i działająca wersja kodu Akane : var fValue: single; pIntValue: ^integer; begin pIntValue:=(at)fValue; pIntValue^:=$4479ACCD; end;
To odpowiem może wymijająco (bo nie do końca kojarzę różnicę) , że nie mam mieć kropek i po kropce nic ;p To spytał bym tak: chcesz mieć wynik z kropką i częścią ułamkową, ale częścią ułamkową równą zero: czyli xxx.00000?. Czyli wynik w zmiennej typu Single? Czy wynik bez części ułamkowej: xxx? Czyli wynik w zmiennej typu Integer? Ale już nie spytam...
Podstaw do pętli (w pliku 'turandot.xls'), jeśli to te same pliki.[syntax=vb]Sub AddProcToFiles() Dim nazwa As String Dim sciezka As String Dim licznik As Integer Dim start As Single, meta As Single start = Timer sciezka = "c:\vbide\" 'podstaw scieżkę do folderu z plikami nazwa = Dir(sciezka & "*.xls*") Application.EnableEvents = False Application.DisplayAlerts...
Mam problem z kodem w Delphi. Ponieważ w C++ w bardzo łatwy sposób można napisać funkcję, która zwraca tablice ( a właściwie wskaźnik do tablicy) Nie wiem jak to zrobić w Delphi. Mam funkcję i zdefiniowany swój typ kod poniżej: type tablica= array of Single; function LP(n:Integer; f0,fpr:Single):tablica; var hlp : array of Single;i:Integer;w0:Single;...
Może tak: (nie wiem czy działa, ale powinno). Dim A As Single Dim B As Integer A = 100.3 B = A :] Spróbuj:]
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...
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...
Zroblem co zaproponowaliscie i poskutkowalo - wielkosc kodu mniejsza od 2KB. Jako ze to nie do konca jest program mojego autorstwa mam pewne watpliwosci co do zmiany zmiennych z single na integer. Mianowicie: czy nie poskutkowalo to tym, ze z terometru (DS18B20) bedzie odczytywana jedynie wartosc calkoita?? Nie znam sie za dobrze na programowaniu wiec...
Chciałem sobie dostosować bascomowe polecenie Sound (pin, pulses, periodes) do PeCetowego Beep(f,t) w tym celu sobie napisałem 2 funkcje ale coś nie zabardzo to działa. Pierwszy raz w ogóle używam funkcji w bascomie, proszę o pomoc. $regfile = "m32def.dat" $crystal = 16000000 '16MHz Dim Pulses As Single Dim Periodes As Single Dim F As Integer...
Hehe czasem nawet spec od mikrokontrolerów może sie zagapić ale dzieki temu czegos sie dowiedziałem i nauczyłem :) Dodano po 3 A zumek jeszcze pytanko odnoście drugiej sprawy czy mam racje, że ten program obniża kazdą temperature z czujnika o 1 stopień?? Sposób zapisu liczby chyba nie ma znaczenia (single, word, integer) bo to przecież i tak ta sama...
Witam Mam liczbę integer 47 którą zamieniam na single i dzielę przez 10 , wynik to 4.69999806 . I teraz w jaki sposób uzyskać dwie liczby integer całkowitą czyli 4 i ułamkową po zaokrągleniu czyli 7 ?
Jak zwykle zumek zaskakuje pozytywnie :D T1 ma być jako integer a T2 jako single.
Nie to sprawdzałem. Wygląda to jakby procedury odczytu DS-a działały bo ta temperatura wyświetlana -0.1 o tym świadczy. DS jest zasilany z 3,3V i wyczytałem że przy takim zasilaniu rezystor podciągający linie DQ ma mieć około 2k i taki mam. Ale z rezystorem 4,7k też nie działało. Gdzie to wyczytałeś? Datasheet nic na ten temat nie mówi, poza "Can be...
Urządzenie wysyła dane po otrzymaniu znaku "W" Udało mi się pokonać problem z odczytem danych jednoznakowych. Aktualnie program wygląda tak: Private Sub Command2_Click() MSComm1.Output = "A" End Sub Private Sub Command2_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) Timer1.Enabled = True End Sub Private...
$regfile = "M8def.dat" $crystal = 8000000 $hwstack = 32 $swstack = 32 $framesize = 32 '---------------------------------------... Dim Adc_data As Integer Dim S As Single Dim L As Long Dim Text As String * 30 '---------------------------------------... Portb = &B00000000...
Zmieniałem to też, na i nic: Dim Odczyt(2) As Byte ,T As Integer, T1 As Single Ale masz rację powinny być te zmienne zapisane jak wyżej. :)
Najprostszy dolnoprzepustowy filtr programowy: dim vs as single, sr as single, kfil as single, kfil1 as single, vi as integer coef=0.0049 kfil=... 'stała "czasowa" filtracji kfil1=kfil+1 vi=getadc(...) sr=vi*coef 'inicjowanie sredniej do ... vi=getadc(...) vs=vi*coef sr=kfil*sr sr=sr+vs sr=sr/kfil1 'średnia "ciągnięta"...
Witam. Sprawdź w ten sposób: $crystal = 1000000 'deklaracja częstotliwosci pracy kwarcu $regfile "attiny2313.dat" 'model procesora dla którego jest ten program Deflcdchar 1 , 14 , 17 , 17 , 14 , 32 , 32 , 32 , 32 ' definicja znaku stopnia Config 1wire = Portd.5 ' konfiguracja portu PD.5 jako wejscia magistrali 1-wire Dim Odczyt(2)...
Nigdy nie miałem tego sensora u siebie i dlatego nie czytałem dokumentacji i koła od nowa tez nie chciałem wymyślać. Jest gotowy kod na to na innym forum. On moze obsługiwać więcej czujników. Najważniejsze że pokazane jest jak do tego Twojego dodać obsługę temperatur ujemnych. [syntax=vbnet] ' ' Sensor DHT22 ' Insanity ' $regfile = "m328pdef.dat" $hwstack...
Mam być może prosty problem ale od kilku godzin nie jestem w stanie znaleźć rozwiązania szukając w zasobach sieci. Poniżej przykładowy kod dla programu gdzie wprowadzamy liczbę płatności a następnie kwoty płatności. Liczba płatności zadeklarowana jako Integer a kwota jako Single. Wpisując w InputBox zamiast wartości liczbowych jakiś tekst program się...
Czy można przez konwersję BCD wyciągnąć znak (temperatura dodatnia/ ujemna) Wynik zczytywany jest do zmiennej Integer(nie Single, żeby od razu odciąć część ułamkową) dalej poprzez BCD uzyskuję liczbę dziesiątek i jedności. Wszystko działa tylko jeśli temperatura spadnie poniżej 0, zaczyna liczyć od końca. W jaki sposób można oddzielić znak "-" ze zmiennej...
Jest to kod z Pana Wiązani być może nieudolnie przerobiony. Oryginał ma tak: Dim licz_8ms As Byte Incr Licz_8ms If Licz_8ms = 125 Then ............. I to działa, czyli ja nie mogę używać liczby stałoprzecinkowej . No dokładnie. To działa tylko dla Byte (i podobnych). Chociaż typ danych Single mówi, iz może przyjmować wartości stało i zmiennoprzcinkowe....
Kod jest dosyć długawy. Wstawię tylko początek na razie: $regfile = "m16def.dat" $crystal = 4050000 Config Kbd = Portd Config Lcd = 16 * 1a Cursor Off Deflcdchar 1 , 32 , 32 , 32 , 32 , 32 , 10 , 10 , 4 ' v Cls Deflcdchar 2 , 32 , 32 , 32 , 4 , 12 , 4 , 4 , 5 '1 Cls Deflcdchar 3 , 32 , 32 , 32 , 6 , 9 , 2 , 4 , 15 '2 Cls Dim Key As Byte Dim...
Dzięki. Aby to zadziałało musiałem w programie zadeklarować moduł SYSUTILS. Potem pomęczyłem się z dzieleniem (INTEGER musiałem przekształcić na SINGLE i potem zastosowałem ROUND by wyświetlić część całkowitą wyniku z dzielenia).
Udało mi się zrobić sinusa. Niestety programik jest troche zagmatwany no ale w miarę działa. Liczy z dość dużą dokładnością jeśli podamy mu kąt w zakresie od -180 do 180: $large 'Sin(x) Dim X As Single Dim Wynik As Single Dim Liczba As Integer Dim Silnia As Long Dim Sin As Single Declare Sub Silnia(liczba As Integer) Declare Sub Sin(x...
Andy74 podany przez Ciebie sposób niby działa, ale... po zamianie zmiennej single na int i przypisaniu jej wartości znowu do zmiennej single wyświetlana wartość będzie w postaci np. 5.0. Zeby się pozbyć tego zera po przecinku zmienna do której przypisujemy musi być typu integer , np. Dim A As Single , B As Integer A = 20 / 4 Lcd "n1= " ; A...
Ja to zrobiłem na Attiny13, temperatura jest określona na stałe, taka byłą specyfika mojego projektu laminatora (do folii UV). Kod był zaczerpnięty z sieci, lekko go zmodyfikowałem. Pamiętam, że teoria nie pokrywała się z praktyką i musiałem wpisać temperaturę z przesunięciem o kilka stopni. [syntax=vbnet]' Uk³ad z sam¹ diod¹ dzia³ao...
Napisałem taki prosty program do rysowania na LCD graficznym przy użyciu panelu dotykowego, podłączonego do ADC: Wszystkie operacje matematyczne mogą być przeprowadzane na liczbach typu Single. Można także dokonywać konwersji (niejawnej) z typu Single na Integer lub Word, i odwrotnie: Dim I As Integer, S As Single S = 100.1 'przypisujemy liczbę zmiennoprzecinkową...
$large Config 1wire = P1.1 Dim Ar1(9) As Byte , Tmp As Byte , A As Byte , T1 As Byte Dim T As Single Dim Licznik As Byte Dim Temperatura(4) As Integer Licznik = 0 Cls Main: Waitms 25 Incr Licznik If Licznik = 1 Then Config 1wire = P1.1 1wreset 1wwrite &HCC 1wwrite &H44 Config 1wire = P1.2 1wreset 1wwrite &HCC 1wwrite &H44 Config 1wire = P1.3 1wreset...
Witam ! Przesylam uartem sobie zmienna single(4bajty) a w drugim procku ją odbieram, dostaje 4 bajty ktore nie mam pojecia jak wbic do zmiennej single i jak to zrobic najszybciej. Probowalem uzywac SHIFT Zmienna, left ale dziala to tak jak powinno jedynie na zmiennych: byte, integer, word, long. bede wdzieczny za pomoc. Pozdrawiam !
... Fejnie by było obciąć kilka zer po przecinku... Ostatni prezent i zapewne nowość dla niektórych użytkowników Bascoma. Kompilacja warunkowa: $regfile = "2313def.dat" Config Lcd = 16 * 2 '***** Kompilacja warunkowa **** Const Sing = 0 'Obliczenia Sing=1 ->Single(float) , Sing=0 -> Long(int) Const Uv = 1 'Rozdzielczość...
Po pierwsze, jest zmienna o nazwie "swr" oraz próba deklaracji podprogramu o tej samej nazwie. Najprościej zmienić nazwę podprogramu na inną. Taki kod mi się skompilował: [syntax=vbnet] '---------------------------------------... ' SWR-Meter DL8UA '---------------------------------------... $regfile = "m8def.dat" $crystal...
Nie wiem na które pcb patrzysz , to ostatnie do pełnej wersji z pomiarem prądu i napięcia ,patrzę i widzę że jest OK . pin40 i pin39 są podpięte do dzielnika kondensator żeby nie pływał pomiar zbytnio. nie widzę tego o czym piszesz . Wieczorem sprawdzę jeszcze raz i podam zaktualizowane . Ok jest wieczór więc zamieściłem na 2 str. schemat i pcb w eagle...
:) witam Po pierwsze nie mozesz do PWM do dac 2.55 poniewaz PWM dziala na liczbach typu integer, czyli calkowitych :) i nie wiem czemu sie dziwisz ze Ci wyswietla 85, prosta operacja matematyczna :) 255/2.55, procesor robi zaokraglenie 2.55 do 3, 255/3 daje Ci 85... Tak samo dodawanie wartosci 2.55 zakonczy sie rezultatem dodawania 3-ki. mozesz to sobie...
Problem był z deklaracją zmiennej :) Takie małe przeoczenie :idea: $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0 , Deflcdchar 0 , 21 , 14 , 14 , 31 , 31 , 14 , 14 , 21 ' replace ? with number (0-7) Config...
Przetestuję i zobaczę, ale dla częstotliwości zegara taktującego atmegę równej 16MHz to powinno dość krótko chyba trwać. Zobaczę i zmierzę w praktyce. Szczerze mówiąc nie wiem, ile będzie trwało. Nie wiem też, jak to skompiluje Bascom. Najlepiej sprawdź. Tablicę można zrobić, tylko do tablicy nie mogę wpisywać wartości Single, a zmienna całkowita Integer...
Witam, pozwoliłem sobie na drobną modyfikacje Twojego kodu. Dobrze się przyglądnij, porównaj działanie w symulatorze a zobaczysz gdzie jest błąd. Powodzenia!!! $regfile = "m8def.dat" $crystal = 8000000 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 Config...
używam VB 2010 express i instrukcja open nie działa Ja używam VB2005EE bo .Net 4 psuje mi komunikację z faxem, ale to bez znaczenia bo kod jest kompatybilny w górę: sprowadzić do stringa Można, ale jak widać wyżej w vb.net nie trzeba :D
Kombinuje z tym formatem i juz mam prawie rozwiazany problem tylko jak wyswietlić liczbe bez przecinka i zera po nim czyli zamiast 12.0 ma byc 12 ? Ok już po problemie-zacmiło mnie bo późno i piwo czeka:-) wystarczyło odpowiednie zmienne zrobic jako word i integer:-) Oto moja procedurka formatujaca liczby do dowolnej ilosci mejsc po przecinku bez uzycia...
Hmm, ciekawy przypadek. Podziel przez 10 i zwróć dzien + mies jako liczbę... Np [syntax=vbscript]Function DataS(str As String) As Double Dim tbl As Variant, dta As Variant, i As Integer Dim dzien As Integer, mies As Single tbl = Array("sty", "lut", "mar", "kwi", "maj", "cze", "lip", "sie", "wrz", "paź", "lis", "gru") dta = Split(str, ".") dzien = dta(0)...
Musisz jakoś wymusić aby ta sekcja nie znajdowała się w pliku hex (podobnie jak sekcja .bss). Jak to zrobić z linii komend - nie wiem (; W skrypcie linkera dodajesz "(NOLOAD)" zaraz za nazwą sekcji (już wewnątrz SECTIONS { }). Swoją drogą wg dokumentacji ld składnia której powinieneś użyć wygląda trochę inaczej: --section-start=sectionname=org Locate...
... po dodaniu tego kod zaczyna bardzo długo pracować ... Nie obserwuję tego na "prostych" danych, ale spróbuj może w ten sposób: [syntax=vbscript]Option Explicit Sub Czysc_Wszystko_2() Dim czas As Single: czas = Timer If MsgBox("Wyczyścić wszystkie formularze 'Dniówek'?", vbQuestion + vbYesNo, "Potwierdź") = vbNo Then Exit Sub Dim i As Integer, w...
Cursor Off For Z = 1 To 10 P = P + Getadc(3) Next T '----pobieranie P = P / 10 V = P / 204.5 A = Frac(v) V = Int(v) A = A * 100 R = Int(a) + 0 C = V Home Upper Lcd "5v. : V = " Lcd C Lcd "." Lcd R P = P / 10 A = P * 1.955 A = Frac(v) V = Int(v) A = A * 100 R = Int(a) +...
Sprawdziłem przed chwilą na mojej ATMEGA32 kod: [syntax=basic4gl]$regfile = "m32def.dat" ' specify the used micro $crystal = 11059200 ' used crystal frequency $baud = 115200 ' use baud rate Dim W As Integer Config Adc = Single , Prescaler = Auto , Reference = Avcc Config Porta = Input Porta = 0 Start Adc Do W = Getadc(0) Waitms 200 Print W Loop End[/syntax]...
z tymi procedurami w bascomie to bym sie zastanowił. bascom bardzo rozwlekle pisze odwołanie do porcedur. raczej trzeba by sie pozbyć zmiennych single i najlepiej zrobić 2 zmienne byte ewentualnie integer, longi też sie mulą. napewno zmień te długie ify bo to ci żre tyle co niemiara. jak troche pomyślisz to ten kod sie zmiesic 2 kilo i jeszcze będzie...
Witam. Potrzebuję zrobić coś takiego, by po najechaniu kursorem na przycisk wyświetlił się w jakiejś rameczce jakiś tam tekst (coś w stylu jak po najechaniu kursorem na przycisk „cytuj” tu na forum i żeby ta ramka znikała po odsunięciu kursora z przycisku. Próbowałem wykorzystać zdarzenie MouseMove oraz MsgBox Private Sub CommandButton1_MouseMove(ByVal...
Może spróbuj przesunąć przecinek: zmienna x 10 lub 100 Wykonać obliczenia np na byte (jeśli wynik mniejszy od 255) lub na word/integer Potem z powrotem przesuń przecinek. Pozdrawiam.
Problem z zliczaniem impulsów rozwiązany ale mam nowy problem z wyświetlaniem wyniku zdjęcia w załączniku. $regfile = "2313def.dat" $crystal = 8000000 Config Timer0 = Counter , Edge = Falling Config Timer1 = Timer , Prescale = 256 Load Timer1 , 31256 Config Portd.4 = Input Set Portd.4 Dim Dr As Single Dim Licz As Byte Dim D1 As Single Dim...
Dla DS 1820 Dim Temp As Integer Dim Temperatura As Single Dim Wynik(9) As Byte Dim T As Single Dim Tp As Single Temp = Makeint(wynik(1) , Wynik(2)) Temperatura = Temp / 2' Temperatuta - temperatura z dokładnością do 0,5'C T = Wynik(8) - Wynik(7) T = T / Wynik(8) Temperatura = Temperatura - 0.25...
Poprawilem wzór, kombinowałem z różnymi ustawieniami i dalej to samo. Zauważyłem coś ciekawego: napięcie zasilania mam 5.18V, napięcie na PCF8583 mam 4.48 (zmniejszone ponieważ puściłem przez diodę). Przylutowałem przewód bezpośrednio z nużki procka do nużki tego PCF i tu ciekawostka. Procek pokazuje napięcie na tej nużce 5.11V ale jak przyłożę końcówkę...
Twoja pętla przypisuje kilkukrotnie te same wartości tym samym zmiennym. Dla mnie to nie ma sensu. Zobacz ten przykład działania pętli Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub proba() Dim Tekst As String Dim wartosc As Variant Dim a As Integer Dim startuj As Single, koniec As Single startuj...
Witam Kolego Unreal89. Pracuję pod Bascomem 8051 i nie spotkałem się z funkcją, o której wspominasz. Przejrzałem pliki help'a i tam również nic nie znalazłem. Zainteresowany jestem z jakiego powodu odpada komenda "fusing"? Dla czego pytam? Pozwolę sobie obszerniej skomentować zaprezentowany listing. 1. Termometr DS18B20 przechowuje informacje o temperaturze...
Zmień Dim Pre2 As Integer na Dim Pre2 As Word Pozdrawiam
spróbuj tego: Temp: Deflcdchar 1 , 12 , 18 , 18 , 12 , 32 , 32 , 32 , 32 Dim H As String * 5 Dim Odczyt As Integer Dim T As Single 1wreset 1wwrite &HCC 1wwrite &H44 Waitms 250 Waitms 250 1wreset 1wwrite &HCC 1wwrite &HBE Odczyt = 1wread(2) T = Odczyt - 16 T = T * 10 T = T \ 16 T = T \ 10 Locate 1 , 1 H = Fusing(t , "#.#") Lcd H ; Chr(1) ; "C" Return
...Nadal mam problem z minusem, zastosowalem funkcje Abs i nie ma juz tego "automatycznego minusa" ale wszystko dziala dopuki stosuje Ttt = Abs(ttt) tylko do wskazan z jednego czujnika. gdy zrobie to samo dla drugiego mimo, ze stosuje dwie nazwy (Ttt1 i Ttt2) to ta funkcja przestaje dzialac i mimo ujemnych temp minus sie nie wyswietla. Co jest nie...
Witam Napisałem drobny program do sterowania pompką ciepłej wody. Program działa poprawnie ale po 2-3 dniach mam problem z wyświetlaczem - znika mi dolna linia, prośba o informację czy ktoś spotkał się z podobnym problemem. Dodam tylko tyle że reszta działa poprawnie. Kod programu poniżej http://obrazki.elektroda.pl/2312168600_1... [syntax=basic4gl]...
Witam Wziąłem się za mikser kanałów do modelu zdalnie sterowanego. Po długich poszukiwaniach i kilku (no dobra - kilku set ;) ) próbach znalazłem instrukcję pulsein. Wiem, że to softwarowe itd, ale z odbiornika w modelu dobrze odczytuje sygnały PWM. Więc podłączyłem serwo i programowo połączyłem je z tym co pulsein odczytuje. Na serwo wysyłam długość...
Racja, mój bład. Mam taki kod. $regfile = "m16def.dat" $crystal = 16000000 Config Lcdpin = Pin , Rs = Portc.2 , E = Portc.3 , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 Config Lcd = 16 * 2 Config Portc = Output Set Portc.1 Cursor Off Config 1wire = Portd.5 ' + jumper J2 B-C Dim Odczyt(2) As Byte , A As Byte , Licznik...
Witam. Mam program do obsługi wyświetlacza z siemensa S65 na sterowniku LS020... ściągnięty ze [url=http://evertdekker.com/?p=304]stron... Program działa poprawnie poza rysowaniem linii w pionie. Zauważyłem to już dawno przy okazji uruchamiania innego programu na inny wyświetlacz oczywiście program z jego strony. Pisałem nawet do autora ale bez odzewu....
Musisz przeciąć na płytce ścieżki łączące ELM z układem UART/USB. Następnie w linie RX i TX musisz się wlutować mikrokontrolerem i możesz już bezpośrednio odpytywać ELM kodami sterującymi. Masz poniżej wstawkę z bascoma, której z 10 lat temu używałem ;) [syntax=vbnet] Dim Templ As Byte Dim Tempm As Byte Dim Temp As Integer Dim Stemp As Single Dim Dane...
Głośnik podłączyłeś do pinu 4 (D2), więc dla stanu wysokiego wysyłasz na port liczbę 4 (czyli 00000100). Równie dobrze mógłbyś wysłać 100, ale nie ma potrzeby generować danej częstotliwości na pozostałych pinach. Dajesz do Form1 kontrolkę Timer1 i ustawiasz jej wartość Interval na ok 10 (wartość 20ms w Timerze wygeneruje na głośniku częstotliwość 25Hz,...
po co to: Enable Interrupts Wait 1 Disable Interrupts ?? warto dac tez czas ok 750ms na konwersje dsowi ja polecam cos takiego Dim Odczyt(2) As Byte , T As Integer , Tt As Single , Napis As String * 5 1wreset 1wwrite &HCC 1wwrite &H44 Waitms 750 1wreset 1wwrite &HCC 1wwrite &HBE Odczyt(1) = 1wread(2) T = Odczyt(2) Shift T , Left , 8 Tt = T + Odczyt(1)...
Witam wszystkich forumowiczow. Mam problem z termometrem dwu punktowym na DS1820. Problem polega na tym ze jesli temp jest dodatnia to wszystko jest ok ale problem mam z ujemnymi. Rozdzielczosc jest do 0.1 stopnia. Jezeli temperatura spadnie ponizej zera to jej wartosc wynosi 0.1 czyli -1 stopien. Wydzielilem z 0.1 jedynke i jest Ok ale jezeli temp...
Witam Mam problemy z fazami w domu. chciałbym mieć stały pomiar wyświetlany na LCD i w przypadku przekroczenia napięcia 240V zapalaną diodę led podpiętą do nóżek procka(docelowo będą to przekaźniki) i sygnał dźwiękowy na syrence. Wykonałem w bascomie miernik faz na atmega8, tryb zaokrąglania wyniku zaczerpnąłem z jednego kodu z forum. Płytka z układem...
Cześć napisałem program który działa ok ale tylko pozornie bo w symulacji. zawiesza mi sie na tej linijce jak go umieszcze w procku. .. .. Config Timer0 = Timer , Prescale = 64 Config Adc = Free , Prescaler = Auto , Reference = Avcc Start Adc Dim Sek As Byte Dim Minuta As Byte Dim Godzina As Byte Dim Krok As Byte Dim A As Integer Dim B As Byte Dim C...
Config 1wire = Pinc.4 Dim Bd(9) As Byte Dim Z As Integer , Tmp As Integer Dim T As Integer , T1 As Integer Dim Temperatura As Single Declare Sub Temperatura1 Cls Call Temperatura1 Do Call Temperatura1 Cls Lcd "TEMP " ; Temperatura Loop Sub Temperatura1 1wreset 1wwrite &HCC 1wwrite &H44 Wait 1 1wreset 1wwrite &HCC 1wwrite &HBE Bd(1) = 1wread(9) 1wreset...
Witam, właśnie zabrałem się za budowę termostatu- ma być oparty na układzie DS18B20 i napisałem prosty program w Bascomie Config 1wire = Portd.5 ' + jumper J2 B-C Dim Odczyt(2) As Byte , A As Byte , Licznik As Byte , T As Integer , T1 As Single Do 1wreset 'reset 1wwrite &HCC 'jedna kostka, więc wykorzystujemy rozkaz SKIP ROM 1wwrite &H44 'dokonaj...
Wielkie dzięki za pomoc. Używam zmiennej typu Single ponieważ w dalszej części występuje dzielenie i pojawiają się liczby zmiennoprzecinkowe a z tego co sie orientuje to Word ani Integer takiej możliwości nie mają (chyba, że mają?) :)
Witam. Mając trochę wolnego czasu postanowiłem wrócić do zmagań z PIDem. W sieci znalazłem program PIDa w Bascomie na Atmegę8 (maluszek Attiny2313 okazał się niestety za mały). W programie wyłączyłem różniczkowanie - aby było łatwiej. Program działa dość dobrze tzn. obroty utrzymują się na żądanym poziomie ale troszkę oscylują wokół wartości zadanej....
Mnóstwo obliczeń na typie SINGLE (coś paskudnego) :). Bardzo ważne pytanie. Jakie masz ustawienia stosu? Z tego co widzę dużo tych obliczeń można uprościć i wykonać na typie WORD/INTEGER i właśnie w tym w połączeniu ze stosem może być problem.
Witam. Po dłuższej przerwie wracam do tematu stabilizatora. Zmagając się z regulatorem na wzmacniaczach operacyjnych postanowiłem jednak pójść w stronę regulatora na mikroprocesorze. W sieci znalazłem program PID-a w Bascomie na Atmege8, w którym wyłączyłem człon różniczkujący. Regulator działa średnio dobrze tzn. obroty wciąż oscylują wokół wartości...
Witam! Napisałem sobie program do komunikacji ze sterownikiem PLC. Wszystko działa jak należy, tylko nie daje mi spokoju jedna sprawa. Czy istnieje jakiś sposób wykonania tej samej operacji na wielu zmiennych (typu structure)? Chodzi mi mianowicie o to, że zadeklarowałem sobie taką strukturę: [syntax=vb] Structure DI 'Zmienne typu DigitalIn Dim Nazwa...
Oto nowy kod: [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portb.6 , E = Portd.1 , Rs = Portd.0 Config Lcd = 16 * 2 Cls Cursor Off '****CONFIG**** Config Adc = Free , Prescaler = Auto , Reference = Avcc '****KONIEC CONFIG**** '****CONFIG ZMIENNYCH**** Dim Wynik...
Niech kolega sprawdzi, bo nie testowałem, ale powinno działać co 0,1°C. [syntax=basic4gl]'Regulowany termostat cyfrowy 'Projekt wykonał Krzysztof Gońka $regfile = "m8def.dat" $crystal = 1000000 Config Portb = &B11000001 Portb = &B11111111 Config Portd = &B11111111 Portd = &B11111111 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3...
integer string integer overflow stringi integer
spryskiwacz megane testowy audio taśma clarion
wzmacniacz słuchawkowy wzmacniacz słuchawkowy
Zamienniki modułu komfortu 7M3962158BB VW Sharan – kompatybilność i kodowanie Hako V490 – lata produkcji traktorka komunalnego, numery seryjne, silniki ILO/MAG, Hatz