Źle definiujesz typ zmiennych. Żeby można wykonywać operacje zmiennoprzecinkowe, typ zmiennych powinien być single lub double. Dim Dawka_temp As Single, Dawka As Single
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ć...
proponuje lekturę pomocy: "Word (two bytes). Words are stored as unsigned sixteen-bit binary numbers ranging in value from 0 to 65535. " ;) użyj single lub double
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...
Licz i przechowuj impulsy, potem w razie potrzeby zawsze możesz zawsze obliczyć ilość litrów. Sprawdź, czy pojemność zmiennej typu Single Ci wystarczy, czy nie będziesz potrzebował typu Double. Poszukaj programu licznika impulsów / częstościomierza, to pomoże Ci.
Witam jeszcze raz na tej stronie Jest tam wsad do procesora i plik źródłowy w bascomie oraz biblioteka i fonty do wyświetlacza z telefonu nokia. Zrobiłem ten układ i zaprogramowałem procesor oryginalnym plikiem si5351VFOv11.hex układ działa prawidłowo choć jeśli chodzi o przełączanie BFO z usb na lsb synteza nie zmienia częstotliwości jest cały czas...
1 Czy używasz timerów ? 2 25 zmiennych single i dużo operacji matematycznych ? Jeśli masz timery i dużo liczysz to może czas obliczeń przekracza czas trwania timera i program " idzie w krzaki " Sprawdź czy jeśli zmienne single zamienisz na np. double lub long ( nie dbając o prawidłowy wynik ) program też zawiśnie podaj kod może wymyślimy coś więcej
Hmmmm, liczba o 16 znakach to dość nieprecyzyjne określenie :] Jeżeli chodzi Ci o przechowanie 16 cyfr, każdą z osobna, to oczywiście zwykły łańcuch tekstowy, czyli STRING (chyba tak to w bascomie sie zwie). Ale na stringach nie da się wykonywać operacji matematycznych na stringach (no dobra, da się, ale trzeba wszystko samemu od zera pisać :] ), operacje...
Ale - dla stringu "84.2" otrzymuję wartość zmiennej 84.199996946 Niestety rozdzielczość zmiennych typu Single jest skończona i nie można w nich zapisać każdej liczby zmiennoprzecinkowej. Jak sądzę, jest to problem konwersji do single - czy jest jakiś sposób, aby otrzymać tą wartość dokładnie taką jak w stringu ? Jeśli masz dużo pamięci RAM to zastosuj...
Zaokrąglenia single... na LCD. Powiem szczerze ze pomysłów mi już brakło. Spróbuj więc takiej funkcji: CONFIG SINGLE = SCIENTIFIC , DIGITS =1 co obcina zbędne miejsca zmiennej 'single' do jednego miejsca po decimal point. Zamiast 1 może byc dowolna wartośc w zakresie 1 do 7. albo jak wyżej "FUSING". e marcus Ta funkcja również zaokrągla ?, działa przy...
To znaczy że nie wiem jak się za tą double zabrać. Jeśli jest to potrzebne, to proponuję na początek obejrzeć np. w pracy krokowej reprezentacje prostych liczb. Dim S As Single 'double Dim Sx As String * 10 S = 1 Sx = Hex(s) S = 0.5 Sx = Hex(s) S = 0.25 Sx = Hex(s) S = 1.001 Sx = Hex(s) S = 2 Sx = Hex(s) S =...
Chyba w podobnym temacie umieściłem nawet film i Ty też... Musisz kiedyś zrozumieć dlaczego Single nazywa się Single a Double double :D Nie dość tego AVR nie wspierają sprżetowo pracy na liczbach "z przecinkiem" i lepiej jest i szybciej rozwiązywać takie sprawy na liczbach całkowitych. Są o tym temacie całe wywody i nie ma co się powtarzać bo pewnie...
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, 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ęć...
Aby obliczyć prawidłowe wartości stosów wystarczy znać swój program, zwłaszcza to co ze stosów korzysta najwięcej. - Ile jest przerwań i jak mogą się wywoływać wzajemnie. Każde przerwanie może odłożyć na stos prawie 40 bajtów w prologu. - Ile mamy wywołań podprogramów przez GOSUB. Ile mamy wywołań wbudowanych funkcji i czy korzystają z operacji na zmiennych...
Na mój gust do skoro mnozysz zmienną WORD przez stałą CONST o dokładności 0.0001 to dlaczego chcesz mieć wynik z dokadnością 1000 razy większą. To nie komputer PC. Ja bym zaokrąglił wynik do sensownej pozycji używanej przez kompilator ( w twoim przypadku 0.0001) i wynik się przecież zgadza. Problem jest typu: mmnożenie zmiennych typu SINGLE a wynik...
Do d... tutorial, zobacz w helpie do Bascoma. Long (four bytes). Longs are stored as signed 32-bit binary numbers ranging in value from -2147483648 to 2147483647. Single. Singles are stored as signed 32 bit binary numbers. Ranging in value from 1.5 x 10^–45 to 3.4 x 10^38 Double. Doubles are stored as signed 64 bit binary numbers. Ranging in value...
Taa, ciekawe, który _cast? Tutaj akurat nie ma i nie będzie, żadnego nadzorowania, bo trzeba przekształcić tablicę bajtów na strukturę. Rzutowanie ma tą zaletę, że nie trzeba niczego kopiować. Hmmm masz rację po głębszej analizie nadaje się chyba do tego tylko reinterpret_cast? Co prawda nic nie będzie nadzorował ale łatwiej go odnaleźć w programie...
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...
Elementary Data Types •Bit (1/8 byte). A bit can hold only the value 0 or 1. A group of 8 bits is called a byte. •Byte (1 byte). Bytes are stores as unsigned 8-bit binary numbers ranging in value from 0 to 255. •Integer (two bytes). Integers are stored as signed sixteen-bit binary numbers ranging in value from -32,768 to +32,767....
Niestety rpal, w bascomie integer jest tylko signed. Autor postu powinien użyć zmiennej typu word. · Bit (1/8 byte). A bit can hold only the value 0 or 1. A group of 8 bits is called a byte. · Byte (1 byte). Bytes are stores as unsigned 8-bit binary numbers ranging in value from 0 to 255. · Integer (two bytes). Integers are stored as...
Witam wszystkich Forumowiczow, do tej pory nigdy nie miałem potrzeby pisać postu bo wszystkie problemy rozwiązywałem opcja search ;-) az do tej chwili. buduje układ przetwornika AD 24 bitowego, ktory komunikuje sie z Atmega8 po SPI hardware a ta z kolei z moim PC po RS232. Docelowo maja byc 2/3 przetworniki, poki co jest jeden i walka trwa ;-) Całość...
'you can configure 4 DMA channels Config Dmach0 = Enabled , Burstlen = 2 , Chanrpt = Disabled , Tci = Off , Eil = Off , Sar = None , Sam = Inc , Dar = None , Dam = Fixed , Trigger = 0 , Btc = 2 , Repeat = 1 , Sadr = Varptr(array(2)) , Dadr = Varptr(dacb1) Start Dmach0 ' this will do a manual/software DMA transfer, when trigger<>0 you can use...
nie chcę siać zamętu, ale jeśli dobrze pamiętam to istnieje błąd w Bascomie, który źle kompiluje powrót w subie zawartym w przerwaniu (wstawia RETI zamiast RET) Obecnie takiego błędu kompilator nie wykazuje: ;---- test.bas ----------------------------------------... RJMP RESET RETI RETI RETI RETI RETI RETI...
Kol. Roko . Częściowo takie rzeczy pojawiły się już w polskiej pomocy do BASCOM-a On-Line. Obecnie jest jednak ona czasowo niedostępna. Przykład: BASCOM AVR - Tworzenie programu W trakcie edycji (...) Jak nie pisać programów. Dość często podczas przeglądania programów udostępnionych przez inne osoby da się zauważyć pewne charakterystyczne i powtarzane...
Witam! Kiedyś, gdzieś w internecie wyczytałem że Hard-spi to szybszy sposób komunikacji procesora z np. kartą sd niż SOFT-SPI. Bardzo długo męczyłem się żeby At128 dogadała się z kartą sd przez HARD-SPI ale w końcu się udało. Napisałem prosty program zapisujący na kartę zmienną typu byte jednocześnie licząc ilość tych zapisów w czasie 1sek. [syntax=vbnet]Wait...
Dzięki za pozdrowienia i za odpowiedź . A co do układu to jest automat do pokoju i ma sterować światłem rgb , halogenami , klawiatura umieszczona we włączniku+ dioda rgb ma sygnalizować jaka funkcja światła zostanie zmieniona , odczytać i zapisać i2c to zadanie dla attiny2313 . A atmega8 ma wyświetlać na wyświetlaczu co jest obecnie za funkcja , pobierać...
Pojedynczy Bit nie może być przekazywany do funkcji. Ogólnie tez działanie na Bitach powoduje małą oszczędność w zmiennych SRAM za to wymaga przyrostu kodu bo pojedynczy bit trzeba wyłuskać z całego bajtu. Przerabiałem kiedyś czyjś program na Attiny2313 i zamiana tych zapisów w całym kodzie : [syntax=vbnet]Jakis_bit = Not Jakis_bit[/syntax] na coś takiego...
Jeśli chodzi o temperatury to w zasadzie ma to być tylko jeden czujnik, procedura obsługi była zaczerpnięta z mojego poprzedniego programu dlatego tak zostało. Usunąłem też podział na etapy, który tutaj nie będzie potrzebny i poprawiłem resztę wg. Twoich wskazówek. Co do deklaracji portów, przyciski mam podciągnięte sprzętowo do 1. Wygląda to tak: [syntax=basic4gl]'----------------------...
[syntax=basic4gl] $regfile = "M32def.dat" $crystal = 16000000 '************************* WYSWIETLANIE-porty ********************************** Lcd_port_ddr0 Alias Ddrb Lcd_port1 Alias Portb Lcd_port_ddr1 Alias Ddrb Lcd_rs Alias Portb.lcd_rs_number Lcd_reset Alias Portb.lcd_reset_number Lcd_cs Alias Portb.lcd_cs_number Lcd_sck Alias Portb.lcd_sck_number...
No i wszystko niby działa (znaczy mogę dowolnie programować itd) ale apetyt rośnie w miare jedzenia. Dokleiłem sobie procedurkę bootloadera bo chciałbym mieć możliwość programowania Atmegi w układzie. No i tu się schody zaczynaja. Bo po pierwsze to nic przez uarta nie mogę się skomunikować, po drugie nie działa bootloader.(co pewnie wynika z problemu...
Witam ,właśnie zaczynam wzmagania z operacjami matematycznymi w BASCOM (jak dotąd nie były mi potrzebne) ;) Zauważyłem pewne zjawisko ,że po przekroczeniu 90% Flash przy kompilacji zaczynają się dziać dziwne rzeczy ,jakby stos czy ram niszczył zmienne i pojawiają się dziwne wyniki ,stąd z ATTINY2313 ,przeskoczyłem na Atmegę8. Ten sam program bez jakichkolwiek...
Witam, znalazłem kiedyś program napisany w asemblerze do kodowania POCSAGu z portu com komputera. Program działa ok ale gdy podłączę mikrokontroler Atmega8 i wysyłam przez Uart komendy do kodera POCSAG to muszę robić przerwy 12 sekundowe pomiędzy wysyłaniem komend. Nie znam asemblera i mam pytanie co zrobić by nie czekać tych kilkunastu sekund pomiędzy...
single bascom bascom double bascom single
klimatyzacja kompresor laguna odbiornik sygnał audio bluetooth saeco przepływomierz rozebrać
aopen zasilacz uszkodzony konwerter satelitarny
Skoda Superb Climatronic błąd B109E F0 – adaptacja sprężarki, czujnik G65, brak chłodzenia Volkswagen Passat TDI 2002 – objawy uszkodzonej pompy paliwa, szarpanie, gaśnięcie silnika