To może koledzy mają jakiś inny sposób na zamianę liczby z postaci zmiennoprzecinkowej w całkowitą? No to w końcu chcesz mieć liczbę całkowitą w zmiennej zmiennoprzecinkowej czy liczbę całkowitą w zmiennej całkowitej? Jak to drugie, no to Round: Dim Co2_w As Single Dim Co2_int As Long ... Co2_int = Round(co2_w) Niezgodnie z Helpem BASCOMa,...
W symulatorze jest wszystko OK, może zwiększ stos? A jeśli chodzi o czyszczenie to chodziło mi o CLS. Próbowałeś zaokrąglić wynik przed wysłaniem go na LCD, przez funkcję np Round ?
Nie używałem nigdy BASCOMa, ale chyba powinno się dać w nim zrobić coś takiego: wynik = round(liczba*100)/100
Ogranicz ifami, zaokrągla się funkcją round.
Jeśli pomnożysz x 1000 to funkcje int i round są już niepotrzebne. target = FUSING(source, "mask") target = FORMAT(source, "mask") Dokładny opis w helpie.
wiesz, zdaje sie że Fix "odrzuca" część ułamkową a round zaokragla (matematycznie - w góre lub dół). to moze powodowac te błędy
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
Kol. _Matik_ określił przyczynę problemu, ja natomiast chciałem zasugerować rozwiązanie. W Bascomie jest instrukcja ROUND(x). Sądzę, że to jest najprostsze wyjście.
To wcześniejsze zerowanie Sre dobrze poprawiłem? Kurcze nie za bardzo rozumiem tą komendę LEN próbuję tak: [syntax=vb]Dys = Round(dys) Dys = Str(dys) Dys = Len(wart_dys)[/syntax]
[syntax=basic4gl]cisn = Round(cisn*100)/100[/syntax] Przed wyświetleniem wyniku. O ile zmyślny Bascom tego nie zoptymalizuje. Może lepiej tak: [syntax=basic4gl]cisn = Round(cisn*100) cisn= cisn/100[/syntax]
A jeszcze mam takie pytanko o zaokrąglenia ponieważ funkcja ROUND nie do końca prawidlowo działa. Powidzmy otrzymuję wynik liczbowy z przetwornika ADC, dzielę go przez powiedzmy 3 i mnożę przez 100. Liczba po przeliczeniu to powiedzmy 325.4286. Jeśli zastosuję na tej liczbie funkcje ROUND mój wynik to 325 .0 Nie mam pojęcia jak się pozbyć tej kropki...
Witam Wersja mojego Bascoma to 1.11.9.0. Niestety ani Round ani zrównanie liczb ze sobą skutków nie przynosi. Pozdrawiam, Karol
Przerwanie masz co 0.256ms a nie co 4ms. A w przerwaniu dzieje się sporo- spróbuj dać prescale 64. Będziesz miał co 2ms. Z round jest coś niezgodnego z helpem podobno. Pisał o tym Atom tu: http://www.elektroda.pl/rtvforum/topic16... Może- ale to są tylko niesprawdzone przypuszczena- daj na początku Dim t_1 as long A w pętli rzutowanie: t_1= T1...
Round() zaokrągla do najbliższej wartości całkowitej) w tym przypadku 13,9.... do 14 Powinieneś (jeśli dobrze zrozumiałem funkcje) użyć INT()
Od razu wspomnę, że nie znam Bascoma, więc mogę nie mieć racji, ale dla mnie wygląda podejrzanie wyrównywanie do całkowitej wyniku sin() i cos(). To raczej nie ma sensu. Tak ogólie to sin i cos należy stablicować - tj obliczyć N poszczególnych wartości raz i potem korzystać z gotowych wartości z tablicy. Jak masz stałe N to wręcz można (o ile można...
Takie mam problemik. Otóż mam w stringu wartość typu "843.30" - przecinek może być na różnej pozycji, czyli może to być np. "3.423" Potrzebuję toto zamienić na wartość liczbową, więc przepisuję do zmiennej typu SINGLE. Ale - dla stringu "84.2" otrzymuję wartość zmiennej 84.199996946 Jak sądzę, jest to problem konwersji do single - czy jest jakiś sposób,...
Podejrzewam, że inicjalizacja będzie kasowała całą zawartość wyświetlacza, co za tym idzie może pojawić się bardzo częste miganie. na tuxgraphics, w [url=http://tuxgraphics.org/electronics/... , init wyświetlacza był wywoływany cyklicznie co jakiś czas. W prawdzie jest tam lekkie mignięcie, które da się zauważyć...
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...
Nie da się, bo jest zapisana w postaci mantysy i wykładnika. Mantysa zapewne nie ma podstawy 10... Nie znam Bascoma, ale jeśli Frac zwraca to co jest po przecinku, to wystarczy przecież warunek if(Frac(zmienna)==0) then 'zmienna jest liczbą calkowita'. Nie ma tam też poleceń w stylu Round? Z drugiej strony Bascomowe maski nie umożliwiają zrobienia tego...
Dzięki za odpowiedź ale nim wpisałem pytanie na Elektrodę to sporo męczyłem się z tym (przesuwanie przecinka, mnożenie, dzielenie) ale niestety bez rezultatów. W bascomAVR jest polecenie "Round" ale ono zaokrągla wynik do liczby całkowitej i tym samym odpada. Może jest jeszcze jakieś polecenie coś w rodzaju formatowania wyniku, którego jeszcze nie znam/znalazłem...
Moglibyście koledzy napisać dlaczego w warunkach: If W1 > 1000 Then S = W1 S = 7465000 / S W1 = Round(s) Else W1 = 0 End If są liczby 1000 i 7465000? Z góry dzięki.
piotr5000- te zasady można i należy stosować programująć w dowolnym języku mikroprocesory. One jednak są małe, arytmetyka zmiennoprzecinkowa jest za to pamięciożerna, wyświetlacze są wolne i CLS zawsze jest wolne- podobnie jak HOME. Dodam jeszcze że należy zapomnieć o _delay() i wait. Też w dowolnym języku to z reguły demoluje program. Zarówno w pętli...
Więc tak potrzebuje wyświetlić liczbę w formacie x.x. I nie wiem jak to zrobić próbowałem tak iż daną liczbę mnożyłem razy dziesięć zaokrąglałem do liczby całkowitej funkcją round a następnie robiłem dzieliłem na dziesięć ale na wyświetlaczu lcd i tak pojawiało mi się kupę liczb po przecinku w formacie x.x00000001 lub podobne x.x999999991. Jak to zrobić...
Witam. Musze wykonać pare obliczeń na AVR MEGA16 program pisze w BASCOMie więc teoretycznie nie powienienem mieć z tym problemów. A jaednak po napisaniu programu wyniki są nieprawidłowe i nie chodzi o dokładności po rzecinku tylko skrajnie różny wynik. Tak wyglądają wzorki. Dane są Ww i Tp z przedziału od 1 do 99 E = 6,107 * 10 ^ ( ( 7,5 * Tp ) / (...
Łap. Voltomierz będzie działał stabilnie, ale wiedz, że Ty masz błąd logiczny w swoim kodzie. Pomysl. Jeśli u Ciebie "Steps" to zaokrąglone do całych poprzez Round "Angle" to jest to wartość ustalana przez napięcie czyli w pewnym momencie będzie stała. A tu zmienna "Kroki" jest porównywana z ta zmienną ""Steps", ale po porównaniu dodajesz lub odejmujesz...
Witam. Mam procedurę odczytu trzech czujników temperatury: [syntax=vbnet] Sub Odczyt_ds18b20 Reset Watchdog Disable Interrupts 1wreset Select Case Ktory_ds Case 0: 1wwrite &HCC 1wwrite &H44 Case 1: 1wwrite &H55 1wwrite Ds1(1) , 8 'adres pierwszego czujnika 1wwrite &HBE Odczyt(1) = 1wread(2) 'odczytaj dwa pierwsze bajty T = Odczyt(2) : Shift T , Left...
Witam. Założenie jest proste czyli zwykły licznik w zakresie 0 - 99 km/h. Czujnikiem ma być powiedzmy kontaktron. Niestety mam problem z napisaniem programu. Wg mojej koncepcji przerwanie od timera ma zwiekszać stan zmiennej co 1ms. Po wykryciu sygnału od czujnika wartość czasu ma być przepisana do kolejnej zmiennej i dalej liczona dopiero predkość...
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ą...
jestem bardzo początkujący więc pewnie pytanie będzie banalne :-) szukałem na różnych forach, próbowałem i nie wiem gdzie wrzucić w kodzie 2 przycisk... idea programu ma być taka: po włączeniu zasilania pojawia się na wyświetlaczu "witaj" i po naciśnięciu przycisku 1 mierzy napięcie (kolejne naciśnięcie=kolejny pomiar). I do tego miejsca wszystko działa....
Szukałem, ale nie znalazłem niczego, co zapewniało by regulację w pożądanym zakresie (60-100%) i przełącznie przód-tył, tak jak to chcę zrobić. http://obrazki.elektroda.net/47_12198423... Gotowe, przebieg PWM ma częstotliwość ok 20kHz (przy kwarcu 10MHz): $regfile = "m8def.dat" $crystal = 10000000 Config Adc = Single , Prescaler =...
Witam Od jakiegoś czasu próbuje napisać program(na atmege8) który by mierzył mi obroty wentylatora. Posiadam wentylator od laptopa 5v 4Pin. Wentylator steruje Pwm. Przeszukałem chyba wszystko na forum i nie znalazłem konkretnej odpowiedzi na mój problem. Pisałem już program który wykorzystuje do zliczania wejście Int0, również konfigurowałem timer0...
Witam serdecznie! Mam problem z inkrementacją zmiennej Z, ponieważ wszystko opiera się o dokładność przedstawiania liczby zmiennoprzecinkowej. Zamiast 0,1 pokazuje 0,09. Próbowałem już fusing(), frac() (wskazywanie liczby po przecinku, chciałem tą resztę zaokrąglać round() ) , może format() ale tu trzeba non stop konwertować zmienne na znaki z liczb...
Dziękuję za wszystkie miłe słowa, bardzo mnie one cieszą i jak najbardziej motywują do dalszej pracy :) (at)DmZ Tak, ten element jest w pełni ogarnięty ;) Zasada działania jest dość prosta - montujesz czujnik tak aby mierzył odległość od lustra wody, potem wykonujesz ciąg prostych obliczeń: Najpierw odejmujesz od odległości czujnika od dna taką odległość...
Witam serdecznie. Próbuje stworzyć generator PWM o zmiennym wypełnieniu i zmiennej częstotliwości. Generator ten chce stworzyć na ATmega32 12MHz w języku BASCOM. Zmian dokonywać będzie można przez dwa potencjometry. Mam już napisany program ale niestety sygnał na oscyloskopie wariuje. Co jakiś czas jest przebicie innych wartości. Walczyłem z tym dość...
A czy na tej symulacji w bascomie będzie widać normalnie ą ę czy tylko jakieś znaczki? Dodano po 6 No zrobiłem teraz tylko pytanie czy dobrze? $regfile = "M8def.dat" $crystal = 8000000 $hwstack = 32 $swstack = 32 $framesize = 32 '---------------------------------------... Dim Adc_data As Integer Dim S As...
Witam Moje wypociny na podstawie których ma się zwiększać lub zmniejszać PWM w zależności od jakiś ustawionych parametrów. W tablicy mam zapisane kroki według jakich ma zachodzić rozjaśnianie/ściemnianie a w przerwaniu co 1s ustawiam odpowiednie flagi na podstawie których zliczany jest czas do kolejnego kroku. I niby wszystko działa ale gdy rozjaśni...
Witam ponownie No ja walczę z całym kodem, żeby go trochę zoptymalizować, ale nie bardzo się daje. zajęte 77% a nie mam konwersji danych z sht11 jeszcze zrobionych, coś mi się wydaję, że będzie trzeba się przesiąść na M32. Przykładem może być np. zapis temperatury z dokładnością do jednego miejsca po przecinku. Przecież wystarczy do tego zwykły, dwubajtowy...
Witam Miałem podobny problem z wyświetlaniem. Trzeba prawidłowo przypisać typy zmiennych a formatowane umieścić w poleceniu LCD "123";Fusing(X, #.##);"123". Tylko takie umieszczenie formatowania rozwiązało mi problem z wyświetlaniem całkowicie. Odpowiednie akcje na zmiennych należy wykonywać po zaokrągleniu do całości instrukcją np Round(Vol) lub Int(Vol)...
Witam. Podczas pisania testowego programu (do płytki testowej z kursu Bascoma) do sterowania falownikiem wyskakują mi błędy 7 i 123. Korzystam z wersji demo Bascom 2.0.7.5. Oto mój program Dim Czestotl As Byte , Do_zaokr As Single , Do_timera As Long , Ktorapol As Bit , Odliczanie As Long , Blokada As Bit , Powitanie As Bit Config Pind.0 = Input , Pind.1...
'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...
Zdurniałem całkowicie. Czy ktoś napisze gdzie zrobiłem jakiś błąd. Do funkcji mam przekazać 2 parametry, jeden wchodzi w porządku a drugi za nic w świecie. Sprawdzałem na 2-ch wersjach kompilatorów, to samo. [syntax=vbnet] $regfile = "m32def.dat" 'procesor $crystal = 11059200 'kwarc $hwstack = 256 '64 $swstack = 256 '64 $framesize = 256 '64 Dim U1_...
Wiec trochę to trwało by cokolwiek napisać ( brak programatora działającego z bascom trochę mnie stopował) Zrobiłem juz prosty algorytm tego co potrzeba zrobić i podzieliłem prace na 4 etapy: 1) wejścia adc dla map sensora ( zrobione ;) 2 wejście dla enkodera ( muszę zakupić jakiś impulsator i napisać parę linijek) 3 pomiar czasu pracy każdego z wtryskiwaczy....
Mam taki problem że gdy podpięty jest DS18B20 to na wyświetlaczu pokazują się jakieś śmieci, wszytko działa bez problemu. Gdy czujnik zostanie odpięty nie ma problemu z tymi śmieciami. Podejrzewam że przyczyną tego może być funkcja FUSING, może istnieje sposób na ominięcie tej funkcji. Kody: Temperatura odczytywana w przerwaniu zewnętrznym co 1s. http://obrazki.elektroda.pl/4835761200_1...
Nigdzie. Tak działają single. - patrz na http://babbage.cs.qc.edu/IEEE-754/Decima... Wpisz wartośc 0.00167 i zobacz reprezentajcę tej liczby w formie not rounded, wynik to: 1.6699999e-4 (czyli te 0.0001669)
A gdzie szukałeś? bo przecież w helpie Bascoma najszybciej znajdziesz zawsze odpowiedź na takie pytania - wystarczy go tylko ponownie przewertować ;) widziałeś opis takich poleceń jak Round, Int itp ? na pewno do czegoś ci się przydadzą
http://obrazki.elektroda.pl/3089511800_1... Witam, dziś prezentuje swój bezprzewodowy termometr pracujący na częstotliwości 433 MHz. Urządzenie składa się z nadajnika i odbiornika. Nadajnik odczytuje temperaturę pieca C.O. i wysyła ją do odbiornika. W odbiorniku mamy możliwość ustalenia górnego i dolnego progu załączenia alarmu, który...
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...
Chodzi o te zaznaczone ustawienia z obrazka. Są wstawiane jako domyślne jeśli się ich nie wpisze do kodu. Chodzi o to, że kiedy Bascom skacze do jakiegoś Sub to odkłada na stos te wcześniej omawiane dwa Bajty. W takim Sub już może tego nie widać, ale tez skacze np. do procedury odczytu czujników 1Wire. To już np. cztery bajty a w tym momencie nadchodzi...
Witam. Buduję zegarek oparty o Atmegę32 i wyświetlacz na sterowniku ST7565R. Układ podobny do mojego [url=http://www.elektroda.pl/rtvforum/to... zdalnego. Skopiowany jest z niego program, oczywiście przerobiony odpowiednio i powycinane co trzeba. Na razie tylko go uruchamiam. I tak jak przy pisaniu programu pod "Panel zdalny" nie...
Ok poradziłem sobie tylko teraz wyskoczył mi inny problem , a mianowicie nie wiem dlaczego nie mogę korzystać z funkcji LINI i Boxfill wyświetlacz szaleje :-) a chciałbym wykorzystać te dwie funkcje w programie poniżej kod programu [syntax=basic4gl] '***************************************... '* Code to test DS18x20 '* The 1-wire bus pin is Port...
Koledzy, poniżej kod. Zauważyłem poważny problem. Timer1 mi się sypie zanim dojdzie do 0. Tzn, nagle, zanim upłynie zadany czas, uC zwiesi się i przestanie wykonywać pętlę Do ... Loop until. Nie wejdzie w stan Powerdown i nadal będę mógł wywołać przerwanie Int0 - czyli zawiesza się w pętli Do...loop. Zdaje się, że nieszczęsne Wait 1 wewnątrz tej pętli...
Witam Tworze sobie prosty termometr na wyświetlaczu 7 segmentowym. Napisałem kod w bascomie i wrzuciłem na płytę testowa z atmega32 i śmiga jak trzeba. Kolejnym krokiem było wrzucenie tego na na atmege8 (zmieniłem m32def.dat na m8def.dat i taktowanie na 1MHz ) atmega świeża , fusebity nie zmieniane. No i jak zwykle u mnie to bywa, rzecz nie działa....
no temat nie wydaje sie problematyczny... ale pewnie zawsze sie trafi na jakies przeszkody :) no nie pomoge ci podajac gotowca, ale poszukalem chwile na necie i : PS/2 Mouse/Keyboard Protocol: http://www.burtonsys.com/ps2_chapweske.h... jesli jestes dobry w c to na podstawie ponizszego linku pewnie rozjasni sie w glowie (to interfejs klawiatury) http://www.atmel.com/dyn/resources/prod_...
Witam, Próbuje dopisać funkcję wprowadzania daty i czasu za pomocą klawiszy w Bascomie na scalaku DS1307, problem mam taki ,że nie widzę nastaw online :-) tylko dopiero po wyjściu z menu i nie wiadomo do końca co się wpisało . Dodano po 3 zrobione może się komuś przydać , [syntax=vbnet] $regfile = "m644pdef.dat" ' specify the used micro $crystal = 16000000...
zamieszczam listing ktory przeklepalem zgazety Nowy elektronik: $regfile = "m8def.dat" $crystal = 800000 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.3 , Db6 = Portd.2 , Db7 = Portd.1 , E = Portd.5 , Rs = Portd.7 Config Lcd = 16 * 2 Config Adc = Single , Prescaler = Auto , Reference = Off Ddrb = &B00000000 Ddrc = &B00000000 Ddrd = &B10111110...
Witam. Mam zbudowany od 3 lat inkubator na jaja kurze, gęsie i kacze. Cała konstrukcja działa w oparciu czujnik temperatury i wilgotności DHT22. Stary program działa bardzo dobrze, ptaszynki klują się ładnie. Ale żeby nie było tak pięknie to co jakiś czas, powiedzmy raz a może dwa razy na sezon coś się zawiesza i zamiast 37,7 stopni temperatura rośnie...
Na wstępie chciałbym podziękować osobom, które odpisały na moje zapytanie. Od razu powiem, że ich sposoby były mocno niepełne i nie działały (działały tylko dla, że się tak wyrażę, "normalnych" dat) jednak doprowadziły mnie do mety za co jeszcze raz dzięki :) Aby zrobić całkowicie poprawny algorytm skorzystałem ze strony http://kalender-365.de/kalendarz.php?yy=...
Jeszcze nie widziałem RTOS'a na Bascoma'a. Jężeli już to na C, lub asm. Faktycznie na avrfreaks jest tam ich mnóstwo, ale tylko 4 free. Najlpgiczniej wygląda RTK. Ponadto spójrzcie na ten cytat reklamujący system RTOS o nazwie AvrX: "AvrX is fast: approximately 240 cycles round trip to service an AvrX managed interrupt and a maximum latency of ~50 cycles...
Nie mogę sobie dać rady z LCD przy użyciu C. Wyświetlacz mam 2x16 typu HD44780. Przeszukałęm już całą elektrodę i nie znalazłęm przyczyny mojego problemu. Ze wszystkich gotowych kodów zadziałał mi tylko jeden i wyświetlał 3 znaki zapytania, ale nie było kodu źródłowego tylko plik HEX. Aktualnie mam same kwadraty na pierwszej lini i nie wiem co jest...
Witam Jestem początkującym w dziedzinie mikrokontrolerów ale chciałem zbudować moduł CDI oparty na kontrolerku jak w temacie. Mam tylko mały problem. Mianowicie nie mogę poradzić sobie z kompilacją kodu wsadu. Kod wygląda następująco: ;Programm for 89c2051 as CDI ignition TT600R ;Important: Chrystal 24MHz !!!!!!!!!!!!! ;Trigger by Comparator input...
Witam serdecznie! Najpierw może podzielę się kodem: [syntax=basic4gl] $crystal = 8000000 $regfile = "m644pdef.dat" Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1 Dim Plynnosc As Integer Dim Plynnosc_r As Single Dim Plynnosc_t As Single Dim Reszta_pwm1b As Integer Dim Ustaw_czasu_ms As Integer...
round world round robin bascom projekt bascom
ustawi zegarek smartwatch wibracje automat excel wykres sinus
scanmaster elm327 zasilacz 2650w
Kondensator w instalacji paneli solarnych – dobór, rola, typy, superkondensatory PV Grubber AC680 – stacja klimatyzacji R134a/R1234yf, typowe usterki, serwis, kalibracja