rezultat = HIGHW( zmienna )
Po konwersji część ułamkowa zostaje "utracona". Zmienna przyjmuje wartość jedynie części całkowitej bez zaokrąglenia, czyli: 2,9 (single) po konwersji na integer to 2
Nie wiem dokładnie czy bascom dokonuje konwersji typu string na byte w tym może być problem. Spróbuj zmienna nm zadeklarować jako 'byte' może pomoże.
Przeznaczenie: Formatuje tekst zawierający liczbę według podanego wzorca. Składnia: rezultat = FORMAT( zmienna , "maska" ) gdzie: rezultatzmienna tekstowa, w której umieszczony zostanie sformatowany tekst, zmiennazmienna tekstowa zawierająca formatowaną liczbę , maskawzorzec formatowania. Przeznaczenie: Zwraca tekstową reprezentacje podanej liczby....
Bascom zawsze używa metody obliczeniowej, która należy do zmiennej wynikowej. Oznacza, że w tym przypadku Bascom wykonuje obliczenia na bajtach. Wartość obliczeniowa2 jest typu Word. Czyli (1) = Liczba_ok / 100 zmienna Liczba_ok traktowana jest jako byte. Jedynym sposobem na konwersję jednego typu na inny jest po prostu przypisanie go w ten...
To ja też powtórzę swoje :) Jaki jest inny (lepszy od Timera) sposób na sprawdzenie, czy konwersja danych jest skończona?
, przetłumacz poniższy kod z BASCOM AVR na Arduino Uno: $regfile = "attiny2313.dat" $crystal = 8000000 Dim A As Byte a=0 Config Pind.6 = Output led Alias Portd.6 led= 0 Config Pind.0 = Input Portd.0 = 1 Sw Alias Pind.0 do if a >1 then a=0 if sw=0 then bitwait sw, set incr a End If if a=1 then toggle led waitms 100 else led=0 end if loop end Przekształcanie...
Witam. Trochę to mętne , ale spróbuję ci jakoś pomóc. Każda zmienna jest przechowywana w pamięci w postaci dziesiętnej. Możesz ją zadeklarować jako kod szesnastkowy np. : zmienna= &HFF00 Ale i tak w pamięci zostanie zapisana jako konkretna wartość. Nie wiem do czego potrzebujesz, ale domyślam się że chcesz to wyświetlić jako wartość szesnastkową. Wartości...
Rozumiem, czyli zmienna String to jakby ciąg zmiennych bajtowych stanowiący całość i w programie instrukcja: IF zmienna_string_1znak(to jakby jedna zmienna bajtowa, tylko inaczej interpretowana, bo nie mogę do stringa w programie wpisać prosto wart. liczbowej, a jedynie literę, która reprezentuje ową wartość liczbową) = "a" then... jest równoważna...
Błąd w logice. Twój kod czytam tak -> Dopóki zmienna nie ma 5 to cały czas resetujemy pomiar i startujemy nowy (już Select Case byłoby lepsze). Potem próbujemy to czytać jak zmienna ma powyżej 100. No daj spokój. Są tu tego tony jak to obsługiwać. Mój/nie mój sposób to dwa suby. Jeden Startuje konwersję a drugi Czyta. Sprawa polega na tym by odwrócić...
...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...
Witam, Do wejść Portu mam podłączone 5 odbiorników zbliżeniowych. Odczytują zagłębienia w tarczy kodowej. Niestety nie są one uporządkowane tzn bit0 na tarczy jest przypisany do PORTx.4 a bit1 do PORTx.2 itd Próbowałem wcisnąć do zmiennej typu string *6 odczyt z poszczególnych czujników na zasadzie I = $bit5; $bit4; $bit3.... a później przekształcić...
Z elementarnej matematyki wynika ze: U(T) = 0,0139T + 2,5. No więc piszesz sobie (zakłądając ze U to zmienna odpowiadająca napieciu) T=U-2,5 T=T/0,0139 i tyle jeśłi chodzi o konwersje. Oczywiście musisz zadeklarowac odpowiednio zmienne U i T ja bym proponował jako inteagery. Pozdrawiam
kolega wader_669 - jak zawsze tak zakręci temat, że na końcu przez to wszystko sam już się w tym wszystkim niepotrzebnie gubi ;) poczekaj poczekaj, odpowiedz może po kolei na kilka pytań żeby dobrze zrozumieć twój cel: 1. piszesz program w końcu w C czy Bascomie ? 2. czy może masz 2 procki, które komunikują się jakoś ze sobą i na jednym masz program...
mnie akurat nie chodziło o takty na konwersje potrzebne a raczej o niepotrzebnie zajmowane bajty Jak wiadomo bascom jest pamięciożerny a program pewnie ma coś więcej do zrobienia niż tylko odbiór jednej liczby Poza tym po poleceniu inputbin jakas_zmienna jest odbierane tylko tyle bajtów ile ta zmienna zajmuje Ponieważ nie trzeba robić dodatkowych zabiegów...
No normalnie: If zmienna >= 1000 Then zmienna = 999 End If
zmienna3 = Mid(zmienna , 7 ,3) i teraz zmienna3 = pwm1a - czyli pwm1a będzie z wartością 123 ?? Nie. Ale może zadziała: PWM1A = VAL(zmienna3)
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...
Proponuje jednak port jako zmienna i wtedy case. Przyklad ode mnie If Pinb.7 = 0 Then Jedynkaczas = 1 Else Jedynkaczas = 0 End If If Pinb.6 = 0 Then Dwojkaczas = 2 Else Dwojkaczas = 0 End If 'Sczytywanie stanów logicznych wyprowadzeń If Pinb.5 = 0 Then 'z DIP-Switcha od ustawień czasu Czworkaczas = 4 Else Czworkaczas = 0 End If If Pinb.4 = 0 Then Osemkaczas...
A co byś powiedział na operator AND. Port = p3 AND &H0F (bierzemy pod uwagę tylko 4 młodsze bity) Wtedy zmienna Port będzie zwracała stan bitów P3.0-P3.3 w formie liczby z zakresu 0-16. Nie trzeba będzie robić ceregieli z przeliczaniem stanów kolejnych bitów.
juz czesciowo wiem mam problem ze zrozumieniem tego: T = makeint ( Odczyt(1) , Odczyt(2) ) to chyba zamiana tych zmiennych na zmienna typu integer, nie wiem i to: T = abs(t) tego nie rozumie a zmienne odzczyt1 i odzczyt2 chyba moga byc typu byte
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...
No wiec.. ;) Nie wiem co tu jasniej pisac ;) Mam dwie zmienne, dwa programy, w pierwszym chce tylk zapisac wartosc 5 w eepromie poprzez przypisanie a=5 potem zmieniam program i chce ta wartosc z eepromu wpisac do zmiennej b, czyli b=a Wyswietlam ja sobie na lcdku i poki co to mam zero ;/ Tak swoja droga to jak tak zadeklaruje zmienna eram to pod jakim...
Cytat z polskiego Helpu: Funkcja STR() Przeznaczenie: Zwraca tekstową reprezentacje podanej liczby. Składnia: zmienna = STR( x ) gdzie: zmiennazmienna typu String do której wpisany będzie wynik działania funkcji, xdowolna zmienna lub stała, poddana konwersji. Opis: Zmienna String musi mieć odpowiednią długość, by pomieścić wszystkie znaki. Zobacz także:...
Uśrednianie ci nie działa, bo nie zerujesz zmiennej Sre po dziesięciu pomiarach. Wynikiem funkcji format musi być zmienna tekstowa, a ty próbujesz zapisać to do Dys typu Single. Zresztą Dys po Round nie wymaga formatowania. Co najwyżej konwersji na tekst.
Witam serdecznie. Ostatnio zakupiłem moduły komunikacyjne 433Mhz FS-1000A. Jako że ich koszt nie przekracza 7zł, o dobrej jakości nie ma co mówić (choć zasięg mają świetny!). Podczas przesyłu danych pojawia się wiele "krzaków" i dziwnych znaczków, aczkolwiek udało mi się je odseparować za pomocą polecenia MID. Problem jednak polega na tym iż jako że...
Kurcze - ja niedlugo chce zaczac pisac prace inzynierska w C a tu widze, ze basic mi sprawia klopoty :) If Ktory < 0 Then Ktory = 1 End If Pomyśl proszę i odpowiedz , jakim cudem zmienna Ktory , która jest typu Byte(odpowiednik w C - unsigned char) , może być < 0 :?: Zmodyfikowałem Twój kod i wyszło mi takie coś: $regfile = "m32def.dat"...
Ale PRINT mimo wszysko skonwertuje zmienną na postać textową. To musi być PRINTBIN. ale co to wg ciebie znaczy, że skonwertuje zmienną na postać tekstową - może ja czegoś nie rozumiem. Przecież obojętnie czy napiszę tak: PRINT "A" ; czy tak: PRINT 65 ; czy tak: PRINT chr(65) ; to zawsze zostanie przesłany ten sam - jeden bajt o wartości...
Przetwonnik zlicza napięcia tylko do 2047, pokazując ujemne napięcie nie ma znaku minus i wartość, tylko np 65320. Czyli przetwornik zwraca wyniki w kodzie U2. Tam nie ma znaku minus. Jest za to przesunięcie poziomu. Najprościej mówiąc, zastosowanie takiej funkcji do konwersji: Napiecie = Zmierz1 * 256 Napiecie = Napiecie + Zmierz2 da Ci złe wyniki....
Dzieki panowie za zainteresowanie. To o czym mowiecie to wiem. Startuje ADC i czekam okreslony czas (program caly czas sie wykonuje) albo czekam na przerwanie z zakonczenia konwersji. To jest jasne. Chodzi mi co i jak po kolei wpisywac do rejestrow aby uruchomic ADC. Bascom to taki prostacki jezyk w ktorym wpisujac zmienna=getadc(0) powoduje ze ta komenda...
Witam Czy ktoś wie czemu zmienna single=0,0103 przy wyświetlaniu przyjmuje wartość 0,010299978 ??? Po to stosuje się zmienne zmiennoprzecinkowe żeby mieć dokładność a nie jakieś bzdury. $regfile = "m8def.dat" ' typ procesora $crystal = 8000000 ' czestotliwosc kwarcu Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5...
skoro umiesz wysłać tekst do drugiej atmegi to jak możesz nie umieć wysłać sobie jakichś zmiennych - oj chyba przegrzało przy ubieraniu choinki więc podpowiem ;) .... można to zrobić na milion sposóbów oczywiście i wszystko zależy od tego jakie to są zmienne, ale np załóżmy że masz zmienną typu Byte. 1. dokonujesz konwersji tej zmiennej na postać String...
Witam MAm taki PRogramik w bascomie, na razie sie uczę, w pierwszej linijce LCD 16*2 pisze "BIaLO NIEBIESKI" (chodzi o lcd, na którym jest to wyświetlane), a w drubiej wyświetla sie zmienna B1 o nazwie "Bascom" Tak wygląda: $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator...
juz chyba rozumiem co jest grane po prostu drukuje ci 48 w dziesietnej a odbiera i pokazuje tobie w char bo dziesietnie 48 = char "0" w helpie masz jak zamienic char na dec. Dodano po 8 zmienna = STR( x ) gdzie: zmiennazmienna typu String do której wpisany będzie wynik działania funkcji, xdowolna zmienna lub stała, poddana konwersji. ________________________________________...
..a na marginesie zapytam od kiedy rodzina Attiny ma zaimplementowane mnożenie? A gdzie masz mnożenie ? . Tworząc jedna zmienna przy każdym wyświetleniu jej na LCD robisz konwersję której nawet nie widzisz ale ją robisz . Czym się róźni 6 zmiennych w ram od ramu który nie jest używany dla nas niczym chyba że go nie ma fizycznie ale zawsze można to...
Ok no to powiedzmy że jest zmienna która ma wartość np.4401250 jak ją przekształcić w hex &H34 &H34 &H30 &H31 &H32 &H35 &H30 bo takie coś musze wysłać na wyświetlacz. Witam. Kalkulator po konwersji na Hex podaje:432862
Do konwersji łańcucha na zmienną numeryczną wykorzystaj funkcje VAL lub HEXVAL . Mając już adres zmiennej, możesz użyć instrukcje INP do pobrania wartości. [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 80 $swstack = 80 $framesize = 80 Declare Sub Show_byte(byref Adres As String) Declare Sub Show_word(byref Adres As String) Declare...
Można wyświetlać temperaturę w podmenu "wybór_Ds" ale trzeba zmienić cały program. Chyba nie jest tak trudno zapisać sobie cztery ID czujników i wiedzieć później który gdzie przypisać. Najlepiej osobno podłączać każdy czujnik i na naklejce na kablu przy czujniki zapisać jego ID. Wiedząc gdzie jakie jest ID czujnika można już mu w podmenu przypisać odpowiednią...
Dawno w Bascomie nie pisałem. Najprymitywniej to można zrobić na zmiennych globalnych używając podprogramu. A więc masz zmienną Xp w której masz numer pinu na którym chcesz operować. Zmienna Xk to będzie już wartość skorygowana. Robisz podprogram: [syntax=basic4gl] Konwersja_pinow: Select Case Xp Case 0 Xk=5 Case 1 Xk=3 .................... Case 7 Xk=1...
W Bascom, jest magiczna zmienna systemowa "Err" (moze Error ale raczej Err), którą wiekszość programistów ignoruje. Nawet o niej nie wiedziałem. Nigdy nie jest za późno aby się czegoś nauczyć :-) Swoją drogą to ZTCP bez czujnika zwracał 85*C (po konwersji danych na temperaturę w *C z rozdzielczością 0.1*C). Tak samo przy pierwszym pomiarze zawsze zwracał...
Teraz doczytałem dokładnie, że rezultat to zmienna tekstowa a nie typu single, może jak ją deklaruje jako single to się sypie w tym momencie ? no to Ci przecież o tym pisałem. możesz to zrobić inaczej, bez żadnych konwersji. wyświetlasz 26.1234 a potem locate i zamazujesz 3 ostatnie cyfry. dużo w bascomi pisze i przyznam że zawsze jak używam jakiś...
Witam, Mam problem z konwersją zmiennych, a mianowicie Dim Vład As Word Dim Vład1 As Single Dim Vład2 As String * 6 Dim Mnożnik_vład As Single Dim Mnożnik_vład_1 As Single Dim Mnożnik_vład_2 As String * 6 Vład = Getadc(6) Vład1 = Vład * Mnożnik_vład Vład2 = Fusing(vład1 , "#.##") Potem w trakcie trwania programu chciałem aby zmienna Mnożnik_vład została...
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...
Witam. Proc: Atmega8 IDE: Bascom Piszę dość spory kawałek kodu, a zatrzymałem się na prostej funkcji. Jej zadanie mam być konwersja liczby z jednego zakresu na inny (np. 0-1023 na 0-255). Napisałem taki kawałek kodu: Function Mapuj(byval Z As Byte , Byval In_min As Integer , Byval In_max As Integer , Byval Out_min As Integer , Byval Out_max As Integer)...
Dzięki za podpowiedź. Będę mógł sprawdzić dopiero pod koniec tygodnia. Niestety dopiero teraz, jak "mam mokro w gaciach" wczytałem się w datasheet i wyględa na to, że zupełnie niepotrzebnie kombinowałem, bo miałem ustawione wszystko jak należy. Mam jeszcze jedno pytanie, ale dotyczy ono raczej assemblera i 1wire. Mianowicie kopilator FastAvr z instrukcji:...
eee tam. mi w bascomie 8051 nie chce działać przerwanie więc tobie pewnie też nie zechce. Co do wysyłania to ja bym to zrobił tak: print ">"; printhex zmienna_a; print "," printhex zmienna_b; print "<" lub: printhex ">";zmienna_a;","... spowoduje to wysłanie do portu czegoś...
Kolego tera nie działa mi ustawianie godzin a zrobiłem to tak deklaracja:[syntax=vbnet] Declare Function Ustaw(byref Godziny As Byte , Byref Minuty As Byte , Sekundy As Byte) As Integer Declare Sub Znak(cyfra As Byte) 'deklaracja tablicy stałej do wyświetlania cyfr i znaków na wyświetlaczu 7 seg Declare Sub Czytaj 'deklaracja funkcji bez parametru do...
Zmienną J deklaruje w następujący sposób: unsigned char J; Widzę , że pomyliłeś C z Bascomem :D Bascom automatycznie konwertuje sobie typy danych(przez co jest pamięciożerny) , a w C musi zrobić to programista , czyli Ty. Wiesz , że J to zmienna umiejscowiona w pamięci RAM(data) , więc z funkcji lcd_print(0, 1,"Jakis tekst"); nie możesz korzystać.Mało...
Nie zmienia, bo masz błąd w innym miejscu. Dokładnie to miałem na myśli-że błąd jest gdzieś indziej. Zastanów się, co oznacza nazwa trybu CTC (?) – w ang. jest to ‘Clear Timer on Compare’ (pol. - wyzeruj zawartość licznika/timera, gdy jego zawartość jest równa wyznaczonej z góry i ustalonej, bądź to wyliczonej jakiejś wartości w zmiennej...
Witam ponownie Zrobiłem to przez Timer0. Jednak problem z aktualizacją wyświetlania dalej występuje. Jeszcze drugi problem to start, przez okres zdefiniowany zmienną Licznik ( teraz równą 300 ) nic się nie wyświetla - dopiero po czasie = 300. Próbowałem również z Enable/Disable Interrupts na czas pomiaru, ale nie było żadnego efektu. Mam takie pytanie...
Wszystko zależy jak szybkozmienna jest ta amplituda i jak często musisz mieć wynik. Kiedyś zrobiłem na Atmedze wskaźnik wysterowania audio taki jaki był w starych magnetofonach na LEDach. Zadeklarowałem zmienną. Puściłem dwa przerwania, jedno bardzo gęste, to odczytywało wynik chodzącej non stop konwersji A/C i jeśli odczytana wartość była większa od...
To nie jest wcale takie skomplikowane. Musisz włączyć zezwolenie na przerwanie od zakończonej konwersji. Wtedy kiedy wprowadzisz uC w stan Iddle albo Noise canceler start konwersji nastąpi automatycznie. Wyboru kanału/wejścia dokonuje się rejestrem ADMUX. Niestety jest w nim też wybór źródła napięcia odniesienia a nie pisałeś czego chcesz użyć. Każde...
Część po przecinku to sobie normalnie matematycznie wyodrębniasz. Nie wiem dokladnie o co chodzi:( mozesz troszke jasniej? moze na jakims przykladzie? Kolega snow ma rację , ale nie koniecznie musi to być "matematycznie" :) Załóżmy , że po pomiarze i obliczeniu napięcia w zmiennej SINGLE , użyjesz instrukcji FUSING , do konwersji SINGLE na STRING.Po...
Coś namieszałeś w tym podprogramie odbioru z UART. Najpierw czytasz do zmiennej F, potem to Case 0 to 4 (?). Jeśli używasz ASCII to skąd niby mogły by się odebrać takie wartości ? Potem nagle ni z tego i owego pojawia się zmienna E bez związku z odczytem. Myślę, że ciągle mylisz kod ASCII z liczbami i przez to masz problemy. Możesz też przed parsowaniem...
Jeśli przetwornik ADC jest w trybie free, to jak odczytać wynik? Jest specjalna zmienna ADC typu Word, która jest "rzutowana" w przestrzeń IO pod adresy &H24-&H25 (ADCL i ADCH). Tam przetwornik będzie ładował wyniki konwersji. Wypadałoby jeszcze czytać bit ADIF (z Bascom ADCSRA.4) by wiedzieć kiedy w ADC znajdzie się kolejny wynik i kasować go po odczycie....
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...
Napisałem programik do wagi, obsługuje przetwornik ac w AtMega8 : $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.3 , Db5 = Portd.2 , Db6 = Portd.1 , Db7 = Portd.0 , E = Portd.4 , Rs = Portd.5 Dim I As Byte Config Adc = Single , Prescaler = Auto , Reference = Avcc 'ustawianie przetwornika AC...
Usunąłem Wait 1 przy konwersji z DS18B20, działa, bez problemu ( na trzech przewodach ), tylko wyniki są opóźnione - tzn. wyświetlany wynik nie jest z aktualnego pomiaru, tylko z poprzedniego. Dodałem jeszcze dwa czujniki DS18B20. Ich zapis razem z godziną i datą na karcie jest jak najbardziej w porządku, tylko wyświetlanie trochę szwankuje - tzn. czasem...
Cytuję: "Ustawia się to w zależności od skomplikowania programu. (...)" O co tutaj chodzi i o jakie wartości tutaj chodzi? Dokładnie chodzi o ilość bajtów jaką początkowo zajmie każdy ze stosów. Stos jest elementem rozrastającym i kurczącym się dynamicznie. Może dojść do sytuacji gdzie jeden zajdzie na drugi - stack overleap - i kłopot gotowy. Dlatego...
W związku z budową sterownika do pompy CWU, po przygotowaniu projektu analogowego, stwierdziłem że znacznie prościej będzie wykorzystać mikrokontroler. Urządzenie jest dość proste, mierzy regularnie temperaturę i jeśli wykryje wzrost załącza przekaźnik na określony czas. Niestety w pisaniu oprogramowania do µC jestem początkujący i prosiłbym o...
Moim zdaniem schemat niczego nie wnosi gdyż jest podłączona klawiatura matrycowa do portu d wyświetlacz do portu c a dioda do inu 0 portu b. Ma ona się zapalić kiedy zostanie wciśnięty klawisz w celu zwiększenia wartości zmiennej, która ma odpowiadać za ustalanie cyfr jedności dziesiątek itd. aby wprowadzać liczby kilku cyfrowe z klawiatury. Ok mam...
Witam W ramach dalszego eksperymentowania z AVR i Bascom popełniłem połączenie odczytu z DS18B20 z sterowaniem wyjściem uC ( przez tranzystor FET ) + dodatkową atrakcję - buzer, który sygnalizuje wł/wył tranzystora/wyjścia. Chciałem dodać możliwość zmiany temp max i min, przez proste menu. Menu zrobiłem w oparciu inny mój kod obsługujący ustawianie...
Witam Zachęcony sukcesami z płytką EVB 4.3 zaprojektowałem i zamówiłem swoją - na początek z AtMega8 w DIP. Do tego pamięć 24C32 oraz układ do RS485. Wszystkie układy mają kondensatory 100 nF ( stabilizator 7805 również + jeden elektrolit ). Całość ze złączem pod wyświetlacz 2*24 ( właściwe 4*12 ) Reset przez rezystor 10 K do +5V AtMega8L ( na 8 MHz...
Witam Chciałem zmienić dotychczasowy sposób zapisu, czyli plik w głównym katalogu, na zapisywanie pliku w katalogu \rok\miesiąc W tym celu dodałem do działającego kodu zapisu SD polecenie Chkdir oraz zmienne określające rok i miesiąc, ale to nie działa. Tzn. plik nadal zapisuje się w głównym katalogu. Na karcie pamięci założyłem katalogi 12 , 13, 14...
Witam Próbuje przerobić kod obsługujący kilka DS18B20 na jednej linii i drugi obsługujący kilka DS18B20 na kilku liniach. Niestety jak na razie efekt jest taki, że działa tylko pierwsza linia, czyli dwa DS18B20. Jeśli chodzi o konfiguracje, to celowo nie ma Config 1wire = Porta.1 gdyż wpisanie tego portu, jako 1WIRE powoduje wyświetlanie 0.0 dla pierwszego...
Zapoznaj się z kartą katalogową DS18B20, bo wysłanie CC to pominięcie wyboru układu, czyli nie trzeba podawać adresu układu z którym nawiązujemy komunikację, 44 to start konwersji temperatury. Po kolejnym resecie ponownie CC i BE co powoduje, że DS18B20 zaczyna wysyłać dane ze swojej pamięci. Temperatura jest zapisana na pierwszych 2 bajtach stąd 2...
Panowie, cały problem tkwi w konwersji zmiennych. Pewnie nikt nie wie co się stanie jak BASCOM zrzutuje integer (16) i to pewnie ze znakiem (signed) na bajt albo lepiej char (bajt ze znakiem). Trzeba się dowiedzieć jak on to robi albo po prostu zacząć pisać w poważnym języku na poważny kompilator (bez obrazy oczywiście) :) Pozdrawiam (M.) Nie wiedzą...
Próbowałem coś takiego i męczę się cały czas ,ale i tak mi wychodzą głupoty. :( [syntax=basic4gl]Sub Gettime() 'pobieranie czasu z PCF8583 'początek petli I2cstart 'inicjalizacja magistrali I2C I2cwbyte 166 'podanie adresu PCF8583 dla zapisu I2cwbyte 2 'wybranie drugiego rejestru (sekund) I2cstart 'powtórna inicjalizacja magistrali I2C I2cwbyte 167...
Witam Testuje termometr na dwóch Ds18b20 i żeby wynik wyświetlany był trzech wyświetlaczach 7seg. LED. Ma działać tak że najpierw pokazuje na 3 sekundy 1 temperaturę a po tym czasie na kolejne 3 sekundy pokazuje 2 temperaturę. Linie 1 wire podciągnąłem z rezystorem 3,3K do +5V. Wszystko działa temperatury się zmieniają i wyświetlają ale co jakiś czas...
Mam podpiętych kilka przycisków - stąd różnica - czasami przestawiałem raz tak, raz tak. Zrobiłem tak jak poradziłeś, wyszedłem od prostej obsługi przycisków (drugi przykład z pierwszego mojego postu) i po kawałku dodawałem fragmenty zegara, przy okazji wrzuciłem dwa rodzaje obsługi (przez select...case i tak jak miałem oryginalnie). No i ... działa....
Może nie umie wstawiać? $regfile = "m88def.dat" $crystal = 1000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.5 , Rs = Portb.4 Config Portd = &B00001111 'portd 0 1 2 3 jako wyjscia portd 4 jako 1wire 5 6 7 jako wejscia Portd.5 = 1 Portd.6 = 1 Portd.7 = 1 Portd.3 =...
Wziąłem sobie Wasze uwagi do serca, choć nie wiem, czy dobrze je zrozumiałem. Kod wygląda teraz tak: Xury , do mnie trochę jak do dziecka, ale zapewne chodzi Ci o błąd w postaci zapętlenia podprogramów? Po dokonaniu w/w zmian, objętość kodu wzrosła o około 30%, rozumiem już, co miałeś na myśli pod pojęciem "redukcji kodu wynikowego". Teraz już nie wiem,...
Po przeczytaniu wielu postów napisałem program który ma wyświetlać na wyświetlaczu LCD Napięcie , prąd oraz temp. Chciałem to wykorzystać do zasilacza, którego właśnie buduje. jednak po zaprogramowaniu procka wyświetlacz mi się nie inicjuje (zaświecają się kwadraty w pierwszej lini). Czy jest jakiś błąd w moim programie ? Proszę o sprawdzenie. $regfile...
Witam na wstępie chciałem powiedzieć, że nie jestem dobry w programowaniu, bo dopiero zaczynam i mnie to powoli wciąga. Mam parę pytań i postanowiłem napisać. Chce zrobić sobie taki mini komputer pokładowy do Fiata Cinquecento 700. Ten mały układ ma wskazywać temperaturę w środku samochodu i na zewnątrz a tak, że będzie pokazywać napięcie, jakim jest...
Tak jest, sprawa zadania odczytu i konwersji danych nie jest tu problemem, kod jest poprawny. Starzy Chińczycy twierdzą, że zupa ogórkowa nigdy nie smakuje tak samo, uważają też, że każdy problem da się rozwiązać wnikliwie studiując literaturę... Panowie, problem tkwił w tym, że wywołanie przerwania zapisuje stan rejestrów, ale.... nie wszystkich !...
Kolego neo_84 Sprawdziłem Twój program , jest zagmatwany jakiś taki nieczytelny. Powinieneś maksymalnie opisywać kod ,a poszczególne odrębne funkcje umieszczać osobno aby jak najbardziej program był czytelny nie tylko dla Ciebie , ale i dla innych elektroników (to bardzo pomaga!) Podam Ci szkielet kodu jaki ja stosuję przy multipleksowaniu i odczycie...
Nie aż tak „karkołomne” :-) Procedurka dla DS18s20 w Bascomie, chociaż w asemblerze ;-) '***************************************... !oblicz_temp_DS: Oblicz_temp_ds: 'obliczenie temperatury z rozdzielczoscia 0,1 st.C x100h(256) mov a,{crc8} Jnz obl_temp_end 'odczyt i zaokroglenie...
Jest tego sporo, DCF77, 7 x DS18B20 i DHT11 ( akurat jeśli chodzi o niego to mam wątpliwości, czy ten kod działa, bo jest na obydwu płytkach podpięty i zdarza się zawieszenie ) Nadajnik Atmega328p Dodano po 16 Odbiornik Atmega644P - trochę zmieniłem obsługę przerwania, wydaje mi się, że w przerwaniu nie powinno się wykonywać dużych obliczeń. [syntax=basic4gl]...
Rezystory są już dane na płytce, zresztą zegar na PCF działa bez zarzutu ( no może trochę śpieszy, ale to kwestia kondensatora przy kwarcu ) sprawdziłem połączenia - nóżki 5 czyli SDA ( 24C02 i PCF8583 ) są podłączone do 23 nogi uC, czyli PC1-SDA. Podobnie z SCL. Teraz zrobiłem tak, że odczyt jest po włączeniu/resecie ( przed pętlą główna ), a zapis...
Witam serdecznie. Szukałem już chyba wszędzie, próbowałem kilkunastu innych programów i problem ciągle zostaje nie rozwiązany. Otóż piszę program do sterownika pieca. Posiada on 3 czujniki DS18B20, 3 przekaźniki i 1 triak do sterowania pompki kolektorów. Wszystko działa bez zarzutu. Problem pojawia się dopiero po włączeniu przerwania od INT0 (regulacja...
Witam Muszę stworzyć układ w którym bedę używał 8 czujników DS18B20 , i każdy musi pracować na osobnym pinie. Nie mogę podpiąć wszystkich na jednej linii i odpytywać ich po ich ID. Kiedyś robiłem sterownik w którym odczyty robiłem w ten sposób: Sub Odcz_temp1 Config 1wire = Portb.0 1wreset 1wwrite &HCC 'opuszczenie zapisu numeru ID 1wwrite &H44 'start...
Witam wszystkich! Pewnie pomyślicie "znowu to samo", no ale zlitujcie się w Wigilię i przeczytajcie te kilka zdań :D Walczę z problemem od kilku dni. Nie potrafię skonfigurować Timera by konwertował dane z 1wire poza główną pętlą. Nie mogę sobie pozwolić na waitms, bo wtedy mam problemy z poruszaniem się w menu. Mam już działający Timer1 odliczający...
Ja też miałem takie cyrki z przerwaniem. napisałem więc program w ten sposób: '///////////////////////////////////////... '////////// TERMOSTAT /////////////// '///////////////////////////////////////... $crystal = 4000000 'rezonator 4MHz $regfile "attiny2313.dat" 'attiny 2313...
Witam. Zrobiłem termometr taki jak w temacie http://www.elektroda.pl/rtvforum/topic33... tyle że zamiast AT90s2313 dałem ATmege8, taktuje go wewnnetrznym oscylatorem 4MHz ponieważ portb jest zajęty dla wyświetlacza. Po uruchomieniu na wyświetlaczu pojawiają się "niepełne" cyfry coś podobne do 2 lub innej cyfry. Programu nie zmieniałem...
Znalazłem poniższy kod na "Elektrodzie" załadowałem do procesora, pomiar napięcia jest zrealizowany zgodnie z przykładem z książki o Bascomie, niestety coś jest nie tak, ponieważ mimo że do ADC1 nie przykładam żadnego napięcia na wyświetlaczu pokazuje napięcie 1,96-2,03 V, po przyłożeniu napięcia 5V wskazanie wyświetlacza jest prawidłowe. [syntax=basic4gl]...
Witam Mam układ, który mierzy dwie temperatury ( DS18B20 ), dwa napięcia ( PCF8591 ( pobiera czas ( PCF8563 ), a z powodu niedużego wyświetlacza ( 12 x 4 ) wskazania są zmieniane do 10 sekund po przepełnieniu Timer1. Układy PCF8563 i PCF8591 są podpięte z "zewnątrz" przewodami około 10 cm. Magistrala I2C ma obniżoną prędkość przez Config I2cdelay =...
Witam Ten temat pewnie tysięczny raz jest poruszany, ale nie udało mi się jak dotąd znaleźć wyjścia z sytuacji. Sprawa wygląda tak: mam podpięty czujnik Ds1820 do portu D pin 4. Standardowe podłączenie: VCC - VCC DATA - PIND.4 GND - GND z pinu PIND.4 portu opornik i na VCC. Kolega użyczył mi kawałek kodu w Bascomie do obsługi 1-wire, i sprawdziłem i...
Witam kolegów. Potrzebuję sterownika pompki do C.O. Znalazłem program napisany w BASCOM i przerobiłem go nieco do swoich potrzeb. Działa wszystko prócz HISTEREZY. Przy powolnym narastaniu temperatury, która skacze +/- pompka włącza się i wyłącza, czyli histereza nie działa. Histerezę zrobiłem wg. porad z forum. Czy może ktoś pomóc? Oto kod: [syntax=vbnet]$regfile...
Witam. Składam sobie zegar z termometrem na Attiny2313 i DS18B20 lecz mam problem z ujemną temperaturą. Do odczytu temperatury używam programu kolegi "Elektrooonik" ponieważ zajmuje najmniej kodu co jest tu dla mnie ważne i z 1-Wire styczność mam pierwszy raz więc wpierw wolę mieć jakiś przykład. Program Oryginalny do pomiaru temperatury wygląda tak:...
Witam posiadam dwa rodzaje wsadu do procka jeden to plik hex drugi to plik bas rozumiem że ten drugi plik udostępnia kod źródłowy i można go w dowolny sposób edytować i tam dopisać zmiany?? Dobrze to rozumiem ?? Tam w kodzie programu praktycznie nic nie będziesz musiał zmieniać w tym BAS. Jedyne co to nagłówek nazwy mikrokontrolera i puścić kompilację...
Kurcze ale malutki jestem... :D Po skrócie 1. Nie używałem JTAG-a i ta wiedza póki co nie jest mi raczej potrzebna. 2. Wiem jak ustawia się fusebits, ale jak napisałem na AT mam wyłączony JTAG a na AT168 nie. Jednak magistrala na AT168 działa bez problemu i to na porcie C z włączonym JTAG-iem 3. Rezystor podciągający dobrałem metodą prób i błędów staneło...
Tworzę sterownik który będzie operował na 4szt DS18b20 Program jest pisany w bascom Czy w bascomie można zadeklarować tablicę dwu wymiarową Tablica (4)(8) Dla czego przy odczycie danych muszę ponownie resetować magistralę i podawać numer seryjny układu. Podobno po wysłaniu za pierwszym razem numeru układu inne milczą a wskazany nadsłuchuję 1wreset 1wwrite...
Podpowiem Ci że fajnie jest sobie na kartce napisać szkielet i wszystko opatrzyć etykietami lub używać funkcji. Wtedy wszystko jest bardziej czytelne i nie ma żadnych zapomnianych linijek. Kod wykonuje się linijka po linijce od góry do dołu i jeżeli niczym go nie zawrócisz to się na końcu zatrzyma. W pętli głównej dajesz sprawdzanie wartości i ewentualne...
Witam, Proponuję spróbować tego, to kawałek kodu z mojego pliku pomocy w obsłudze termometru DS18B20: 'Odczyt temperatury z dokladnością do dziesiątych części $regfile = "89s8252.dat" $crystal = 12000000 Dim Odczyt(2) As Byte 'deklaracja dwóch zmiennych typu byte do których będą zapisywane dane z termometru Dim T As Integer , Przecinek...
Witam Mimo, że większość proponowanych tutaj rozwiązań podłączenia RFM12 do Atmegi wykorzystuje SPI programowe, ja podłączyłem tradycyjnie, przez SPI sprzętowe - mimo, że nie miałem problemów z wgrywaniem kodu do Atmegi spiętej z RFM12, to uruchomienie ich razem jest problematyczne ( każde osobno działa bez problemu ) [syntax=basic4gl] $include "Config_AVR-DOS.BAS"...
Pewnie mój, tylko pisząc o błędzie miałem na myśli konwersję z "Fusing". Owszem, string zawiera o jeden znak więcej niż my widzimy, tyle w w wielu programach (m.in. w książce M. Wiazani jest zapis: zmienna As String*3, a następnie konwertowana za pomocą Fusing na x.xx (4 znaki). W helpie też na ten temat mało. Może o czymś nie wiem. Dodano po 9 Aktualny...
Witam Mam taki programik troszke posklejany ale wyskakuje błąd co robie nie tak . label not found [_ENDIFO ] $regfile = "m8def.dat" 'Atmega8 $crystal = 8000000 'Kwarc 8MHz Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.1 , Db6 = Portc.0 , Db7 = Portb.5 , E = Portc.3 , Rs = Portc.4 '*************************************.....
Jak widać realizacja tego projektu rozciągła mi się nieco w czasie :) Mam nadzieje ze nikt nie będzie miał mi za złe że pisze w dosyć starym temacie, ale tutaj znajdują się już wszystkie schematy. Mój problem wygląda następująco: podłączyłem sobie czujnik sharp pod PortC.3 i napisałem sobie następujący kod w bascomie $regfile = "m8def.dat"...
Program napisany jest w Bascom. Delay nie ma w ogóle. Program napisany chaotycznie, ale działał ok dopóki nie dopisałem obsługi DCF77. Gdy przyjdzie odpowiednia godzina, dioda IR ma wysłać kod do odbiornika. Wtedy właśnie procesor zwalnia. Sekundy wtedy "idą" co 3 no i dźwięk ma zwolnione tempo. [syntax=vbnet] $regfile = "m32def.dat" $crystal = 8000000...
Witam Jak wielu spotkałem się z problemem problemem kłopotliwej obsługi pilota z RC5. Po poszperaniu w necie wpadłem na http://www.elektroda.pl/rtvforum/topic20... ten temat. Jak się okazało wszystko na tym programie pracowało, ale nie zawsze. Kłopotem było napisanie programu "pod pilota". Oczywiście pochwała dla Sabotaz'a który problem "ruszył"...
zmienna float konwersja zmienna bascom bascom zmienna
canon pixma mg5750 połączenie scart połączenie scart huawei google konto
napęd force stereodekoder radmor
Mercedes W220 S320 – ograniczenie do 3000 obrotów, tryb awaryjny, MAF, DPF, conductor plate 722.6 Miele W5873 – bęben nie kręci się, kod błędu F53, diagnoza napędu pralki