Porty L i G należą do rozszerzonych. Przeczytaj rozdział w Helpie Bascoma - Config 1Wire. Skonfiguruj dowolny pin jako 1Wire i dopisz po przecinku - Extended. Powinno się coś zmienić ;)
Co do twojego pierwszego problemu, to najprościej jest czytać ciąg nie z określonego miejsca, a za określonym znakiem. Wszystkie dane masz przedzielone przecinkami. Zakładam że tych przecinków jest stała ilość. Po prostu czytaj łańcuch po 7 przecinku do następnego przecinka i już i wtedy długość wcześniejszych danych nie ma znaczenia. Co do eepromu...
Łopatologicznie to by było tak... Masz zmienną o nazwie np. LICZBA=123 i chcesz z niej wyodrębnić setki, dziesiątki i jedności... Musisz stworzyć nowe zmienne typu całkowitego, np. SETKI=LICZBA/100 --> (123/100 = 1,23 zmienna typu całkowitego utnie te 23 po przecinku i zostanie 1 --> SETKI=1) DZIESIĄTKI=(LICZBA/10)-(SETKI*10) --> (123/10=12 --> 12-1*10=2...
:) 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...
Możesz podać gdzie przeczytałeś że ta liczba po przecinku oznacza liczbę wysłanych bajtów? Help nic nie mówi na ten temat. Sprawdzałem w symulatorze że ta liczba nic nie zmienia. Jest taka informacja w helpie "When you use Printbin ar(1) , the whole array will be printed." A kto powiedział że ja wpisuje dane? Ja je wysyłam. Ale twoja tablica jest pusta....
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....
Eksperymentuje, więc na razie nie ma komentarzy. Temperatury dodatnie i wilgotność poprawnie wyświetla. Poniżej 0*C to już głupoty typu: 3480*C Sumę kontrolną usunąłem, bo nie wyświetliło ani razu ERROR. Mybyte = T + H 'dodajemy wartości temperatury i wilgotności If Mybyte <> Crc Then 'jeśli suma kontrolna się nie zgadza Lcd "error"...
Witam Temperatura i wilgotność, wyświetla tylko wartość całkowitą. A jak z czytać przynajmniej jedno miejsce po przecinku ?
więc ja tez mam zapytanko jak w bascomie zrobić coś takiego aby zapisac dane z tabeli załozmy mam cos takiego U Dodano po 1 tych danych oczywiscie ma być dużo wiecej i miejsc po przecinku też np do 4 miejsc po przecinku ...jeśli miałoby to jakies znaczenie przy wprowadzaniu danych taka informacja:)
Witam Chciałbym wydzielić tylko to co znajduje się po przecinku odczytanej temperatury na przykład w Tempp. Czyli ładuje wartość odczytaną z ds1820 do Tempp potem: Shift Tempp , left , 8 if Tempp >= 10000000 then Tempp = to co jest po przecinku tak?
Witam Mam problem z wyświetleniem wartości PWM w %. Użyłem instrukcji fusing ale ona wyświetla mi wartość w ten sposób XX.X %. http://obrazki.elektroda.pl/6558296000_1... Jak to zrobić żeby wyświetliła XX % czyli jako liczbę całkowitą, bez kropki i miejsca po przecinku W załączniku plik.bas [syntax=basic4gl]$sim $regfile = "m8def.dat"...
Dzięki za odpowiedź! nie ma powodu, żeby nie była powtarzalna Czyli bez różnicy, którą wersję zrobię bo nic poza tym interwałem nie będzie. Zatem biorę się za zrobienie na gotowo i spróbuję dwie wersje; waitms i timer. Drążę prosty temat, bo ten wzorzec ma iść do GUM, oni sprawdzą, zapłacę, wystawią świadectwo, zaplombują i koniec grzebania. Zamierzam...
Z jednej strony - fajnie że się da. Z drugiej - Po co? Z trzeciej - jeśli już, to wystarczyłoby zmniejszyć do 4 cyfr po przecinku (a w ogóle czy jest sens budowania woltomierza z tak ogromną "precyzją"? Cudzysłów zamierzony, bo jak pisał Kolega wyżej; rezystory nie zapewniają stabilności wskazań a szumy WO skutecznie zakłócają pomiar mniejszych wartości....
Co to znaczy inne wyświetlacze ?. Wróżką nie jestem, ale bez schematu mogę się domyśleć, ze sterujesz kluczami załączającymi poszczególne wyświetlacze poprzez port D, a dane wysyłasz na port B. W takim wypadku zamiast zmieniać wartości na porcie B pozmieniaj dane w tablicy Tabela. No i nie zapomnij o przecinku dziesiętnym ;)
To sobie zapisuj w postaci całkowitej i pamiętaj ile miejsc po przecinku dla wszyskich liczb jest przesunięcie, a resztę zaokrąglij.
jednak jak bym chciał zrobić to w bascomie to i tak i tak muszę liczyć na zmiennym przecinku bo bascom funkcje trygonometryczne liczy tylko na zmiennych typu single więc sprubuje zrobić to przez DFT i IIR i zobacze co działa szybciej a tak w ogule to mam jeszcze pytanie czy dobrze rozumiem to IIR najpierw muszę zaprojektować analogowy filtr wedłóg schematu...
Jak w bascomie ze miennej typu single wydobyc liczbe po przecinku i wpisac ja do zmiennej byte ?? Przyklad jest liczba single np 12,34 i teraz chce wpisac to co po przecinku (czyli 34) do zmiennej byte Z gory dzieki za pomoc
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. Jak masz liczbe sekund np. 213456 to najpierw dzielisz ją na 60 i otrzymujesz minuty, potem to co po przecinku razy 60 i masz minuty i sekundy. Minyty dzielisz przez 60 i masz godziny, to co po przecinku razy 60 i masz reszte minut. Godziny dzielisz przez 24 i masz dni itd. np. 213456 [sek] 213456/60=3557.6 [min] 0.6*60=36[sek] czyli mamy już...
Nie dokonuj pomiaru ilości impulsów na 1 sek ! To błędne podejście . Niby dlaczego ,mógłbyś rozwinąć tę myśl? Przecież co sekundę mam uaktualnianą zmienną z prędkością, po co szybciej jeżeli w czasie jazdy nie patrzymy cały czas na wyświetlacz/wskazówkę. Tylko co jakiś czas ale także krótko. Chodzi mi o to aby wynik nie skakał po przecinku jak "oszalały...
mi sie pojawia -20.9...-20.0...-21.0 to w ogóle jest jakos bez sensu znajomy mi mówil że on tylko neguje część po przecinku i ni erobi zadnej inkrementacji... i byż tu mądrym!
Przerobiłem program na Atmega328. Teraz ma tylko odbierać dane z master na Atega1284p i wysyłać do Domoticz. [syntax=vbnet] $regfile = "m328pdef.dat" $crystal = 8000000 $hwstack = 100 ' rozmiar stosu sprzętowego $swstack = 100 ' rozmiar stosu programowego $framesize = 128 $baud = 19200 '************ Uart 0 Config Serialin0 = Buffered , Size = 150 ,...
Jakoś mi nie skacze co chwila. Mam podłączone 5 do jednego atmela i nie zauważyłem żadnych skoków. Być może dlatego że najpierw odczytuję a potem wyswietlam. Z drugiej strony każde wyświetlenie powodowało by różne wskazania po przecinku a nic takiego się nie dzieje. Nie jest to jednostkowy przypadek bo takich sterowników po 5 czujników mam 13 szt. Na...
Witam, podłączyłem czujnik temp odpornościowy do atmegi i komendą getrc odczytuje wartość w danej temperaturze. To co udało mi się sprawdzić: temp - wartość 20°C - 1000 30°C - 900 40°C - 800 50°C - 700 60°C - 600 70°C - 500 80°C - 400 itd. Wartości mamy 3 cyfrowe więc np 875 będzie oznaczała temp 43,5°C. Teraz pytanie jak najprościej to zdekodować w...
witam mam nastepujacy problem w bascom moze banalny ale nie moge go przesskoczyc:(brak logicznego myslenia) chodzi o pomiar temperatury na ds 18b20 przed wyswietleniem temperatury formatuje liczbe za pomoca polecenia: Str_temp = Fusing(temp , "#.&") wiec z liczby np: 22.6255 zostaje mi 22.6 i moge to wyswietlic jest ok tylko liczba jest zapisana jako...
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.
Witam Odkurze ten temat, bo mam w związku z nim jedno pytanie dotyczące kodu, który podał hunterhouse ... Da się jakoś ten wynik co wychodzi zaokrąglić/przekonwertować do jednego/dwóch miejsc po przecinku :?: Za podpowiedzi z góry dziękuje :D P.S. Ten programik pokazuje ujemne temperatury, czy trzeba go dopiero jakoś zmodyfikować :?:
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)...
Witam. Coś tam sam rozkminiłem. [syntax=basic4gl]data 0 , 0 , 0 , 0 , 0 , 224 , 252 , 31 , 31 , 252 , 224 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 56 , 63 , 7 , 6 , 6 , 6 , 6 , 7 , 63 , 56 , 0 , 0 , 0[/syntax] Doszedłem że powyższy ciąg danych to czcionka 16x16. Każda następna wartość po przecinku to obraz jednego pionowej lini danego znaku czcionki. Rozrysowałem...
Napisałem wczoraj, ale program nie działa, mnie ma poleceń ack i nack bo kompilator Bascoma twierdzi, że jest w nich błąd, gdyby ktoś z was mógł je dopisać tam, gdzie są potrzebne. Jak napisałem tak: i2cwbyte 00000000 , ack to w tej linijce był błąd i2cwbyte vol , ack tu tez był błąd a jeśli chodzi o spacje przed i po przecinku to Bascom dostawia je...
Witam ! Możesz dać dokumentację sch. brd. bas. ? Jasność LED jest sterowana przez PWM? Czy tylko ON i OFF? Co do wyświetlania temperatury proponowałbym, aby kropka była zaświecana w drugim wyświetlaczu LED. A wartość po przecinku przesunąć na 3 wyświetlacz LED ; ładniej by to wyglądało. Jak wyświetla ujemne temperatury? Czy układ uczy się RC5? Ja osobiście...
Delphi to nie jest Bascom więc to: ComPort1.ReadStr(str,count);memo... niekoniecznie musi działać. W Delphi, do rozbierania stringa na kawałki są odpowiednie instrukcje (dałem przykład wyżej). Nie wiem po co Ci te trzy cyfrowe liczby po przecinku. Ja bym...
Witam! Nie jestem biegły w BASCOM-ie i mam problem z funkcją, w której chcę uzyskać resztę z dzielenia. Oczywiście operuję na liczba które mają wartość po przecinku tak więc użycie funkcji mod nie wchodzi w grę. Moja funkcja wygląda tak : [syntax=jezyk_programowania] ' wczesniej w zmiennych globalnych jest zdeklarowane dim L as single, l1 as single,...
Też by tak mogło być ale... Fclock nie jest liczbą wielokrotną 2, co skutkuje że podczas dzielenia 2^32/Fclock już wychodzi mi liczba ułamkowa i dochodzi do zaokrąglenia lub obcięcia miejsc po przecinku (w najprostrzej wersji). Potem po przemnożeniu niedokładność wzrośnie. Ale chyba nie bede wyważał otwartych drzwi i pozostawię konwersję na zmiennoprzecinkowej....
Witam!!! Kolega nie doczytał poprzedniego postu lub go nie zrozumiał - DS18S20 ma 9-cio bitowe przetwarzanie temperatury i tylko ostatni bit jest w ujemnej potędze, więc po przecinku możesz mieć 0 lub 5 i więcej z niego nie wyciśniesz. DS18B20 ma przetwarzanie 12 bitowe (zakres temperatur taki sam co ds18s20), ale ma aż cztery bity w ujemnej potędze...
Witam Mam Atmega32A + PCF8563 + PCF8574 + RFM12 + DS18B20 +DHT11. Port danych LCD to Port.A, ControlPort to Port.C. I2C standardowo na Portc.0 Portc.1. Niestety jest problem z obsługą I2C, tzn. zegar PCF8563 nie działa w ogóle ( na LCD puste pole ) , a klawiatura na PCF8574 - tylko jeden klawisz i to nie ten, który jest przypisany w kodzie ( działa...
Witam Chciałem rysować dwa wykresy na podstawie 5 danych typu Byte pobieranych z pięcioelementowej tabeli. Na jednym ekranie LCD chciałem rysować dwa wykresy z tytułami, nad wykresami są jeszcze dodatkowe dane. Dane są w dwóch zmiennych ( odbieram je z RFM12 ): - wartość przed przecinkiem - wartość po przecinku to akurat nie jest problem, bo na pewno...
ok czy w delphi jest jakiś odpowiednik bascomowego make int? bo własnie też staram sie odebrac dane po RS - u mnie jest to 9 bajtów Odbieram metodą mało elegancką na piechotę -korzystam z comport-u i robię to po prostu comPort1.Read(dana1,1); comPort1.Read(dana2,1); itd....... Jeśli teraz zmienną typu dana zadeklaruje jako tablicę to...
Jednak liczylem na lepsza pamiec, rasowy asemblerowiec chyba powienien ja miec.Co do zmiany zdania to napisales, ze nic tu nie napisales o necie. Piszac tu zaponiales chyba co pisales 5 dni wczesniej, ze na necie sa takowe biblioteki. nie napisałem tutaj nic o tym, że coś jest na necie Tutaj, czyli tak jak się patrzysz na monitor i przewijasz ten temat...
Podałem wyraźnie, że oprogramowanie napisałem w WinAVR ;) Nie uznaję czegoś takiego jak bascom (wystarczyło mi raz w życiu się na nim przejechać...). Przedstawię "odchudzone" kody źródłowe - aby były całkowicie funkcjonalne należy troszkę dopisać. Ogólna idea jest przedstawiona. Sam main w programie jest niewielki. Dla przykładu pokażę jak zrealizowałem...
Mam jeszcze jeden problem, mianowicie: Mam zmienną typu single U i przypisuje jej liczbę 2.56 chcąc ją zwiększać o 0.01 robię coś takiego U = U + 0.01 a potem wyświetlam to na LCD. Lecz pojawia mi się http://obrazki.elektroda.net/98_12637529... Wiem, że resztę cyfr mógł bym zamaskować na przykład poprzez instrukcje fusing. Lecz jeżeli dalej chcę...
Witam Chciałbym przy użyciu dwóch przycisków ( nawet jednego, bo pewnie tak się da ) zmieniać czujnik DS18B20, a właściwie wskazania które pokazuje. Mam dwa układy DS18B20 i przy założeniu ( teoretycznym ), że mam mało miejsca na wyświetlanie, więc dobrze by było mieć możliwość zmiany ( na przemian jednym przyciskiem lub dwoma - pierwszy-drugi ). Samo...
Program wygląda dużo lepiej. I = 1wread(2) pobiera dwa bajty w których znajduje się temperatura. Polecam zajrzeć do karty katalogowej DS18B20 str.4. W I znajdzie się liczba 16 bitowa, gdzie pierwsze 4 bity to znak, następne 8 bitów to część przed przecinkiem, a cztery ostatnie to to co po przecinku. Liczby ujemne są w kodzie U2. S = I / 16 Powyższe...
Niewiem czy dobrze rozumiem ale chyba będzie problem bo na moim kalkulatorze wychodzi że 16000000/15000=1066,7 a w nocie pisze że dla Timer1 prescaler może być max 1024 75 ? Czy to się jakoś zaokrągla do pełnej liczby?
Moim zdaniem spowodowane jest to ograniczona dokladnoscia reprezentacji liczby zmiennoprzecinkowej (sposob obliczania i dlugosc bitowa mantysy liczby). Dosyc dobrze jest to opisane w wikipedii, np. http://pl.wikipedia.org/wiki/Liczba_zmie... Z tego samego powodu ja musialem stosowac liczby calkowite w obliczeniach. Przy zachowaniu odpowiednich...
Pomnóż przez 2, zaokrąglij do wartości całkowitych, podziel przez 2, i wyświetl z rozdzielczością do 1 miejsca po przecinku.
Oto kod jednego z programów z którym mam problemy: 'C029f.bas Generator impulsów prostokątnych ' UWAGA! Wejsciem EN(able) modułu LCD steruje końcówka PB.1 ' do wyjscia PB.3 dołączona przez rezystor 1k anoda diody LED (katoda do masy) Dim Impuls As Word , Przerwa As Word , Czas As Single , Zmiana As Bit , Napis As String * 9 Config Timer1...
Witam wszystkich może zwracam sie z banalnym pytaniem lecz nie mogę sobie poradzić a mianowicie mam pętle for(i=0,buffer buffer[5]=0; >> tak jak jeden z moich przedmówców napisał (Freddie Chopin) 6 element 0,1,2,3,4,5 = 6 elementów . C to nie bascom ;) zakładam ze gdześ w programie masz : unsigned char buffer [14] = {11,33,...8} oczywiscie to tylko...
Beta = I * K Beta = Beta And 31 // dlaczego Beta And 31 ??? - to jest obliczenie kąta (i*k) and 31 to zamiana na kąt z przedziału do 0 do 2pi. bo w moim programie są 32 prubki numerowana od 0 do 31 czyli kąt też jest od 0 do 31. 31 to poprostu kąt 360st czyli 2pi. AND działa na bitach czyli m tym przypadku daje nam reszte z dzielenia przez 32. troche...
Dzięki za program, udało mi się odczytać 2 bajty. Niestety nie posiadam wyświetlacza alfanumerycznego i korzystam z 4 wyświetlaczy sterowanych multipleksowo, więc mam problem z rozszyfrowaniem znaczenia bitów. Z moich obserwacji pierwszy bajt ma duży wpływ na temperaturę, ale nie pokazuje on chyba prawidłowej temperatury w kodzie dzisiętnym... Na drugim...
single bascom przecinku wyświetlanie przecinku ds18b20 przecinku
voice enable ongrid akumulatory schemat rozrząd trafić
Brak reakcji kontrolek w myjce ciśnieniowej Kärcher Mocowanie magnesów stałych na wirniku aluminiowym w generatorze