255-zmienna
Zmienna = -Zmienna ?
rezultat = HIGHW( zmienna )
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"...
Tak, może być to zmienna bitowa.
Przy pierwszym naciśnięciu uruchomić Timer np. na dwie sekundy. Jeśli w tym czasie odbierzesz drugi znak, to zmienna=2*10+5. Jeśli nie to zmienna=2.
Nie do końca jakby o to:) dim address1 as byte at &H60 dim address2 as byte at &H61 dim Address3 as byte at &h60 overlay Łatwiej się nie da. I akurat język jest tu bardzo ważny :)
No bo zmienna jest typu Byte.
pojaw sie "bba". Bo niby co innego? Najpierw wyswietlasz "aaa", wiec masz "a" na pozycjach 0,1,2 Nastepnie wyswietlasz "bb", wiec to wpisuje się na pozycjach 0,1 - ale pozycji 2 juz nie modyfikujesz, wiec tam zostaje to co wpisales POPRZEDNIO [W PRZYRODZIE NIC NIE GINIE]. Ja stosuje praktyke wypelniania znakiem 0x20 miejsc na wyswietlaczu, gdzie chce...
Tak jak napisał kolega wyżej... Jeżeli potrzeba więcej niż jeden bit to przez maskę bitowa zmienna = portA & 0x1F
- powyżej 10W: "Pwej= Tak będzie się wyświetlało jeżeli pierwszym bajtem zmiennej String Pwej będzie 0. Zero jest końcem łańcucha (dwie możliwości takiego błędu już podałem stos, albo nadpisanie przez inny łańcuch ;)). Nie piszesz też jaka wersja Bascoma to jest, może w którejś wersji był błąd z funkcją Fusing. Możesz podglądnąć co się dzieje z Pwej...
Zajrzałem do skompilowanego pliku i widzę że kompilator w ogóle nie używa tu R2 i R3 więc mi je zostawił ;) Od pewnego czasu w Bascom do rejestrów można się odwoływać prosto z kodu. Ciekawe którą wersję Bascom masz. Pewnie znowu schody... U mnie program się kompiluje na 96% [syntax=vbnet] $regfile = "attiny13.dat" $crystal = 9600000 $hwstack = 16 $swstack...
a=255-a gdzie a to Twoja zmienna.
działa dobrze przyczyna to: If Zmienna < 10 Then Locate 2 , 7 Lcd " " (zamazuje drugi znak i dlatego widać 1 z 10 i 2 z 23 a szczególnie Waitms 250 (czeka i dlatego widać przez chwile) ja bym zrobił tak If Zmienna < 10 Then Locate 2 , 7 Lcd " " End If Locate 2 , 6 (przeniesione z początku pętli Lcd Zmienna Waitms 250
Nie da się skompilować pliku Bascoma 8051 w Bascomie AVR !
Wczoraj jakaś pomroczność mnie dopadła :D ..ale spróbujmy dzisiaj. Zobacz czy tak nie zadziała ;) Varptr to skrót od variable pointer Const Zmienna = Varptr(Dane(_base)) i potem LDS R1, {Zmienna}
Chyba raczej tak powinieneś to przeliczyć : If zmienna >7 then zmienna = 22 - zmienna end if
czy nikt nie pomoże znalazłem taką stronkę z syntezą na si w bascomie http://www.mastervintik.ru/cifrovoj-gene... z wsadem niestety jak próbuje skompilować program w bascomie wywala mi błąd nie zdeklarowana zmienna bascom wersja 2.0.7.1 co jest przyczyną ?
Mozliwe. Dodales rezystor? Jeszcze masz taka zmienna err w bascomie, poczytaj troche o niej.
po mojemu powinieneś zmienić "Inc" na "Incr" Inc jest mnemonikiem asemblerowym i działa na bajcie Incr jest poleceniem Bascom i powinien działać na longu.
Zwiększaj tylko jeśli zmienna <255 z zmniejszaj jeśli >0
Bascom ma symulator, w którym możesz sobie patrzeć jak ci się zmienna zwiększa. Języki nie przestrzegają ściśle reguł zapisu matematycznego.
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)
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]
To jest ten obszar, gdzie Bascom nie daje rady. W assemblerze Bascoma to by było mniej więcej:[syntax=asm] ldi r16, 8 lds r18, {zmienna} przesuwanie_bitu: lsr r18 rol r17 dec r16 brne przesuwanie_bitu sts {zmienna}, r17[/syntax] Albo szybciej kosztem wielkości kodu: [syntax=asm] lds r18, {zmienna} lsr r18 rol r17 lsr r18 rol r17 lsr r18 rol r17 lsr...
wartości mają być też ujemne... dodaj to do programu i jakiego typo ma być wtedy zmienna?
"Szukam teraz zmiennej którą mógł bym to zrobić" Robisz sobie żarty, czy na prawdę nie wiesz co to zmienna?
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.
zmienna = pinb and 15 if zmienna........ tak to powinno być
Nie możesz mnożyć liczby byte i stałej ułamkowej. W tym przypadku zmienna "Kolor_temp" musi być typu single.
nie ja piszę z pamięci więc może tam i niema nawiasów. Przypisuje jej pusty ciąg po każdej operacji ale to nic niedaje
Funkcja MID(...)
Cześć :) Spróbuj tak: zmienna_bitowa_0 = zmienna_bajtowa.0 zmienna_bitowa_1 = zmienna_bajtowa.1 zmienna_bitowa_2 = zmienna_bajtowa.2 itd... Pozdrawiam
Składnia: rezultat = LOW( zmienna ) Przeznaczenie: Zwraca młodszą cześć (bajt MSB) podanej zmiennej. gdzie: rezultatzmienna do której zapisana będzie młodszy bajt zmiennej, zmiennazmienna której młodsza część ma być określona.
Sposobów na to jest ... . Dim Zmienna As String * 5 Zmienna = "piotr" Mid(zmienna , 2 , 1)="o" Piotrek
Integer to nie jest zmienna tekstowa. Sprawdź w helpie jaki zakres ma ten typ zmiennej.
A jakiego typu jest ta zmienna "Zmienna" ?
A na pewno Config baud? A nie jako Zmienna $baud? (aczkolwiek nie miałem styczności z BASCOMem), tak tylko google przejrzałem
Dzięki sprawdzę co i jak
Dwustart ;) Ja bym zrobil tak... Po wcisnieciu przycisku ustawiasz flage ktora kasujesz po 300ms, wcisniecie drugiego przycisku zadziala tylko wtedy jak flaga bedzie ustawiona. A zeby ponownie ustawic flage przycisk wczesniej wcisniety musi byc zwolniony, znaczy to tyle ze trzymanie przycisku nie moze powodowac ciaglego wlaczania licznika odliczajacego...
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.
http://datasheets.maxim-ic.com/en/ds/DS1... Dodano po 2 Bo w helpie widzę tylko &H33 i jest to zmienna tylko co ona robi? &H33 to nie jest zmienna.
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....
ale w 1 jest tak samo i działa. ??
Witam, Włóż to w procedure obsługi przerwania od licznika, w srodku moze byc jeszcze jakas dodatkowa zmienna aby zwiekszyc zakres opóźnienia. W tym przypadku opóżnienie bedzie wynosiło czas pomiędzy przerwaniami razy dodatkowa zmienna. BASCOM to nie mój język, ale jak będzie CI bardzo zależało to postaram się napisać procedurke. Pozdrawiam. PS funkcja...
ja bym wpisywal np. do stringa i pozniej go zamienial. Albo inna metoda 1klawisz x100 + 2klawisz x10 + 3klawisz= zmienna
Na wstępie chciałbym powiedzieć że piszę w BASCOM-ie AVR. Buduję urządzenie które ma wyświetlać wynik na wyświetlaczu 7-mio segmentowym (podyktowane warunkami środowiskowymi i widocznością). Napisałem program który działa (listing poniżej) ale dręczy mnie pytanie czy nie da się tego zrobić prościej tzn pobierać poszczególne cyfry bezpośrednio ze zmiennej...
Read Zmienna Portc.0 = Zmienna.0 Portc.1 = Zmienna.1 Portb.0 = Zmienna.2 Portb.7 = Zmienna.3 ...
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...
Sądzę że prościej jest użyć INKEY() niż INPUT Dim pełnyciąg As String * 100 Dim zmienna As Byte do zmienna=inkey() pełnyciąg=pełnyciąg+zmienna incr a if a>100000 then a=0 exit do end if if zmienna>0 then a=0 loop until zmienna= 13
No to nie używaj shift a zrób to inaczej np Do Incr Q If Q = 101 Then Q = 0 If Q = 100 Then incr (zmienna) Locate 4 , (zmienna) Lcd " dysk archiwum uruchomiony " End If Loop Za zmienna wstawiaj sobie co chcesz i kiedy chcesz od 1 do 20 czyli if Q = 100 then incr (zmienna) aż do 20 itd a potem w drugą stronę i czyli decr zmienna...
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...
Taj jak napisałem wyżej. WAITKEY będzie czekało do czasu, aż coś odbierze. Jeśli w tym czasie wystąpi jakieś przerwanie to się ono wykona i wróci do programu wykonywanego wcześniej, czyli do WAITKEY (chyba, że WAITKEY będzie w jakimś podprogramie przerwania - wtedy kolejne przerwanie się nie wykona (wykona się po skończeniu aktualnego), chyba że na...
8 bajtów to 64 bity a nie 80.
:) 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...
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.
Dokładnie, poza tym to wcale nie musi być zmienna w EEPROM, SRAM przecież przez WD nie jest ruszany. Więc o ile Bascom ma coś takiego jak nieinicjalizowane segementy pamięci to zmienną można trzymać w SRAM i inkrementować po odczytaniu statusu z MCUCSR.
, 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...
To dobrze. Ale czy działa ten po Do od razu po ustawieniu Czasu i kodu? A ten po if dopiero po dwóch minutach zaczyna działać?w Bo jeśli tak to oznacza, że nie jest przez 2 minuty zmieniana zmienna sekundyj.
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?
Pomysłu na teraz nie mam jak to rozwiązać, ale problem zapewne leży w tym, że kiedy przekaźnik = 1 to zmienna jest zwiększana z każdym przejściem pętli..stąd 2 potem 7 itp. Po prostu przez czas trwania stanu 1 na zmiennej przekaźnik, liczba się powiększa. Ciebie interesuje jednokrotne powiększenie. Czyli Przekaźnik = 1 i tylko raz incr zmienna. Trzeba...
A może wystarczy: PWM_FREQ=krok(np 10)*zmienna i potem incr zmienna
Czy idzie w Bascom zrobić coś takiego dim Zmienna as byte Zmienna = 127 Porta = Zmienna
W przerwaniu tylko ustaw flagę a w pętli głównej wywołaj procedure wyświetlania i skasuj flagę . Może okazać się , że obsługa procedury trwa dłużej niż czas pomiędzy przerwaniami i program " pójdzie w krzaki " .Były już podobne tematy
Wprowadź zmienną A zapisaną gdzieś :) i niech będzie : WAITMS A a zmienna zmieniaj :) kombinuj:)
spojrz powyzej odbierasz ją jako LONG jeśliby się nie dało to proponuje dim Licz as long at 120 DIM B1 as Byte at 120 overlay DIM B2 as Byte at 121 overlay DIM B3 as Byte at 122 overlay DIM B4 as Byte at 123 overlay inputbin b1,b2,b3,b4 oczywiście adres 120 jest przykładowy- wiadomo ze zmienna licz zajmuje 4 kolejne bajty
witam chciałem napisać program (istotny kod) Dim O As "?" ... Wait O który jak widać w zależności od parametru O zatrzymywał by działanie programu na określony czas. Wydaje się być dosyć oczywiste, niestety zadeklarowanie jakiegokolwiek rodzaju zmiennej za wyjątkiem Byte sprawia, że program się nie zatrzymuje. Co zrobić żeby ustawić czas np 300s ? Różnego...
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...
Można. Np. tak: Zmienna = Lookup(liczba,Tabela) Portb.0 = Zmienna.0 Portb.1 = Zmienna.1 Portb.3 = Zmienna.3 Portb.5 = Zmienna.5 Portb.6 = Zmienna.6 Portb.7 = Zmienna.7 Portb.2 i Portb.4 nie będą zmieniane.
[syntax=basic4gl] Config Timer1 = Timer , Prescale = 8 'Parametr Prescale może być równy:1, 8, 64, 256 lub 1024 [/syntax] Potem w programie możesz sobie odczytywać zawartość tego licznika w następujący sposób (np.): [syntax=basic4gl] Stan = Timer1 'Zmienna Stan typu Word [/syntax] robiw
Dir jest instrukcją w Bascom'e, zmienna nie może mieć takiej nazwy. Zmień w całym programie nazwę zmiennej Dir np. na Dir2 . Dodaj deklaracje procedury Ddelay . [syntax=basic4gl]Declare Sub Ddelay[/syntax]
tu masz linka do noty katalogowej, tam jest ładnie opisane co trzeba wysłać, żeby sterować daną funkcją http://alfa.iele.polsl.gliwice.pl/elenot... a w bascomie wysyłanie bajtów po i2c jest bardzo proste: i2cstart i2cwbyte 136 'adres tda7313 i2cwbyte [zmienna lub stala] 'tym bajtem będzie się sterowało przedwzmacniaczem i2cstop...
Dim Zmienna As Eram Long Używasz tego jak zwykłej zmiennej.
Możesz, to zrobić tak: Dim zmienna as single Dim part1 as byte at zmienna overlay Dim part2 as byte at zmienna+1 overlay Dim part3 as byte at zmienna+2 overlay Dim part4 as byte at zmienna+3 overlay Odebrane dane uartem wrzucasz kolejno do zmiennych 'part' w efekcie zapełniając 4bajty zmiennej 'zmienna' typu single.
po usunięciu drugiej linijki, czyli $lib "mcsbyte.lbx" i zmianie pierwszej z $regfile = "m16adef.dat" na $regfile = "m16def.dat" błędu nie wywala. Z helpa wynika, że : Biblioteka MCSBYTE.LIB jest zoptymalizowaną wersją, która obsługuje tylko liczby typu Byte. i zmieniając wpis na Dim A As Byte A = 255 Lcd A wtedy błędu nie wywali, ale zmienna a musi...
Rozumiem ze 9 to kolejna cyfra od której zaczyna sprawdzać a 2 to ilość znaków. Jeżeli informacje lecą w HEX to muszę przerobić na wersje bitową ? Nie wiem jak to opisać..... Jak bascom poda zmienna z TTL "string_uart" HEX, BYTE ?
Elektryk - nie brałem tego pod uwagę, to może być to, ale jak zapisać w takim razie indeks miesiąca i dnia tygodnia (tam jest chyba podobna sprawa) do zmiennej w Bascomie? Mol - tak, z tym nie ma problemu, polecenie makedec(zmienna)
Faktycznie żadne sztuczki z ASCI nawet backspace nie pomogły tylko zmienna pomocnicza, dzięki za podpowiedź
Gdy przycisnąłeś przycisk ale trzymałeś go mniej niż 70 okresów to zmienna Opoznienie_odczytu dochodziła do powiedzmy 65. Ale po puszczeniu przycisku nie resetowałeś zmiennej. Czyli miała ona dalej 65. I kolejne przyciśnięcie było obsługiwane za 5 cykli, a nie za 70 cykli tak jak chciałeś. Bo zmienna musiała doliczyć do 70 a już miała 65 czyli brakowało...
zmienna freqtolcd , jest zmienną tekstową
jak pisałem wcześniej nie masz wyłączenia nigdzie przerwań I tu się zgadzam... i twój kod nie bedzie działał prawidlowo gdyż cały czas bedą wywoływane przerwania. Że powiem..."Aleeeeeż jasne":) No to kolega przeczyta czym się różni falling od low:) OK?:) Poza tym, jak już się czepiamy:P IMO powinno się najpierw załączyć zezwolenie na poszczególne przerwania...
Powinien ale cls daj przed petla a w niej zastosuj locate. Po za tym nie operuj warunkami na liczbach zmiennoprzecinkowych. Przelicz sobie jaka wartosc ma zmienna Wart_ac przy napieciu 1V i do niej napisz warunek.
Osobiście w przerwanie wrzucam zawsze tylko to co musze. wrzuc dodatkowa zmienna w petli np: obrczas. obrmin = 36 000 000/wynikczas Lcd obrmin pamietaj zeby zmienne nie przekraczaly zakresów.
...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ś...
01 czy 1 ? Jest to wartosc bcd czy normalna od 0 do 255? (sory na c sie nie znam) Ja bym to zrobil tak (i chyba tak zawsze robilem i dziala) Iput i zapisywal zmienna odebrana do stringa, a nastepnie ja przemienial na normalny byte za pomoca val()
Dzięki, tego nie znalazłem. To jak poradzić sobie z koniecznością zatrzymania na zmienny czas? Zmienna ilość zapętleń? To BASCOM ma takie ograniczenia?
Trzeba dopisać warunek co ma uC zrobić jak zmienna osiągnie "0". Mikroprocesorowi musisz wskazać jak się ma zachować w każdej z możliwych sytuacji bo on niestety nie chce myśleć za Ciebie.
A może masz czujnik DS18B20, upewnij się że jest to DS1820. Ale dziwne, najpierw termometr działał poprawnie a później przestał. Zastanawia mnie jeszcze to że (jak piszesz) czujnik reaguje na zmiany temperatury bo zmienia się zmienna T1, a nie da się odczytać temperatury. Ciekawe w czym jest problem.
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.
zapoznaj sie z fusebitami. Czy ty chcesz dokladnie odmierzyc 500 milisekund czy okolo? Jak chcesz dokladnie otrzymac to kwarc zew. i timery. A masz zew. ram podlaczony? nie wiem jak chcesz jakas zmienna zdeklarowac poza pamiecia sram chyba ze chodzi ci o pamiec stala eeprom
LED5W sprawdziłem twój pomysł, pozmieniałem tylko porty i otrzymuje różne liczby, bez zasady. Czyli wg. Ciebie napisałem generator liczb losowych? :P Zawsze jest jakaś zasada. ;) Kod jest poprawny. Jak się zachowuje układ? Czy przycisk=0, gdy żaden przycisk nie jest naciśnięty? Czy sprawdzasz zmienną tak jak poprzednio (print)? Zmienna może być odczytana...
1. Jak masz podłączony przycisk? Powineien być tak żeby zwierał pin procesora do masy. 2. if portd.0 = 0 then !!! 3. taki program Ci bedzie dziwnie dzialal bo jest cos takiego jak drgania stykow. Jezeli odczyt trafi akurat na moment ze styk sobie odskoczy to choc ty myslisz ze g wcisnales to nic sie nie zrobi. Wniosek: trzeba wytlumic rgania stykow....
Co to znaczy ilość jest zmienna? W Bascomie rozmiar tablicy jest stały. Rozumiem, że pozostałe po prostu są pustymi stringami. Może polecenie SORT się nada, Ale do zmiennych STRING go nie próbowałem używać więc....
Witam Z tego co pamietam to by cokolwiek zapisac i odczytac z epromu nalezy podac tez adres komorki pamieci . W BASCOMIE to wyglada chyba tak : Writeeprom Tekst ,adres a potem odczytujemy Readeeprom Tekst ,adres AT90S2313 ma 128 bajtow pamieci EEPROM, wiec jest 128 komorek jedno-bajtowych komorek pamieci. Stad adres : 0-127 Nie wiem jak wyglada sprawa...
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.
Moja propozycja: Ustaw przerwanie tylko z jednej linii, np. A. Procedura obsługi przerwania: zmienna = zmienna+1 jeżeli B=1 to zmienna = zmienna -2 koniec przerwania
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...
Wyświetlanie paska głośności: Dim L As Byte Dim Temp_l As Byte 'pomocnicza zmienna Config Lcd = 16 * 2 L = 130 'wartość początkowa Cls Do Temp_l = L / 16 Temp_l = L + 1 Locate 2 , 1 Lcd "----------------" Locate 2 , Temp_l Lcd "0" Loop Czy dzielisz L przez 16 tzn zmienna Byte i wynikiem dzielenia też jest zmienna Byte?
Nie używałem jeszcze tych instrukcji ale może spróbuj tą zmienną po średniku użyć z nową komendą czyli jakoś tak: Lcdstr zmienna,x,y
1. framesize ustawiasz na 8 2. softstack ustawiasz na 16 Najprawdopodobniej twoją pamięc w tiny zapychaja stos i frame, zmniejsz te wartosci eksperymentalnie. Zmienna bit w bascomie jest definiowana w innym obrzarze pamięci, poza tym rezerwuje od razu cały bajt pozostawiając 7 pozostałych bitów na inne zmienne typu bit. Nie mozesz wywalić "$regfile",...
bascom zmienna bascom zakres zmienna bascom zmienna integer
satelita astra hotbird ustawić obliczanie transformatora impulsowego pompa kulka
Typowe wady Chevrolet Captiva 2.0 D 150 KM Częstotliwość migotania uszkodzonej świetlówki