Integer to nie jest zmienna tekstowa. Sprawdź w helpie jaki zakres ma ten typ zmiennej.
Zajrzałem do skompilowanego pliku i widzę że kompilator w ogóle nie używa tu R2 i R3 więc mi je zostawił ;) Od pewnego czasu w Bascom do rejestrów można się odwoływać prosto z kodu. Ciekawe którą wersję Bascom masz. Pewnie znowu schody... U mnie program się kompiluje na 96% [syntax=vbnet] $regfile = "attiny13.dat" $crystal = 9600000 $hwstack = 16 $swstack...
(...) osobnym PinX i oczekuj na stan niski ADCx2 aż do spełnienia tego warunku. Jeśli na ADCx2 napięcia równe 0 mrugnij diodą Led1 jeden raz przez 300ms, wyłącz Przekaźnik1 na PinX Po czym wróć do góry procedury, do oczekiwania na napięcie na ADCx1 To właściwie tyle. Dziękuję za uwagę i wszelaką pomoc. Witam serdecznie na forum! Chętnie pomogę Ci przygotować...
Moze zmien algorytm tych obliczen. Wydaje mi ze ze jak po "Do" zrobisz od razu: [syntax=basic4gl]For Cykl = 1 To Y Z = ( Cykl * X ) \ Y Prc = ( 100* Cykl ) \ Y Call Oblicz Next Cykl[/syntax] to bedziesz mial co potrzebujesz i to bez uzywania single Nie znam dobrze Bascom, wiec jak nie mozna robic tylu operacji w jednej linii to dodaj zmienna pomocnicza...
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...
Można też zdefinować zmienna np tak: Zmienna As Single At &H80 i podstawić LDS r27, {b1} LDS r28, {b2} LDS r29, {b3} STS $80, r27 STS $81, r28 STS $82, r29
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...
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....
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...
Jeżeli to ma nic nie robić tylko generować impulsy, to po prostu może użyj Waitms. A jeżeli nie, zmieniaj wartość porównania w zależności od dodatkowej zmiennej. Np: $regfile = "m16def.dat" $crystal = 16000000 Dim A As Word 'Zmienna zwiększana i porównywana. Dim B As Byte 'Zmienna decydująca z jaką wartością będzie porównywana zmienna A. Config...
...Czy istnieje jakiś sposób, aby ostateczną zmienną 'Ss' (string) zapisać w zmiennej typu Single (lub innej?) aby umozliwic porównanie jej z tą zapisaną w eepromie? A może ktoś zna inną metodę na rozwiązanie tego problemu? Z Twojej wypowiedzi wynika , że nie wiele masz wspólnego z programowaniem uC - ale mniejsza z tym. Zmienna string jest potrzebna...
Można zadeklarować prawidłowo zmienną eeram W ten sposób Dim Adres_er(size_t_mac) As Eram Byte At Adres_p_mac Poprzez komende AT znam adres, po jaki będzie się odwoływać zmienna eeram w pamięci. Niestety, ale z Eepromem ten numer nie przejdzie , ponieważ Bascom ignoruje etykiety w Eepromie. Deklaruje, jakie wartości powinny być zapisane w eeram...
Witam!!! Mam problem z dodawaniem zmiennej single a mianowicie Dim test as single test = 0 do locate 1,1 lcd test Debounce Pinc.5 , 0 , A , Sub loop A: test = test + 0.1 i jak nacisnę przycisk raz to zamiast być 0.1 wyświetla 0.09999996 Dlaczego tak się dzieje??
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)=...
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 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.
Siemka mam taki problem zmienna a jest to całkowita zmienna b to ułamek (obie zmienne typ byte) jak je połączyć na single (s)? s = a . b
no ok, ale jeżeli zmienna Mnożnik_vład_2 ma wartość 0,01760 to po przypisaniu Mnożnik_vład = Val(mnożnik_vład_2) , zmienna Mnożnik_vład ma wartość 0,017599937 a żeby ją skrócić trzeba użyć instrukcji fusing nie może być jako single i koło się zamyka.
To wiemy Ty i ja, oraz inni, ale czy wie o tym tomaszdko ? Ta informacja jest umieszczona w pomocy do programu i łatwo ją znaleźć. Niestety jeżeli nie zna choćby podstaw Asemblera nie będzie wiedział do jakich rejestrów została zapisana zmienna Single. Przykład z modyfikacją zmiennej typu Single w przerwaniu to akurat bardzo zły przykład. I to nie...
witam . Dlaczego nie mogę skompilować tj; zmienna = zmienna / 4 kod bascom $regfile = "attiny13.dat" 'typ proca $crystal = 800000 Config Adc = Single , Prescaler = Auto , Reference = Avcc Config Timer0 = Pwm , Prescale = 8 , Compare B Pwm = Clear Up Dim B As Iram Word Config Portb.0 = Output Portb.0 = 0 Config Portb.1 = Output Portb.1 = 0 Dim Zmienna...
Nie wystarczy po prostu zadeklarować zmienna jako single ? Z mojego doświadczenia wynika że można i ze to bez problemu działa i że wystarczy polecenie zmienna = wartość żeby zapisać i tak samo odczytać przez proste wskazanie zmiennej - nie ma potrzeby zawracania sobie głowy adresem - to tylko bascom ;)
A jest możliwość zapisu danych w do MS Excela lub do csv w postaci tabel? Dlaczego 11 bajtów przy czterech naraz (a nie 8)? Niestety nie ma możliwości zapisu do excel'a, i ja nie potrafie tego zrobić. Wykres można zapisać do pliku *.grf Po otwarciu go w notatniku wygląda tak: Kurve 255 1462 0.00000000000000E+0000 0.00000000000000E+0000 9.99999999999446E-0004...
Czołem! Zmotałam sobie na szybko czujnik, który "uczy" się pierwotnego poziomu oświetlenia, a później pilnuje przekroczenia progu i niby wszystko OK. (LCD jest do testów, nie będzie go tam) [syntax=vbnet] $regfile = "m328pdef.dat" $crystal = 8000000 $hwstack=32 $swstack = 16 $framesize = 40 Set Portc.0 Declare Sub Kalibracja Config Portb.0 = Output...
Witam, mikroprocesor Atmega 8A odczytuje błędne dane z czujnika temperatury MLX90614 wersja 5V Sprawdzone rzeczy: -ciągłość połączeń -napięcie pomiędzy nóżkami zasilania -nowy mikrokontroler -definiowanie innych wejść sda i scl w atmedze - różne adresy zapisu i odczytu zapisu:&B00000000, &H5A odczytu:&B00000001 &H5B -różne napięcia podciągające schematy...
to tak jak byś chciał włożyć słonia do pudełka pa zapałkach. zmienna single to 4 bajty a byte to 1 bajt czyli 8 bitów wiec jeżeli wartosc zawarta w single jest nie wieksza niż 255 to da się to zrobić ale jeżeli jest w niej np. 100000 to nie da rady
Zmienna = -Zmienna ?
operacje na single zajmują więcej pamięci ( tracisz cenne miejsce na kod ) . Jeśli w pętli 100 razy wykonasz operacje na zmiennej SINGLE to na pewno będzie to wykonywane znacznie dłużej niż na zmiennej WORD . Dlatego do uśrednienia weź dane w postaci WORD lub LONG ( zmienna Wo czyli wartość odczytana ) , również porównania wartości rób na tych typach...
Czy tak jest poprawnie : [syntax=basic4gl] ' pulses zmienna word Vol = Pulses ' vol zmienna single Shift Vol , Left , 8 Vol = Vol + Counter0 Vol = Vol / Przep ' zmienna przepływówki zczutana z eeprom 250 i mozliwosć zmiany przez menu B = Vol ' b zmienna single C = B * Cena 'cena 1.36 zmiana przez menu W = B * Waga 'waga 1.36 zmiana przez menu ' wiem...
Witam serdecznie, Czy istnieje możliwość napisania przedstawionej pętli tak, aby jedno przejście wykonało się szybciej niż dotychczas (teraz jest to 287 taktów 0,0179375 ms Atmega8 16Mhz) [syntax=basic4gl] While K < Kroki Set Krok Waitus 5 Reset Krok Incr K Wend [/syntax] For... to... wykonuje się dłużej. Będę wdzięczny za podpowiedzi. Kod ma sterować...
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...
Miałeś pięć lat żeby odpowiedzieć bo wtedy toczyła się dyskusja :D Autorowi zależało też na tym aby zawsze było to pięć znaków. Bez tego w ogóle nic nie było by potrzebne bo wystarczy rzutować zmiennoprzecinkową na całkowitą. To odetnie przecinek. Autor napisał że na reszcie mu nie zależy. Wtedy wyświetlasz zmienna bezpośrednio bo Bascom sam dba o konwertowanie...
Za długość programu odpowiada zmienna najprawdopodobniej single. Na początek zmień Dim Wynik As Single na Dim Wynik As word oraz Wynik = Wynik / 16 na Wynik = Wynik \ 16
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...
Witam Jak odczytac dokładną wartośc z Timer0 (liczbę wszystkich impulsów), teraz zmienna A zbiera tylko same przepełnienia. [syntax=vbnet] $crystal = 8000000 config pind.4=input ' Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.5 , Rs = Portc.4 Config Lcd = 20 * 2 Cls Cursor Off Noblink Dim A As Single...
wymieniłem procesor i zamieniłem kolejność kodu ................ coś pomogło :) chyba zmiana kodu :) Raczej pomogła zmiana processora... Obie alternatywy kodu nie różnią się od siebie, ponadto patrz wyjaśnienia; mam jeszcze problem po przerobieniu na volty wyświetla mi np. 345 a powinno 3.45 stosuje: Pokaż w jaki sposób "przerabiasz" odczytaną wartośc...
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...
Config Adc = Single , Prescaler = Auto , Reference = Avcc do if getadc(0) = 1024 then {zapalemy 8 diód odpowiedzialnych za kanal 1} {i tak dalej metodą prób i blendów wartości zapalnia diód a potem to samo dla durgiego kanału} loop Jak już chcesz na if-ach to najpierw musisz wartość z przetwornika przypisać do jakiejś zmiennej...
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...
Możesz, to zrobić tak: Dim zmienna as single Dim part1 as byte at zmienna overlay Dim part2 as byte at zmienna+1 overlay Dim part3 as byte at zmienna+2 overlay Dim part4 as byte at zmienna+3 overlay Odebrane dane uartem wrzucasz kolejno do zmiennych 'part' w efekcie zapełniając 4bajty zmiennej 'zmienna' typu single.
Witam... Kolego <PiotrzePitucha> troszeczke nie rozumiem zapisu... nie spotkałem się jeszcze z takim zapisem.... mógłbyś mi to wytłumaczyć..?. Chciałbym jeszcze dodać kawałek kodu o który właściwie toczy się moja batalja.. Otóż chciałbym móc ustawiać zmienną SINGLE i zapisywać tą wartość do pamięci eeprom. Kod programu: Sub U_termostaty Cls Lcd...
K_o_n_r_a_d, jeżeli masz trochę czasu to przedstaw mi swój sposób zapisu/odczytu danych do/z EEPROM. Z góry dzięki. Ja to robię tak mniej więcej: Dim pomocnicza As single At 700 Dim X As Eram Single At 100 X=pomocnicza 'zapis do eeprom pomocnicza=X 'odczyt z eeprom Zrobiłem już dużo sterowników i innych urządzeń ale jeszcze nigdy nie używałem zmiennych...
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...
Żeby mikroprocesor pokazywał wartość w Woltach, trzeba przemnożyć wynik ADC przez działanie VREF/1023, wychodzi to około 0.0049. Jako, że czujnik lm35 daje 10mV na stopień, to autor tego programu, który przedstawiłeś pominął mnożenie wpierw wyniku przez 0.0049, by potem pomnożyć go przez 1000 (autor chciał uzyskać wynik np. 239 dla temperatury 23,9,...
Twoje działa, ale moje nie działa. Wklej mój kod w kompilator i zobacz co się dzieje [syntax=Bascom] $sim $regfile = "m8def.dat" $crystal = 16000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Rs = Portc.2 , E = Portc.3 , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 Cursor Off Noblink Cls Dim Cool As Word ' zmienna określająca wypełnienie...
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...
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! Tworzę kontroler swojej deski elektrycznej. Wszystko idzie po mojej myśli poza... Mnożeniem zmiennych przez liczby zmiennoprzecinkowe. Otóż stworzyłem taki kod: Dodano po 19 Więc tak.. Typ zmiennych A i B zamieniłem na Single, ale dalej mnie to nie satysfakcjonuje, bo miała być to zmienna "pojedynczej precyzji" czyli jak zakłądam tylko jedna...
co do pierwszej odpowiedzi to: mógłbyś mi powiedzieć gdzie dokładniej bo jakoś znaleźć nie mogłem, ktoś też mi mówił że widział na jakiejś stronie coś podobnego, ale jak dotąd ja tego nie znalazłem będe wdzięczny a co do drugiej odpowiedzi to: po co wogóle robić sobie woltomierz można kupić gotowy??? ja poprostu eksperymentuje z uC i właśnie robie sobie...
kod: Dodano po 5 Czekam na info, bo problem jednak nadal występuje. znalazłem na elektrodzie jeszcze coś takiego: " można pominąć wpis Reference, wtedy domyślnie Vref będzie ustawione na zewnętrzne źródło" ale to nie działa. Ten kod działa tylko dla Vref=AVcc przy: Reference=Off, Reference=Aref i oczywiście dla Reference=Avcc przy reference = Internal...
zmienna single single bascom bascom single
angielski kabel kolor panasonic niebieski karta pamięci uszkodzona
BOOTMGR is missing w Windows Vista – naprawa bez płyty instalacyjnej, marki Microsoft Renault Kangoo 1.2 16V 2006: różnice liczników P-8200336483-E vs P-8200336483-F