If Pinb.2 = 0 Then Waitms 25 If Pinb.2 = 0 Then ... Zapoznaj się z Debounce !!! Do .... Debounce Pinb.0 , 0 , Dodaj , Sub Debounce Pinb.1 , 0 , Odejmij , Sub Loop Dodaj: Incr Zmienna 'lub zmienna = zmienna + {jakaś wartość} If Zmienna > {wartość końcowa} then Zmienna = {wartość początkowa albo wartość końcowa} Lcd...
Zwiększaj tylko jeśli zmienna <255 z zmniejszaj jeśli >0
Chyba raczej tak powinieneś to przeliczyć : If zmienna >7 then zmienna = 22 - zmienna end if
Wartość w poleceniu lookup to jest właśnie adres wiec nie kumam w czym problem. przeskaluj adc z 0-1023 na 0-90 i potem wywołuj zmienna=lookup(adc,tablica)
Zdefiniuj wszystkie zmienne na jakich robisz operacje dzielenia i modulo jako INT. Zmienna jednobajtowa się przekręca do zera po osiągnięciu wartości 256.
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...
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
Do komunikacji z układem można wykorzystać instrukcje I2csend i I2creceive , po wykonaniu w zmiennej Err jest kod błędu: [syntax=basic4gl]I2csend 112 , &B00010000 ' I2csend adres układu, wartość I2creceive 113 , Zmienna ' I2creceive adres układu, zmienna[/syntax]
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...
Zadeklarowałeś "Zmianna" a przypisujesz "Zmienna". :) Edit: Wyjście z procedury obsługi przerwania wykonuje się za pomocą Return a nie Goto Glowny ! Resztę błędów znajdziesz sam. :)
Jeśli dalej używasz choćby jednej zmiennej typu Bit to nadal pomysł jest aktualny bo bitów zawsze jest osiem. Jeśli nie, to mozna wygospodarować jedną zmienną typu Byte, ale że Tiny13 to bardzo wymagający uC i mozesz już nie mieć więcej miejsca na Byte to możesz pojechac po bandzie i do przechowywania wartości wykorzystać jakiś nieużywany rejestr :D...
.Czy ktoś może wie w czym tkwi problem/spotkał się z taką sytuacją? A zmienna, której wartość kopiujesz do OCR3A/PWM3A nie jest przypadkiem zadeklarowana jako BYTE ? Jeżeli to nie to, to spróbuj zapisywać rejestry OCR3 osobno - OCR3AH, OCR3AL.
a po co się upierać przy writeeprom, skoro można zadeklarować sobie zmienną wprost w obszarze pamięci EEPROM i później z niej korzystać prawie tak jak ze zwykłej zmiennej w RAM Dim Zmienna As ERAM Byte a później gdzieś w kodzie: Zmienna = Obroty ' w ten prosty sposób zapamiętujesz w EEPROMIE swoje obroty albo Obroty = Zmienna ' czyli np po starcie odtwarzasz...
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...
Poniżej fragment: Odczyt = 0 For Krok = 1 To 100 W = Getadc(1) Odczyt = Odczyt + W Next Krok Wyn = Odczyt / 100 Zmienna wyn to uśredniony pomiar ze 100 odczytów. Pozdrawiam.
Odczytać musisz cały port B a potem zerować 3 najstarsze bity bo one mogą powodować zamieszanie. Zmienna oczywiście bajtowa. porównujesz potem zmienną z konkretnymi wartościami. Czyli masz 16 warunków sprawdzających jaki klawisz został wciśnięty.
...Chodzi mi o to że chce wyświetlić na Lcd znak którego wartośc mam zapisaną w bajcie np D1 - wartość binarna Np w D1 jest 0111000 i chce aby na wyświetlaczy pokazało sie " p " Jak to zrobić ? :) Piotr Takie "cuda" robi się za pomocą polecenia Chr() :D Jeśli w zmiennej jest zapisany kod ASCII jakiegoś znaku , to by wyświetlić właśnie ten znak na LCD...
Za pomocą Mid nie da się? Np coś w tym rodzaju: Zmienna = Mid(string_uart , 9 , 2)
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...
' Funkcja musi być zadeklarowana przed jej pierwszym użyciem ' ponieważ kompilator musi wiedzieć jaki jest rozmiar danych ' przesyłanych do funkcji i jaki jest jej typ wyniku ' Funkcja musi mieć zdefiniowany typ wyniku, tu Integer Declare Function Test(byval Liczba As Integer , Tekst As String) As Integer ' określenie byval przed nazwą oznacza,...
A może wystarczy: PWM_FREQ=krok(np 10)*zmienna i potem incr zmienna
na starcie ustawiasz kierunek=15. Dochodzisz do końca tekstu np adresu 80 i wtedy zmienna kierunek przyjmuje wartość kierunek=17.
W ten sposób to ci się nie uda. Restore to przywołanie całego bloku data o jakiejś nazwie. Funkcja read czyta kolejne znaki - jak w tablicy. Aby kod zadziałał powinieneś użyć funkcji lookupstr: do numer_opisu=0 tekst = Lookupstr(numer_opisu , Menu_opisy) lcd tekst loop end Menu_opisy: data "1-opis", "2-opis", "3-opis"...
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
Najprościej to użyć overlay w sram. Single to 4 bajty w pamięci. dim zmienna_single as single dim bajt1 as byte at zmienna_single overlay dim bajt2 as byte at zmienna_single+1 overlay dim bajt3 as byte at zmienna_single+2 overlay dim bajt4 as byte at zmienna_single+3 overlay Potem zapisujesz bajty do eeprom, odczytujesz kiedy chcesz i masz wynik w single.
...Gdy z terminala wysyłam 2 to procek zwraca mi 50 gdy 1 to 49 gdy 3 to 51 itd Pewnie gdyby a była single to by było O.K. "Kłaniają się" typy zmiennych. Kiedy do terminala wpiszesz 2 , to po łączu szeregowym do uC , jest wysyłany kod ASCII cyfry 2 , czyli dziesiętnie 50.Instrukcja print , "przetwarza" owe 50 na ciąg znaków ASCII reprezentujących liczbę...
na wyświetlaczu miga mi cyfra " 7 " , czyli wnioskuje że zmienna B przyjmuje wartość 7 , ale dlaczego ? oraz zero reakcji klawiatury. Witam Nie 7 tylko 15 :) 15 nie może być wyświetlone 7 segmentach, to 1111 3 ostatnie jedynki to właśnie 7. Daj if-a <15 zobaczymy pozdrawiam
Fajnie by było, gdyby funkcja zwracała wartość logiczną - czy single ma wartość ułamkową czy też jej nie ma. Chociaż trzeba by się przyjrzeć jak zorganizowana jest zmienna single, czy czasem nie da się wyjąć tej wartości co po przecinku np. za pomocą LOW(zmienna) na przykład.
Co jest nie tak ? Delikatnie mówiąc wszystko. 1 Timer nie wiem co liczy, cały jest źle napisany i nie powinien działać, bo np: przerwanie od timera powinno być zadeklarowane przed pętlą główną i nie w warunku. Zmienna Reload nie jest zerowana i zwiększa się do maximum typu Word Zmienna M (w zamierzeniu chyba od minut) też się zwiększa do 255 Zmienna...
Użyj po prostu VAL(zmienna typu string). Ale nie jestem teraz przekonany, czy VAL zwróci wartość stringa zawierającego HEX. Możesz napisać prostą procedurę, która zamieni dwa znaki w HEX na wartość dziesiętną, a tą już łatwo wyślesz. EDIT: Jest komenda HEXVAL - opis w helpie.
Można to zrobić w bardzo prosty sposób: Komenda GETRC Przeznaczenie: Określa wartość zmiany rezystancji lub pojemności. Składnia: zmienna = GETRC( port , numer ) gdzie: zmiennazmienna typu Word w której znajdzie się wynik pomiaru, portnazwa portu procesora, np.: PIND, numernumer końcówki do której podpięty został obwód RC. Schemat: pinx ----[fotorezystor]------|...
..i jak zadeklarować zmienną "Ile_wpisow", jezeli zmienna ta może osiągnąć większą wartość niż 255 ?? Integer ?
Zamiast tego po prostu Licznik = Licznik + 2 lub Licznik = licznik + a "a" to zmienna, a jaką będzie miała wartość zależy od Ciebie.
i dalej nic co prawda zmienna portB przyjmuje tą wartość ale "światełka" dalej nie reagują :?:
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...
Zmieniłem te parametry stosu ale nic to nie dało. Wciąż powyżej danej wartości następuje zanik zmiennej.
Rzeczywiście, z zaremowaną funkcją bitwait zmienna W przybiera wartości. Nie mam pojęcia dlaczego.
:) 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...
Nawet nie tyle nie jest liczbą binarną, co zmienne o typie zmiennopozycyjnym są zapisywane w postaci mantysy i wykładnika. A że mantysa ma skończoną długość to pewnych wartości nie da się dokładnie przechować. Typowo taka zmienna ma 32 bity, stąd można przechowywać 2^32 różnych liczb, jako, że single ma pewnie coś koło +/-10^38 to dostrzegasz problem?
... czy jest to możliwe? Raczej nie, ale jest wysoce prawdopodobne, że Twoja zmienna "B" zmienia wartość na "0". Na samym początku kodu, po deklaracji $Crystal dodaj "takie coś"...[syntax=basic4gl]Set Mcucsr.jtd Set Mcucsr.jtd[/syntax]
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...
Zacznijmy od tego, że zmienna A jest typu byte, więc przyjmuje w Bascomie wartość 0..255. Odpowiedzi C, D, E możesz z góry wykluczyć.
W tym miejscu należy podać zmienną i wartość do jakiej ma startować na nie przypisać zmienna do tej samej zmiennej.
Witam. W trzeciej i czwartej linijce programu konfigurujesz wyświetlacz LCD, poleceniem CLS inicjujesz wyswietlacz, żeby coś na nim wyświetlić musisz napisać LCD zmienna wtedy wartość zmienej zostanie wyświetlona. Żeby sprawdzić jak to działa może spróbuj od czego prostrzego. Koledzy piszący wcześniej dobrze Ci radzili. Poszukaj w internecie przykładów...
Albo z drugiej strony: wprowadzasz dodatkową zmienną przechowującą wartość aktualnego czasu w minutach (niestety potrzebna będzie zmienna typu word), podobnie czas załączenia - oczywiście przeliczanie to tylko x = Godz * 60 x = x + Min Pozostaje jedynie porównać obie zmienne.
Config Portb = 63 : Portb = 63 Config Timer0 = Timer , Prescale = 1 Enable Interrupts : Enable Timer0 : On Timer0 Time Do Loop End Time: Timer0 = Zmienna Toggle Portb.3 Return Zmieniając wartość zmiennej "Zmienna" zmieniać będzie się częstotliwość impulsów.
Wystarczy sprawdzić czy funkcja Getatkbd() zwraca 0 wtedy żaden klawisz nie jest naciśnięty. Warunek można więc skonstruować tak, że gdy zmienna do której zwracana jest wartość funkcji Getatkbd() jest większa od zera to robimy obsługę klawiatury, a jeśli nie program normalnie kręci się w pętli. Wciąż nie rozumiem czemu tak uparcie chcesz do tego wykorzystywać...
To jest dosyć niewygodny sposób na przesyłanie zmiennych w postaci znaków ASCII i sam się nieco ograniczasz, bo pierwsza zmienna musi mieć zawsze dwa znaki, druga trzy itp... Jeśli chcesz troszkę bardziej uniwersalnie podejść do tematu to przesyłaj wartości zmiennych w ten sposób: PRINT XX,YYY,Z,KKKK czyli każda wartość oddzielona np przecinkiem. Później...
O ile dobrze zrozumiałem idee to cyklicznie negujesz wartość poprzednio wpisną do portu. Nie znam AVR ale może to być taki przypadek jak w 51 , Ustawianie portu polega na wpisaniu wartości do rejestru, ale odczyt następuje z pinów procka. Podciągając lub nie pin rezystorem do +Vcc a sterując zerem, to nawet ustawienie pinu na zero przy odczycie zwróci...
Właśnie przeanalizowałem kawałek sampla z bascoma. Funkcja call przekazuje wartości np Call(Adres, Wartość), to tak jakby ktoś inny chciał sie dowiedzieć.
...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...
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....
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...
Zgodnie z definicją Dim Liczba_krokow as Word zmienna ta ma rozmiar 2 bajtów czyli maksymalnie 65535 zwiększenie spowoduje wyzerowanie. Najlepiej sprawdzić tą wartość przed zwiększeniem/zmniejszeniem. If Liczba_krokow < 65535 Then Incr Liczba_krokow End If podobnie If Liczba_krokow > 0 Then Decr Liczba_krokow End If
Siemka! Musisz wziąść pod uwagę fakt, iż zmienna single przechowuje wartości zmiennoprzecinkowe ze skończoną dokładnością i to może być zauważalne przy niektórych operacjach na tego typu zmiennych. Poszukaj w helpie od Bascoma i poczytaj o kodowaniu liczb zmiennoprzecinkowych i wszystko Ci się wyjaśni:) Pozdrawiam!! Widzę że dałeś kod.:) Mi się wydaje...
Witam. Jest jakiś prosty sposób na odwrócenie wartości zmiennej typu byte? Czyli jeśli zmienna ma wartość 255 to dostajemy 0, jeśli 254 to 1, 253, to 2 itd. Chodzi o odwrócenie działania jednego z kanałów DMX512 w urządzeniu.
Nie ma potrzeby ustawiać adresów zmiennych "na sztywno". Ponieważ Bascom dla zmiennych wielobajtowych , stosuje zapis typu Little Endian to kod może wyglądać tak: Dim Zmienna As Word Dim Zmienna_lo As Byte At Zmienna Overlay Dim Zmienna_hi As Byte At Zmienna+1 Overlay I nie obchodzi nas pod jakim adresem znajduje się Zmienna , bo kompilator zadba o...
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...
wartości mają być też ujemne... dodaj to do programu i jakiego typo ma być wtedy zmienna?
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.
Przeszło mi coś przez myśl. Możesz zliczać po prostu impulsy wysyłane przez nadajnik. Inkrementujesz zmienną "czas". Każdy odebrany impuls resetuje nam czas, a zmienna np "odebrano" zlicza ilość odebranych impulsów. Po zaprzestaniu nadawania czas osiąga jakąś wartość i po jej osiągnięciu zmienna "odebrano" zostaje zapisana. To tyle by było w BASCOM,...
Raczej nie może działać prawidłowo, zmienna Z jest typu String. Przed dzieleniem należy przekonwertować String do zmiennej liczbowej: [syntax=basic4gl]Dim Z1 As Byte ' ' Z1 = Val(z) Y = Z1 / 9[/syntax]
A co budujesz, ze jest ci potrzebne jak najszybsze uzyskanie temperatury z DS-a ? 1 sek nie wystarczy? To nie jest czas, w jakim uC odczytuje wartość z czujnika, to jest czas potrzebny na konwersję wewnętrzną DS-a.
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
Tutaj: [syntax=vb] Dim T(2) As Byte [/syntax] Zmienna Byte - może przechowywać wartość od 0 do 255 zmień ją na Word :D
To wiele wyjaśnia. Spróbuj tak ;) [syntax=vbnet]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 64 $swstack = 16 $framesize = 64 $baud = 9600 Config Lcd = 16x2 Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.6 , Db7 = Portb.0 , E = Portb.4 , Rs = Portb.5 Cursor Off : Cls Dim K1 As Byte Dim K2 As String * 20 Dim Id As String *...
Procesor nic nie wysyła. Linia Wpis = &B1100100111000101 oznacza tylko tyle, że zmienna wpis ma wartość 51653. Równie dobrze możesz napisać: Wpis = 51653 lub Wpis = &HC9C5.
Dzięki, zrobiłem wariant na wartościach i śmiga. Nie wiem po co zmienna lock. Jeśli dobrze rozumuję to jest tu niepotrzebna
Policz sobie jeszcze raz ile masz BITOW w tabelce ! A zmienna typu Byte ma 8 BITÓW.
Program jest prosty do zrealizowania. Robisz sobie 2 podprogramy. W jednym wyświetlasz sobie jedną zmienna na lcd i inkrementujesz lub dekrementujesz. Podprogram powinien dzialac w petli. Drugi podprogram analogicznie a do przeskakiwania pomiędzy nimi użyj gosub.
No właśnie jeśli w programie przed pętlą główną nadam wartości zmiennym w eeprom np. zm_eeprom = "jakis tekst" to po resecie program wystartuje od nowa i zapisze z powrotem wartości początkowe w programie do eeprom ? W takim przypadku, po każdym resecie zmienna będzie nadpisywać nową ( taką samą ) zawartością. Jeżeli przewidujesz 1 reset co kilka dni,...
Aby wszystko było OK to obie wartości (TCNT1H i TCNT1L) muszą być użyte, przy czym należy najpierw wpisać TCNT1H. Tylko że BASCOM to robi samodzielnie więc nie w tym problem. Dodano po 2 Daj cały kod bo nie bardzo widzę w czym problem. A skąd w ogóle wiesz że zmienna jest zapisywana dwa razy?
Witam. Na początek napiszę że to ma być mój pierwszy program napisany w tym języku i pierwszy kontakt z mikrokontrolerami. Nie mam pomysłu jak się zabrać za uruchomienie jakiegoś "zegara". Wydaje mi się że wtrącenie w pytaniu „jakiegoś zegara” wprowadza ludzi w błąd. Z dalszej części wynika że raczej potrzebujesz obsługi TIMERA wbudowanego...
Rozwiązanie Twojego problemu jest banalne. Na początek proponuję wykorzystać zmienną, która jest zwiększana przy każdym wciśnięciu przycisku i w zależności od wartości tej zmiennej (tu wystarczy od 0 do 3, przy wartości 4 zmienna jest znowu zerowana) ustawiasz jedynkę na odpowiednim porcie jednocześnie uruchamiając zliczanie. Kiedy licznik dojdzie do...
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)
Wykorzystaj funkcję Toggle. Jeśli zmienna nazywa się np. A to zapis Toggle A.3 zmieni na wartość przeciwną tylko bit 4 tej zmiennej
Witam Mam mały problem. Od niedawna uczę się języka C dla AVR. Do tej pory wszystkie programy pisałem w BASCOMIE. Teraz chcę stopniowo przestać go używać. Potrzebuję przepisać wartość jednego bitu z bajtu do drugiego bajtu. Przykładowo w Bascomie to wygląda tak: Zmienna.1 = Nic.3 Załóżmy, że "Nic" ma wartość binarną 0101 0 101, a na początku "Zmienna"...
Witam Mam zapytanie do ludzi ogarniających temat uart w bascom. Czy jest możliwość odebrania danych z Uart i w zależności od typu danych wpisać je do zmiennej a lub zmiennej b (zmienna a String zmienna b Byte) Ponieważ jak odbieram dane: [syntax=vbnet] Input , A Input ,B If A = "Dol" Then Portc.5 = 1 End If If A = "Gora" Then Portc.4 = 1 [/syntax] To...
Spróbuj zrobić tak Co4ms: 'procedura obsługi przerwania od Timera T/C0 wykonywana co 4ms Timer0 = 6 'załaduj do Timera0, żeby zliczył 250 (=256-6) impulsów Incr Licznik If Licznik = 6 Then 'zmienna Licznik liczy do 6 aby Licznik = 0 'sprawdzanie stanu przycisku następowało If Pind.0 = 0 Then 'co ok.24ms If Pomoc = 1 Then 'jeśli zmienna Pomoc...
Przede wszystkim musisz zacząć kolego od poznania timerów. Do odmierzenia czasu używamy timerów ponieważ zlicza nam czas w tle działania procesora. Używając polecenia wait zatrzymujesz kompletnie uC na ten czas. Konfiguracja dla AtMega8 8Mhz u mnie wygląda tak: Config Timer1 = Timer , Prescale = 256 ''''konfiguracja timera On Timer1 1s ''''przy przerwaniu...
inny pomysł A as integer (albo LONG ) for A = 1 to ....... ( dowolna wartość z zakresu integer / long ) wait 1 next pętla for ... next może być zawarta w oddzielnej procedurze
Nie rozumiem co się tutaj dzieje. Zmienna Reference nie ma żadnej przypisanej wartości początkowej. Jak np uzyskać 50% świecenia diody? Nie chodzi mi o stopniowe przyciemnianie, po prostu chciałbym mieć możliwość w dowolnym miejscu programu ustalenia jakie napięcie ma być na danym wyjściu. Nie potrzeba żadnej wartości początkowej, jest to zmienna typu...
no bez przesady!!!!!!!!!!!! Nastepny temat ktory powinen wyladowac w koszu. Jest dosyc tematow na temat tego termometra. Nie umiesz uzyc szukaj??????????!!!!!!! juz ci pomoge prosze: Napis = Fusing(t1 , "#.#") a jak nie wiesz co to jest to nie pytaj tutaj na forum tylko uzyj helpa!!!!!! Dodano po 1 jeszcze ci dodam ze zmienna napis musi byc jako string
...Dlatego zastanawiam się dlaczego aplikacja nie odbiera danej wysłanej z urządznia, i ewentualnie co się dzieje po drodze. Bascomowa Print , zamienia wartość binarną zmiennej , na ciąg znaków w kodzie ASCII , reprezentujących tę liczbę. Np. Bascom -> zmienna=1002 -> Print zmienna po RS-sie "leci" kolejno 49,48,48,50,10,13 Jeśli korzystasz z jakiegoś...
Można, tyle, że najpierw trzeba by sobie przygotować mapę pamięci. Bardzo nieintuicyjne (nawet nie jestem pewien pod jaki adres pamięci ładowana jest dana zmienna). Ale repertuar rozwiązań powoli się kończy.
Przeczytałem to co jest wyżej napisane i... nie rozumiem co chcesz zrobić :) Co to znaczy: Potrzeba mi zapamiętać max. 4 liczby które będą następować po sobie dość szybko jednak Atmega potrafi je zdekodować bo jak dobrze się przypatrzę to liczby się zmieniają dobrze, i więc właśnie niech ktoś podpowie, co dopisać by procesor zapamiętał liczby i ustawił...
lub Kod: Lcd _hour ; _min ; _sec Tylko te zmienne mają mimo nastawienia wcześniejszej wartości zegara na 14:33:00 i daty na 01/01/2012 wartość 0, 0 i 0. W trakcie pracy zegara zmieniają już swą wartość, jednak tekstowa wcześniej ustawiona się nie zmienia.
(...) 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ć...
Przepraszam emarcus ale chyba mnie nie zrozumiałeś napisałem 1 sądząc iż jest to jasne ze wynosi 1.00 tak jak to wymaga program. A chodzi mi o to, CZY WYSTARCZA to CO napisałem w programie czy muszę jeszcze coś dopisać aby wartość końcowa była w kg Nie, nie potrzeba ci nic wiecej jezeli masz liniowy odczyt w calej rozpietosci zakresu pomiarowego. Mozesz...
Zmieniłem typ zmiennej z Byte na Integer i działa :D A i mam jeszcze jedno pytanie. Spotkałem się ze zmienną WORD której wartości mieszczą się w granicach 0-65535. Nie jest to aby zmienna LONG ?
Przeznaczenie: Pobiera wynik przetwarzania z wbudowanego układu A/D. Składnia: zmienna = GETADC( nr_kanału [, offset ] ) gdzie: zmiennazmienna do której wpisana będzie przetworzona wartość, (c) Zbigniew Gibek, 2002-2005 (c) MCS Electronics, 1999-2005
Coś enigmatycznie i mało przejrzyście to tłumaczysz napisz jakio rozmiar ma zmienna i co ma zrobić . Jeśli chcesz żeby robiła operacje na porcie możesz to osiągnąć przez wybór typu"case" lub zmienna tablicową czyli w zależności od pobranej zmiennej wybierasz wartość z tablicy i wysyłasz ją na port
czy tak trudno zerknąć do helpa PWM1A = wartość zmienna = PWM1Aalias rejestru Compare 1A licznika TIMER1 (Word) używany gdy licznik pracuje w trybie PWM PWM1B = wartość zmienna = PWM1Balias rejestru Compare 1B licznika TIMER1 (Word) używany gdy licznik pracuje w trybie PWM PWM2 = wartość zmienna = PWM2rejestr Compare 2 licznika TIMER2...
Chwile mnie nie było :D Napisałbym to inaczej, ale wracając do pytania z pierwszego postu . Jeśli chcesz by procesor zawsze był tak samo zajęty to każ mu w tych innych Case`ach także nadawać Pulseout tylko na pin Reset. Bascom to przełknie bo ten pin może pracować jako normalny I/O ale jak jest resetem to nic mu się nie stanie jak napiszesz Pulseout...
zmienna err to zmienna bascoma ,jeśli ma wartość 0 to transmisja danych była ok ,jeśli = 1 oznacza błąd transmisji
Witam, da się jakoś sprawdzić czas trwania wartości zmiennej? Chodzi mi konkretnie o to że mamy jakąś zmienną powiedzmy I=8 jeśli zmienna ta nie przekroczy wartości 8 przez 3 sekundy wykonuje się podprogram poprzez polecenie Gosub hamować
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
Gdybym opisał program wszystko stałoby się oczywiste :D Użycie IF ELSE bez END IF zawsze warte jest omówienia bo potem nikt nie może się doliczyć END IF :D Chodzi o to że jeśli tylko jedna instrukcja jest od jakiegoś warunku zależna to można ją zapisać w jednej linii. Jeśli z powodu jakiegoś warunku musza juz być zmienione dwie zmienne lub wykonać się...
Ostatnią przetworzoną wartość można także odczytać ze specjalnej zmiennej ADCD która odzwierciedla stan rejestrów ADCL i ADCH. zmienna=ADCD to również jest w helpie :)
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 ;)
zmienna bascom bascom zmienna zmiana wartość zmienna
bezpiecznik dmuchawy termiczny podnośniki hydrauliczny z18xe wymiana silnika
Iveco Daily EDC16 uruchamia się tylko na plaku Niedziałające kierunkowskazy w Romet 747 z 2009 roku