Post wyżej napisałem jak ma wyglądać wyświetlanie tekstu. Wstaw tą linię tam gdzie umieściłeś komentarz "Tu wstawiam..." :) ps. Pisałem z pamięci i zamiast Seq(1) = Text powinno być Seq(1) = Tekst czyli zapisanie aktualnej wartości po przesunięciu.
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.
Może coś takiego : Dim Str1 As String * 10 Dim Koniec As Byte Dim Key As Byte Str1 = "" Koniec = 0 Do Key = Waitkey() 'pobieranie znaku, tu z terminala Select Case Key Case 13 : Koniec = 1 ' np. kod ENTER = 13 Case Else : Str1 = Str1 + Chr(key) ' inne znaki dodaje do str1 End Select If Len(str1) = 10 Then Koniec...
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.
Duży filtr na zasilaniu A po co? Wystarcza tylko dioda shottky'ego+ mały supercap 1F albo duży zwykły i sprawdzanie czy jest napięcie przed diodą. Ale czy to tańsze, szybsze i bardziej niezawodne niż bateria i watchdog? :) Szczególnie jak się A/D do czego innego chce wykorzystywać..
Dim Zmienna As Eram Long Używasz tego jak zwykłej zmiennej.
Nastepnym razem napisz jaki masz blad, na moje to zapis powinien byc i=i+1 oraz i=i-1
Jeśli korzystasz z RTC masz tam do dyspozycji RAM na przechowanie zmiennej, ewentualnie zewnętrzna pamięć SRAM z interfejsem SPI (np. 23X256).
Witam. Nie ma tutaj nikogo kto spotkał się z takim problemem..?. Same "łebskie" chłopaki, a nikogo kto by coś zasugerował..?. Nawet Piotrek zamilkł... Ja próbuję coś wymyśleć, ale nijak mi się nie udaje... skąd ten minus u mnie...? Pozdrawiam
Niestety, inaczej nie sformatujesz single. Zapis zmiennej z przecinkiem jest dość skomplikowany (mantysa, wykładnik) i znalezienie przecinka nie jest prostą sprawą. Jakie działania potrzebujesz wykonać na single? Może nie trzeba jej używać. Wykonałem próbę w symulatorze najpierw single na string za pomocą fusing(), potem z powrotem na single za pomocą...
Witam, nie wiem jak napisać kod w Bascomie zapisu i odczytu zmiennej LONG do pamięci , popularnych kostek 24C
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...
Czyli mam rozumieć ,że kompilator sam po przedrostku "e" wie ,że eliczba idzie do eepromu. Zależy mi na writeeeprom i readeeprom , by zapisywać w komórkach których ja chcę!!! ,bo skąd mam mieć pewność ,że nie zapisze w komórce 0 ,która jest ulotna i nie powinno się tam dla bezpieczeństwa nic zapisywać.
Dim Empty As Eram Byte At 0 Dim Tzap1 As Eram Single Dim Ua As Eram Byte Dim Ub As Eram Byte Dim Uc As Eram Byte Dim Ud As Eram Byte Czy to jest wszystko co powinienem zrobić.?. Czy powinienem jeszcze używać dyrektyw typu np $eeprom i $data ?. Czy wręcz odresować bezpośrednio tą pamięć zapis/odczyt?. A powinno być takie proste, ale nie jest, więc w...
I gdzie ten plik ma się zapisać w mikrokontrolerze a może na dysku komputera. Jeśli tak to kolega chyba pomylił kompilatory. Baskom nie nadaje się do tworzenia plików wykonywanych na lokalnym komputerze.
Po prostu deklarujesz zmienne i robisz tak: Dim Eeprom(128) As Eram Byte 'i potem zapis o odczyt: Eeprom(1) = 123 Jakas_zmienna = Eeprom(128)
Witam wszystkich Przeczytałem kilka postów, szukałem w google, ale i tak nie mogę zrozumieć pewnej sprawy, mam kłopot ze zmiennymi żeby je umieścić w pamięci nieulotnej. Jest to wyświetlacz 3-cyfrowy 7-seg. multiplex, na razie sterowany przyciskami, może później będę chciał dorzucić sterowanie podczerwienią, ale to jeszcze sporo nauki przede mną (:....
zapis: i2cstart i2cwbyte adres_i2c_pamieci for i =1 to 8 i2cwbyte dane(i) next i i2cstop przy zapisie trzeba zobaczyc ile fizycznie pamiec i2c ma buforu (do szybkiego zapisu bajt po bajcie odczyt: i2cstart i2cwbyte adres_i2c_pamieci i2cstart for i=1 to 7 i2crbyte dane (i), ack next i i2crbyte dane(8), nack i2cstop odczyt jest...
Czy jeżeli w Bascomi-e, w przerwaniu, ............ ......... czy zapis będzie trwał, a procesor w tym czasię będzie już wykonywał inne rozkazy? Zapisywana jest zmienna bajtowa. Wpis wartości zmiennej do EEPROM nie odbywa sie samoczynnie, jak powiedzmy przesączanie wody przez lejek(!). Tego wpisu dokonuje processor; nie ma tam pośrednika (chyba jedynie...
powinno byc cos takiego (to tylko fragment kodu) dim znaki(19) as byte dim licznik as byte licznik=0 enable interrupts enable urxc on urxc odbierz 'jak odbierze znak to przerwanie do:loop:end 'glowna petla tu robisz co chcesz odbierz: znaki(licznik)=inkey()'o... znak trafi do tej zmiennej incr licznik if licznik...
Spróbuj z Instrukcją CONFIG I2CDELAY
Definiujesz zmienną Zapis i Odczyt , później robisz Zapis = 174 , Odczyt = 175 ,powinno działać.
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,...
Dlaczego pokazuje -1 na wyświetlaczu a nie np 255 jak jest dla zmiennej typu Byte. Bo Integer to zmienna ze znakiem, FFFF to właśnie -1. Byte jest zmienną bez znaku (zawsze dodatnią). Dwubajtowa zmienna bez znaku to w Baskomie "Word". Na wyświetlaczu po resecie będzie wówczas 65535. 2. Czy taki zapis eeprom będzie poprawny przy pierwszym sprawdzeniu...
Mam pewnien problem. W c jest taka zmienna jak integer (int). Jesto to zmienna 1 bajtowa w procesorach 8 bitowych, moze przyjmowac wartosci od -128 do 127. W bascomie nie ma takiej zmiennej. Wiadomo nie jest trudno napisac odpowiedni program, ktory by mi to przeliczal. Tym bradziej, ze bede i tak musial zastosowac bascomowa zmienne typu integer/long,...
Witam ATMega8 ma Timer1 16-Bitowy i do odczytu lub wpisu służą dwie dane: "TCNT1L" - odczyt lub zapis "dolnej" 8-Bitowej części i "TCNT1H" - odczyt lub zapis "gónej" 8-Bitowej części n.p. stan licznika "21456" odpowiada : TCNT1H =83 ; TCNT1L=208 bo 21456:256(pojemność TCNT1L=256)=83+208 Aby wszystko było OK to obie wartości (TCNT1H i TCNT1L) muszą być...
Zły pomysł... Tak można czytać z eeprom a wpętli... nie, NIEMOŻNA pisać do eeproma w pętli. (skońoczna liczba zapisów). Przy starcie systemu odczytaj z eeproma do jakiejś zmiennej ustawienia (zmiennych) i porównuj następnie z nimi... Łukasz. P.S. Odczyt jest dużo szybszy niż 1sekunda... DUŻO SZYBSZY. Łukasz.
Małe pytanko a obsługa wyświetlania multipleksowanego jest wykonana w przerwaniu czy w pętli programu po ustawianiu zmiennej F4ms? EDIT: Nie rozumiem, zapis do eepromu wykonuje się 20 razy (zmienna Autoret = 20)
Przejrzystosc w kodzie przede wszystkim. :D Pozniej latwiej jest zlokalizowac ewentualne bledy i samo poruszanie sie w kodzie jest znacznie latwiejsze. W kazdym razie wracajac do tematu to ja osobiscie nie lubie etykiet wiec wolalbym to rozwiazac np. w ten sposob: Sub Czytaj_id_klucza() 'tutaj wstawiasz kod odczytu End Sub i pozniej tylko: Call...
Poi pierwsze. Do BASCOM-a jest pomoc - także po polsku, której to zresztą jestem autorem. Wersję on-line (beta) znajdziesz na mojej stronie WWW. Jak one działają? Zliczają impusy. Albo z prescalera, albo z zewnątrz. Patrz nota katalogowa. W którą stronę zliczają? Zwykle liczą w górę. W trybach PWM liczą też w obie strony. Patrz nota katalogowa. Jak...
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]
Jak chcesz sie zabezpieczyć to częsciowo można poprzez dwa bufory i na końcu zapisuj sume kontrolna w jednym z buforów a w drugim moze nadpisywac sume zerami - gdy zapis przerwie sie w polowie to będą dobre stare dane . Wiele już czytałem o tym na forum, ale jakiegoś sensownego przykładu nie widziałem. Czy mógłbyś na podstawie mojego fragmentu kodu...
Ok odkrylem przyczyne. Tak jak wspomniales podczas zapisu i odczytu epromu nie mozna uzywax petli. Natomiast zwykle przypisanie do zmiennej typu X=Y gdzie X bedzie typu eram a y zwykla byte dziala i powoduje zapis do epromu.
Całego kodu nie mogę podrzucić, bo: - nie mam odczytu z eepromu, - nie wiem, czy zapis do eeprom ma być jednorazowy w momencie programowania procesora, czy ma być jednorazowy po pierwszym uruchomieniu programu, czy ma być wielokrotny w dowolnym momencie np. po zmianie termometru i wciśnięciu - dajmy na to - dowolnego guzika, - nie mam zrealizowanego...
Witam Dziękuję za szybką odpowiedź. To może opiszę dokładnie. W programie mam zadeklarowaną zmienną(INTEGER). W toku działania programu z zewnątrz zostaje jej nadana wartość dziesiętna na przykład 1000 (tysiąc). Ja chcę, aby została ona potraktowana jako &H1000, czyli jako wartość podana w kodzie heksadecymalnym (rzeczywiście , potrzebuję tego do wyświetlania),...
Witam. Jak zapisuje się dane do eeprom w avrgcc? W bascomie wystarczyło zadeklarować zmienną jako zmienna typu ERAM, później zapis w programie wyglądał tak: zmienna_eeprom = zmienna analogicznie odczyt: zmienna=zmienna_eeprom Czy da się posługiwać zmiennymi tak jak powyżej w avrgcc? Wiem, że można użyć min.: eeprom_write_byte ( *adres, val) - zapisuje...
Żeby tylko adepci nie nabrali najgorszych i najgłupszych nawyków Arduinowców. Zajęcia są przewidziane dla dzieci, arduino daje dobre podwaliny pod inne języki oprogramowania. Najgorsze co mnie spotkało to bascom i gdy przechodziłem na arduino to ciężko było zapamiętać średniki na końcu komend czy zapis zmiennych, kto bawił się bascomem ten miał złe...
Spróbuj odbierać dane do 2 zmiennych Byte - nie wiem czy Bascom nie wykłada się na zapisie do integer;-)
Komenda Print nie wyświetli ci zmiennej na lcd :) 'Program wykonujący zapis do pamięci EEPROM Sub Write_eeprom(byval Adres As Byte , Byval Value As Byte) I2cstart I2cwbyte Addressw I2cwbyte Adres I2cwbyte Value I2cstop Waitms 10 End Sub 'Program wykonujący odczyt z pamięci EEPROM Sub Read_eeprom(byval Adres As Byte , Value As Byte) I2cstart...
Witam niestety komendą LCD nie można wyswietlać zmiennej typu Word. Jak obejść ten problem? Zadeklaruj jakąś zmienną jako string (np. tak jak poniżej jest ss1) Dim Ss1 As String * 12 Ss1 = Fusing(W, "#.&&") ' formatowanie zapisu doformatu x.xx Lcd "U=" ; Ss1 jak wartość odczytana komendą getADC ma się do wartości napięcia...
Help BASCOM-a mówi : ERAM Most AVR chips have internal EEPROM on board. This EEPROM can be used to store and retrieve data. In BASCOM, this data space is called ERAM. An important difference is that an ERAM variable can be written for a maximum of 100.000 times. So only assign an ERAM variable when it is needed and not in a loop Co oznacza że raczej...
co chcę uzyskać zapis zmiennej freq w różnych komórkach pamięci co takie jak masz w radiu samochodowym
Wyboru samego separatora dokonuje się w pliku Config_AVR_dos.bas zmieniając stałą "Const Cvariableseparator = 44 " Jednak w tym wypadku chyba musisz użyć podręcznej zmiennej tekstowej, połączyć to sobie i wysłać na końcu jako jedna zmienna bo w innym przypadku zawsze wstawi separator. [syntax=vbnet]Dim Helpstr As String * 10 , Word1 As Word , Word2...
No więc jeśli stosujesz M8 to masz gotowe rozwiązanie powyżej. A... zapomniałem napisać, że potrzebny dzielnik napięcia. Może być przez 2 i jako napięcie odniesienia podać AVCC (o ile AVCC=5V). $crystal = 4000000 $regfile = "m8def.dat" Config Timer1 = Pwm , Pwm = 10 , Prescale = 8 , Compare A Pwm = Clear Down 'Konfiguracja Timera Config Portd...
Zrób tak: Dim Temp As Byte Dim Reserved As Eram String * 8 Dim Zmienna As Eram Byte Dim Status As Eram Byte If Status <> 123 then Reserved = "Reserved" Zmienna = 100 'Ustawienie wartości po programowaniu Status = 123 End If Temp = Zmienna 'Odczyt zmiennej z EEPROM'u do RAM Temp = Temp + 22 'Modyfikacja Zmienna = Temp 'Zapis nowej wartości...
Dopisz w polu konfiguracji "Config pind.7 = output", a w pętli prosty warunek If..then. Gdybyś miał problemy z warunkiem If od zmiennej T, spróbuj dać warunek od zmiennej S, uwzględniając jej zapis.
a dlaczegio chcesz mieć je zapisane w postaci bitów zawsze możesz sobie odczytać dowolny bit rejestru bądź zmiennej i oczywiście dokonywac rotacji tych zmiennych i rejestrów
Język nie jest ważny. Polega to na odpowiednim ustawieniu sygnałów na wejściach LCD czyli sterowania rejestru Port. Jak wrócę z pracy to wstawię tu kod napisany w C dla zwykłego LCD ( z lekkim tłumaczeniem). Może uda się to przerobić na Bascom. Wtedy uzyska się dostęp do czasów. Do tego czasu spróbuj wyssać procedurę inicjacji z noty katalogowej. P.S....
Z tą dowlnością w używaniu rejestrów byłbym bardzo ostrożny. Nieodpowiednia zmiana - program się wysypie. Nie wolno używać w trybie zapisu bez wcześniejszego zapamiętania: Y ( soft stack pointer ), R4:R5 ( frame stack pointer ), R6 ( status register ), R8:R9 ( data pointer ), R23 ( translate register ), R12:R13:R14:R15 ( fp calculator ). W sumie można...
Właśnie z funkcją "Val" również nic nie wychodzi, ale zamieniłem "nm" na zmienną typu "byte" i problem rozwiązany. Nie wiem dlaczego tak czepiłem się tej zmiennej przyjmując ją za tekstową. Problem rozwiązany, dzięki za odpowiedź.
Wykorzystaj funkcję Toggle. Jeśli zmienna nazywa się np. A to zapis Toggle A.3 zmieni na wartość przeciwną tylko bit 4 tej zmiennej
tak jak napisał kolega bascoma AVR czeka na początku instrukcji writeeprom czy pamięc jest gotowa do zapisu. a tak wogółe to ja stosuje zmienne typu eprom gdy chce zapisaccoś do eproma. oczywiście należy uważać z ich wykożystaniem (nigdy w pętlach) dim XXX as Eram Word na zmiennych eRam nie mozna stosować operacji tylko XXX = coś lub coś = XXX
Nie można zapisać zmiennej single (aż 4 bajty) do jednego bajtu. Poza tym zapisuj do eeprom co jakiś czas tylko uważaj na ilość zapisów, eepromy są ograniczone. Nie musisz przypisywać wartości zmiennej na początku. Dałem taki przykład bo coś musiało być zapisane inaczej miałbyś 0 w eepromie.
a możliwe jest, ze w tych bibliotekach które pobrałem z neta coś jest nie tak? albo co jeszcze udało mi się wyczytać, że wersja demo Bascoma nie da rady skompilować dużej ilości zmiennych
Witam, Proszę o podpowiedź jak zapisać zmienną typu long, konkretnie wartość np. 1.357936 do komórek pamięci 24Cxx. Chodzi o zapis w Bascomie. Poprawiłem temat, aby było wiadomo o co chodzi.
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ę...
Doszedłem do ładu z tym, cała funkcja jest napisana prawidłowo i skrajne zakresy zawsze powinne się pokrywać niezależnie od obliczeń na liczbach całkowitych. Błąd był jedynie w zapisie złych zmienny do eepromu...
Podnieś Bascom do nowszej wersji. Wersję 2078 już spokojnie znajdziesz w sieci. Na 2080 się to kompiluje bez błędów mimo iż program zgłasza kilka ostrzeżeń o dwukrotnej deklaracji tych samych zmiennych itd.. Musisz wiedzieć że AVR-DOS potrzebuje minimum 1500B SRAM i w Mega32 zostaje Ci 500B SRAM. Nie zadeklarowałeś wielkości stosów HW i SW oraz ramki...
Witam, To, że piszesz w bascomie to widać - WYŁĄCZ CAPS LOCK.
to wiem tylko nie wiem jak to zrobić do zapisu jest komenda writeeeprom a odczytu readeeprom ale nie wiem gdzie je wstawić do kodu aby byly używane
nie, dzielisz na liczby zmiennoprzecinkowe o podwojnej precyzji i wysylasz w kolejnosci losowej... <sciana> wez no poczytaj na necie o tym co to jest string, char i o sposobie zapisu znakow wg ASCII. na przyklad tutaj http://www.exforsys.com/tutorials/c-lang... http://www.google.com/search?client=oper...
Przede wszystkim proponuję zrezygnować z funkcji writeeeprom i readeeprom, jeśli w Bascomie dostępne są lepsze metody na dostęp do eeprom'a ;) Proszę zapoznać się z możliwością zdefiniowania od razu zmiennej w EEPROM DIM Id1(8) As Eram Byte czy jakoś tak (mogę już dokładnie tego nie pamiętać) i potem chulaj dusza - z odczytem i zapisem do niej prawie...
Z tym, że tablice musiałbym wcześniej wpisać w program, a mi chodzi o to, by "uczyć" tego robota danego zadania. Jeśli zmieniłbym odległośc punktu A od B i znowu postawił przeszkode, w którą by robot uderzył, to wtedy ponownie musiałby zapamiętać nową trase. Przy czym jeśli działałbym w obrębie pamięci RAM, kasowałbym ją po prostu resetem zasilania....
Hehe, przeanalizuj dokładnie Twój ostatni programik i odpowiedz sobie jeszcze raz na pytanie jak on właściwie działa :) ...jak ograniczyć ruch diody dosłownie na 4 pinach. Tu mamy przesuwanie 2 diodek - "00010001"... Wkradł mi się mały błędzik :) W swoim programie pobierałem dane z linii Data i były to tylko bity 0...3 dla silnika bipolarnego natomiast...
Witam Wszystko jest w pliku od kolegi SQ1FTB. Funkcję Sub Synteza realizuje wysyłanie danych do LM7001. Dane dla częstotliwości wysyłane są bit po bicie ze zmiennej Fpom. Zapis Fpom.a oznacza, że pobierasz bity opisane zmienną a. Tak robisz dla bascom-a. W c taką operację zrealizujesz wykorzystując maskę bitową np. 00000001 mnożysz ją przez Fpom. Wyniku...
Można zapisywać dowolne dane z dowolnej zmiennej. W pętli umieściłem odczyt adc, bo tylko w trybie jednoczesnej obsługi przetwornika i karty mamy możliwość rezygnacji z bufora. Oczywiście ta obsługa może dotyczyć kilku kanałów, łącznie z zapisem na karcie znaczników/wartości czasu. Analogicznie może się odbywać współpraca z rs232/485 (w procedurze odczytu...
Pytanie tylko czy BASCOM odpowiednio to zinterpretuje?! Czy tak trudno zajrzeć do Helpa? Podstawy języka BASCOM BASIC W instrukcji przypisywania wartości zmiennej można używać zapisu heksadecymalnego (szesnastkowy) bądź dwójkowego (bitowy). Liczby zapisane szesnastkowo muszą być poprzedzone przedrostkiem &H, a zapis dwójkowy przedrostkiem &B. Poniższy...
Jeśli już to: Dim T_solar As Eram Word T_solar = 10 'zapis do zmiennej itp I nie zapomnij wymienić scalaka po roku jak przestanie pisać do wewnętrznego eeproma.... :)
To jest odczyt z UARTu. W pierwszej pętli program czeka na pojawienie się litery "R" Potem w drugiej pętli zapisuje wszystkie odebrane znaki do zmiennej K3 aż do momentu pojawienia się znaku nowej linii CR (czyli chr(13)
Mam wrażenie że przy obecnie wybranym algorytmie nie da się przyspieszyć. Gdyby dane o adresie zapisywane były w ciągu z reszta to ujdzie i nie trzeba czekać ale tak to niestety: 1. ładujesz adres początku 2. wysyłasz dane po koleji 3. czekasz te 10ms 4. zapiszujesz pod 5000 zmienną adresu 5. czekasz znowu 10ms I tak powinien wyglądać fragment zapisywania....
Witam Jestem młodym elektronikiem. I nie potrafię wykorzystać mojej pamięci eeprom. Piszę w Bascomie. Mam polską wersję, helpu z Bascoma, ale tej nie rozumie. Skoro nie rozumiesz po polsku ;) , to w jakim języku mam Ci to wytłumaczyć :?: Spróbuję jednak po ... polsku ;) Oto próbka kodu, który mi nie działa. $lib "mcsbyte.lbx" $regfile = "2313def.dat"...
Jest to kawałek kodu w bascomie dla atmega8, może coś pomoże: **Podprogram konfiguracji** Sub Konfig Cls Pwm1a = 200 'to od podświetlenia lcd Lcd "USTAWIENIA" Locate 2 , 1 Lcd " PROGRAMU" Wait 2 Cls Lcd "Przycisk START" Do Getrc5(address , Command) Command = Command And &B01111111 If Adress <> 255 Then...
Tak dla sprostowania na początek: zasadniczo to co ja napisałem jest bardzo podobne do pomysłu kolegi "hunterhouse"- napisaliśmy odpowiedź prawie w jednym czasie :-) Nie żebym się tu powtarzał czy coś w tym rodzaju. Powiedzmy dla przykładu, że masz 1 na Pinach 2 i 3 a na pozostałych 0, wtedy zmienna "Stan" wyniesie 2+4=6 (dla każdej konfoguracji jest...
Jestem początkujący więc proszę o wyrozumiałość. Mam pytanie: czy w Bascomie można odczytać, lub zmienić wartość pojedynczego bitu zmiennej, tak jak w przypadku np rejestrów I/O?. Przykład: W przypadku portów I/O np. w procku można odczytać stan pojedynczej końcówki portu za pomocą zapisu. Portd.3, Portb.6 itp. Czy w przypadku zmiennej można odczytać...
A jaki może być schemat - rezystory podciągające do + od SCL i SDA , i na Piny oznaczone SCL i SDA . Atmega32. Problem wygląda tak że - Daję kod z zapisem do eepromu zmiennej , (właśnie teraz np. zmienna jest w epp. Potem kasuję kod z uP i daję kod z odczytem z eepromu - i NIC - wyświetla 0 albo 255.
Czy jak w Bascomie Avr, zapisuję zmienną X do pamięci EEPROM, to muszę wyłączyć przerwania. ? Bo to wygląda tak , że kręci się pętla główna Do...Loop. Jeżeli w tej pętli zostanie wykryta zmiana stanu zmiennej, to jest nowa wartość wpisywana do pamięci. Dodatkowo działa Timer0 do obsługi wyświetlaczy, przerwanie co 4ms Jeżeli w czasie zapisu do pamięci,...
Mam procesor z podpietym 24c01 i po rs232 przez windowsowy terminal chcę zapisać (polecenie wyslij plik tekstowy) np taki kod: 059923B8F20101000001000000000022 00000000000000000000000000000000 00000000000000000000000000054700 00000000000000000000000000000000 00000000000000000000000000000000 00000000005436700000000000000000 00000000000000457000000000000000...
Witam!!! Mam pytanie jak poprawnie zapisać w bascomie funkcje liniowa?? Jak daje y=a*x+b to wywala mi błąd error 35. Wszystkie zmienne y,a,x,b mam zdefiniowane Jak to inaczej zapisać?? Pozdrawiam
Witam po długiej przerwie w temacie. W swoim urządzeniu zastosowałem wewnętrzny eprom i naprawdę mocno się zdziwiłem bo wytrzymał naprawdę długo. Zapisywałem do niego i odczytywałem dwa razy na sekundę na początku urządzenie chodziło 24 h/d później już różnie więc nie potrafię dokłądnie powiedzieć jak długo. Przed wczoraj po dłóższej przerwie włączyłem...
NIE wolno robić czegoś takiego żeby zmienna co chwile była zapisywana do EEPROM-u dlatego że on ma określoną ilość zapisów minimum 100.000 / + . Ja bym si polecił jakiś SRam na i2C albo SPI z podtrzymaniem bateryjnym może być nawet zegar RTC PCF8583 . Co do karty i komunikacji z PC tu [url=http://www.dharmanitech.com/2009/01...
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 *...
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
Kolejna tablica tym razem string, w której masz zapisane "wzorce", które możesz otrzymać po UART. Otrzymujesz dane, przeszukujesz tablicę string, odnajdujesz zgodny zapis, w tym momencie masz numer pola w tablicy, więc odpowiadasz wartością zmiennej z drugiej tablicy. Choć to trochę przekombinowane, więc może pomyśl o innym protokole transmisji.
marekmarszal i romantv ---> to zrozumiałe, że ktoś może "toszkę klikać" w Bascoma ale nie być biegłym. Jednak jesli ktoś już wam podaje jak na talerzu rozwiązanie (żeby już dobitniej tego nie nazwać) Dim Aeeps(10) As Eram Word At 1 oraz sposób zapisu i odczytu takiej zmiennej Zapis: zmienna1 = 1244 Odczyt: zmienna_RAM = zmienna1 co jak widać...
:) 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...
dobra spróbuje jak piszesz, z eepromu odczytuje tylko podczas gdy się włączy sterownik przed wejściem do pętli głównej , a w menu następuje tylko zapis wszystkich zmiennych przed wyjściem
Rozumię, że chodzi o zapis do pamięci EEPROM a potem odczyt z pamięci. Aby dokonać zapisu do EEPROM-u należy: Dim x as long 'definicja zmiennej "x" typu Long x = .... 'wpisać wielkość tej zmiennej writeeeprom x , 1 'zapisanie zmiennej "x" do komórki "1" EEPROM-u Aby odczytać z EEPROM-u: readeeprom x , 1 'odczyt zmiennej "x" z komórki "1" EEPROM-u Uwaga:...
Nie możesz "przekierować" pinu. Przypisanie przerwania zewnętrznego jest hardwareowe. Generalnie wszystko zależeć będzie od tego jak masz skonstruowaną główną funkcję. Jeżeli stosujesz w niej co rusz jakieś opóźnienia to będzie lipa, ale jeżeli cała główna funkcja wykonuje się szybko, bez zbędnych opóźnień to wtedy bez problemu w głównej pętli analizujesz...
Witam Kodem [syntax=basic4gl]Local Errorcode As Byte ''() Gbdriveerror = Driveinit() If Gbdriveerror = 0 Then Errorcode = Initfilesystem(1) If Errorcode <> 0 Then Blad_sd = 1 Else Open "dane.txt" For Input As #2 Do Line Input #2 , Dane_sd Locate 3 , 1 Lcd Dane_sd Locate 4 , 1 Lcd Lof(#2) Locate 4 , 6 Lcd Fileattr(#2) Loop Until Eof(2) = 255 Close...
No tak to właśnie zrobiłem... No chyba nie bardzo :D Przetestuj ten kodzik :D [syntax=vbnet]$regfile = "m32def.dat" $crystal = 16000000 Config Submode = New Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Porta.0 , Db6 = Porta.1 , Db7 = Porta.2 , E = Portb.3 , Rs = Portb.4 Config Pind.2 = Input : Set Portd.2 : Ok Alias Pind.2 Config...
Wydaje mi się że jak byś nie zrobił i będzie działało to tak jest dobrze ;] ilu programistów tyle podejść do tematu... Jeżeli już zadeklarujesz taką dużą tablicę to tak czy siak będzie ona zajmowała jakąś przestrzeń w pamięci więc czemu nie użyć jej i odczytać z eeprom wszystkiego na raz. Kiedyś robiłem podobny sterownik do CO ze sterowaniem temperaturą...
To nie Bascom jest przyczyną tylko źle napisany program ;). 1. odczyt timera1 16bit odbywa się po przez rejestr pomocniczy TEMP, ten rejestr jest też używany przez inne procedury i funkcje i jeśli jest użyty to właśnie niszczona jest wartość High timer1 bo ona tam jest wpisana gdy używasz komendy. wpisując tak timer1 do tablicy możesz gubić High timer1....
Nie stawia się nigdy operacji w tym miejscu, szczerze to jestem zdziwiony że to w ogóle się kompiluje. Taki zapis zaciemnia program. Co to jest test[3]? To tablica pojedynczego znaku, liczby? Musisz objaśnić wszystkie używane zmienne, z kapelusza nikt nic nie wywróży;)
jesli koledze chodzi tylko o zapis i odczyt z rejestrow to nie ma zadnego problemu wystarczy jedynie uzyc zwykledo assemblerowego mov. np. chcesz zapisac do rejestru r0 ze zmiennej to piszesz mov r0,{zmienna} a przy odczycie odwrotnie mov {zmienna},r0
Czy to poprawny zapis do uśredienia wyniku z 60 pomiarów kodu co wyżej podawałem (*) pytam z czystej ciekawości czy to poprawna forma To nie jest 'uśrednienie',- to jest zbyteczne rozszerzenie rachunku wydajności, które jest równoznaczne z pomiarem impulsów w czasie 60 sec. Inaczej, zamiast odczytywać zawartość Countera1 po zliczeniu 250 4-milisekundowych...
Nie można poprosic uC, żeby w tym czasie zajął się czymś niepotrzebnym (czym?) ale równie obciążającym? Procesor nie wie co jest potrzebne - robi co mu programista nakazał kodem programu (czasem nieświadom co nakazał :-)). Po drodze od programisty do kodu maszynowego (czyli tego co wykonuje procesor) jest jeszcze kompilator i miewa wbudowane opcje...
Może po prostu zrobić licznik ze amienną zapisywalny w EEPROM przed główną pętlą programową zaraz po starcie. Odczyt stanu zmiennej, a nastepnie powiększenie o jeden i zapis. Jedyny mankament to jest to, że przyrost licznika będzie realizowany także podczas każdego startu mikrokontrolera.
No tak dwa bity z lewej to rok dalsze 2 to 10 dni i ostatnie 4 to dzień zrobiłem taki program Zapisuje na starcie godzinę 23:59:58 i datę 31-12 dzień wpisuję tak &B00110001 , daję mi to 31 dzień miesiąca , kiedy przechodzi data na 1-01 to zmienną dnia wyświetla mi tak &B00000001 ale bity roku nie uległy zmianie. Jak do tego nie dojdę chyba zmienię...
Zawsze może też użyć w eepromie zmienną która będzie mówiła o tym ile resetów zostało już wykonanych i jeżeli będzie już zbyt dużo to inkrementacja adresu zapisu :p
Spróbuj zrobić dwie zmienne, jedną dla części całkowitych drugą dla części ułamkowych i podczas zapisu na kartę rozdzielić je przecinkiem. Nie sprawdzałem tego ale powinno zadziałać.
zmiana zmiennej bascom bascom zapis bascom ustawienie zmiennej
zapowietrzona instalacja gazowa drzwi zmywarka candy komponentu label
fabia schematy osadzania puszek elektrycznych
Piec Beretta nie włącza się, wyświetla dzwoneczek Lokalizacja przycisku reset w piecu Beretta