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...
...Nawiązując do sugestii kolegi wrzuciłem linijki do programiku i na nieszczęście nawet wyświetlacz lcd przestał wyświetlać, a tylko mruga pierwsza linijka. Nie no , jasnowidzem to nie jestem :D Poza tym , to tylko "pomysł na ..." , a nie gotowiec.Pokaż(załącznik) cały kod , to może cosik się zaradzi :D Piotrek
Witam, ilość odczytów nie ma znaczenia, mam układ gdzie 8 komórek 24C02 jest odczytywane cyklicznie co kilka milisekund w termometrze od ponad 7 lat i jeszcze nic się nie zmieniło. Nigdy nie spotkałem się z informacją o ilości cykli odczytu a jedynie zapisu do EEprom.
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...
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)
Spróbuj z Instrukcją CONFIG I2CDELAY
Witam. Jaki jest poprawny sposób zapisu / odczytu danych do pamięci EEPROM typu 24cXX ? W Sub Read_eeprom(adres As Byte, Value As Byte) I2cstart I2cwbyte 160 I2cwbyte Adres I2cstart I2cwbyte 161 I2crbyte Test, 9 I2cstop End Sub Sub Write_eeprom(adres As Byte, Value As Byte) I2cstart I2cwbyte 160 I2cwbyte Adres I2cwbyte Value I2cstop...
Są oczywiście takie moduły zespolone z pamięcią. Mozna tam zapisywać i czytac po bajcie, ale można też sekwencyjnie całe łańcuchy i tablice nawet serializatorem. Dwie pierwsze funkcje podpowiem. Wygląda na to ze działaja ;) Możnaby dodać jakieś zabezpieczenia na wypadek braku komunikacji. https://obrazki.elektroda.pl/8549538400_...
Witam!... Piszę ten post, ponieważ nie mogę poradzić sobie z (prostym pewnie da Was) problemem zapisu i odczytu plików graficznych *.bmp lub *.bgc do i z zewnętrznej pamięci EEPROM, np. 24LC256... Chce zapisać w niej kilkanaście obrazków np. 132x100 pikseli (wystarczą 256 kolorowe), potem odczytywać i wyświetlać na LCD... Odczyt/ zapis z pamięci Flash...
[url=http://bascom.dxp.pl/bascom_dyrekty... opisane dyrektywy miedzy innymi $eeprom i $eepromhex.
Prosiłabym o wyrozumiałość i pomoc w nakierowaniu mnie na rozwiązanie problemu. Spróbuję nakierować :) Jeśli zapis ID do eeprom ma być jednorazowy, w kodzie programu deklarujesz (wcześniej innym programikiem i LCD odczytane) ID $eeprom Termometr2: 'nr seryjny termometru 1 Data 40 , 25 , 0 , 133 , 2 , 0 , 0 , 196 Termometr1: 'nr seryjny termometru...
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...
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...
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...
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...
Oczywiście sytuacja tyczy się też odczytu - czy w trakcie wyłączyć przerwania?
. Język BASCOM BASIC oferuje wiele instrukcji obsługujacych wyświetlacz LCD. Aby jednak mieć całkowitą kontrolę nad wyświetlaczem można stosować procedury w języku asembler. Poniżej znajduje się przykład: $asm Ldi _temp1, 5 'załadowanie kodu rozkazu do R24 Rcall _Lcd_control 'prześlemy do LCD jako komendę Ldi _temp1, 65 'załadowanie do R24 kodu znaku...
nsvinc, a w bascomie to jest trudne bo? No bez przesady, robicie z bascoma jakieś bydło a to jest na prawdę dobry i stosunkowo tani kompilator. Tylko jest jedno ale...trzeba umieć w nim pisać! A takie coś: dim a(3) as eram byte dim b(3) as eram byte dim c(3) as eram byte ?
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.
W momencie zapisu (konkretniej w jednym jego kroku) trzeba wyłączyć przerwania, bo pamięć EEPROM wymaga ściśle określonej liczby cykli. Jest to opisane w datasheecie np. ATmega8. Nie wiem czy funkcje w Bascomie to realizują, ale można sobie napisać je samemu i to bez stosowania wstawek assemblerowych, Bascom umożliwia przecież operacje na rejestrach...
daj schemat - może coś wyjaśni (dorzuć też kod - przynajmniej fragment konfiguracji, fragment zapisu i odczytu)
Witam, nie wiem jak napisać kod w Bascomie zapisu i odczytu zmiennej LONG do pamięci , popularnych kostek 24C
$eeprom - dyrektywa kompilatora, która informuje go, że od tego miejsca dane będą trafiać do pamięci EEPROM. Faktycznie dane te trafią do pliku EEP, którego zawartość podczas programowania zostanie przelana do wewnętrznej pamięci EEPROM układu. Napisa: - Etykieta dla polecenia READEEPROM. Jest to przyjazny zamiennik adresu pod którym dane w tej pamięci...
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...
Witam Jeśli dobrze rozumiem zdanie: "na zmienienie wartości string odczytanej z eeprom na zwykły tekst" masz na myśli zamianę liczby (zapisanej w kodzie ASCII ?) na jej odpowiednik znakowy. Program, który wykorzystałeś bazuje na kodach ASCII znaków, (komentarz przed tabelą znaków Fontlookop), dlatego też po mojemu niepotrzebnie stosujesz zapis: Czytaj_str...
Co do adresów, to na elektrodzie znalazłem, że niższy ma być do odczytu, a wyższy do zapisu. W helpie jest przykład i tam jest niższy do zapisu, wyższy do odczytu. Sprawdzę wieczorem.
Proszę. Jest to przykład zapisu i odczytu zarówno zwykłych bajtów jak też łańcuchów tekstowych inaczej mówiąc napisów w Eeprom. Program i funkcje działają z małymi pamięciami których adresacja mieści się w jednym bajcie. Do tego przykładu użyłem 24C04 Jeśli ktoś chce to może po prostu wpisać sobie jakieś dane do buff(1), Buff(2) itd i tak zapisać. Potem...
Witam. Pomóżcie proszę zamienić 2 fragmenty programu w Bascomie na wersję w Ascii. (...) Może chodzi o plik typu .hex, czyli skompilowaną binarkę zapisaną w czytelnym dla ludzi formacie?
Temat rozwiązany.Jak się okazało błąd był bardzo prosty.W listingu który odczytuje wszystkie parametry po kolei pomiędzy dzientygodnia a ACK nie było przecinka.Co ciekawe Bascom nie zgłaszał błędu.Wpadłem na to przy nauce zapisu i odczytu pamięci EEPROM która jest na tym samym module co zegar.Reasumując przy odczycie po I2C pomiędzy parametrem odczytywanym...
Witam wszystkich Chcę wysyłać i odczytywać obrazki BGF do/z eepromu. Procesor Atmega 32, eeprom at24c32. Wyświetlacz DMF5005N. T6963C. Ewentualnie skorzystałbym z EEpromu atmegi 644p. Czy posiada ktoś sprawdzoną procedurę zapisu i odczytu grafiki.? Próbowałem na przykładzie gotowca z helpa BASCOMA, ale miałem tylko czarne tło. Pozdrawiam i proszę o...
Dziękuje ... wpis i odczyt działają a jak mam przechodzić po po szczególnych zapisach bo jak dodam wyświetlanie [syntax=basic4gl]Plus: '/reczna incrementacja czestotliwosc poczatkowej freq_0 = freq_0 + 200 Locate 1 , 1 : Lcd Freq_0 Return minus: '/reczna decrementacja czestotliwosc poczatkowej Freq_0 = Freq_0 - 200 locate 1,1:lcd freq_0 return[/syntax]...
Po pierwsze: Używasz wewnętrznej pamięci, więc pamiętaj o żywotności cyklów zapisu/odczytu. Jest zalecenie, aby czynności związane z wewnętrzną pamięcią nie wkładać do pętli. Po drugie: Zainteresuj się zewnętrznymi pamięciami na I2C. To są moje wycinki kodu do regulatora PID: To w nagłówku: $eeprom 'Informacja dla procesora o korzystaniu z pamięci EEPROM...
Zrobić jedną tablicę jednowymiarową i zapisywać kolejno po sobie po 7 tych zmiennych, następnie odczytywać z "offsetem" tablica(x + y*offset) daje to pseudo 2 wymiarową tablicę. tablica(0 + 0*7) = tablica(0) tablica(1 + 0*7) = tablica(1) tablica(2 + 0*7) = tablica(2) .... tablica(0 + 1*7) = tablica(7) tablica(1 + 1*7) = tablica(8) itd....
Mam ten sam problem z kartą 4428. Przeszukałem różne fora i nic. Jest wiele informacji ale mało konkretów. Czy może w końcu ktoś napisać aplikację w BASCOM-ie z odczytem i zapisem tej karty?
Witam!! Napisałem sobie taki prosty programik do zapisu i odczytu z Eeprom'a - po to by poznać jego obsługę. Niestety program ten na wyświetlaczu wyświetla "50 50" Nie wiem dlaczego dubluje te 2 inne zmienne. Szukałem przyczyny w jak to się mówi 'literówkach' ale albo jestem ślepy bo nic nie znalazłem.. Co jest przyczyną w/w problemu? Mój kod: $regfile...
Po pierwsze to zajrzyj do pdf'a odbiornika IR, bo na Twoim schemacie brakuje konda i rezystora przy podłączeniu TSOP'a. http://pdf1.alldatasheet.com/datasheet-p... Ma być w programie: Wygaszacz (godzina + temperatura), - Czasomierz najprościej na programowym RTC: str. 244 w książce Wiązni, zaś temperatura - str. 293. Wszystko...
Procek ma tylko zapisać wartość w EEPROMIE oraz po jakimś czasie odczytać. Chyba za szybko nie jest , 10ms przerwy po zapisie chyba wystarczy... Spróbuję jeszcze zwiększyć czas.
Jak wyłączysz procek w trakcie zapisu eepromu to nie dziwota że zapisze go źle... Czy przypadkiem nie robisz tak że naciskasz menu i zaraz go wyłączasz?
To będziesz musiał się trochę napocić. Po pierwsze jak używasz watchdoga w programie, to musisz w jakiś sposób sprawdzić czy reset aby na pewno służył do upgrade'u. Możesz to zrobić np przez zapis do eepromu jakiejś wartości, odczyt i odczyt jej bootloaderze (pamiętaj żeby bootloader ją resetował). Dobry by był też mechanizm który by pozwolił na zrezygnowanie...
(at)tadeko, dużo przykładów w asm jest zawartych w datasheet mikrokontrolerów atmela. Między innymi jest ten o który pytasz, jest również odczyt. Dodano po 9 Daj sobie spokój. Jeśli kolega Tadeko chce uczyć się asemblera, to należałoby mu pomóc i nakierować w odpowiednim kierunku. Przede wszystkim musi zrozumieć, że porównanie asm z bascom nie ma sensu....
Widze ze kolega ma jeszcze bledsze pojecie o tym czujniku niz ja, polecenie przepisania notatnika do eepromu to Copy Scratchpad 48h Druga sprawa w notce aplikacyjnej nic nie pisze ze musze wysylac wszystkie 3 bajty ... pytanie czy rzeczywiscie nie musze ?! Jezeli ktos przeprowadzil udane doswiadczenia z zapisem i odczytem eproma DS18B20 w Bascomie to...
Te EEPROM-y mają taki adres: MSB LSB 1010xxxR gdzie: xxx - A2 A1 A0 R - bit odczytu/zapisu Ten adres musisz wysłać do tej pamiątki aby cokolwiek sensownego na niej robić.
Do 30 Hz po zmianie. Filtr fc=35Hz. Obecne próbkowanie: f= 125Hz (więcej nie dam, bo wtedy dokładność W takim razie musisz się liczyć z przekłamaniem sygnału na granicach pasma. Możesz to próbować kompensować w sofcie mnożąc otrzymane fft przez funkcję odwrotną do ch-ki amplitudowej filtru (kolejne mnożenia), ale weź pod uwagę, że z racji rozrzutów...
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...
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"...
Nie do końca wiem o co Ci chodzi , hm mógłbyś jakiś przykład dać? Myślałem jeszcze o użyciu pamięci EEPRom tylko pewnie na długo by nie wystarczyła zapis/odczyt przy codziennym użytkowaniu
Witam. Progamując nie korzystałem z EEPROM, a jeśli już to z zapisu i odczytu i to w bascomie. Tam sprawa jest prosta 2 komendy. Pisząć w asemblerze na AVR chciałbym aby program pobierał dane z pamięci EEPROM. Zdeklarowałem w pamięci EEPROM miejsce od którego mają być dane zapisywane. Następnie muszę wpisać dane - tylko nie wiem w jaki sposób to umieścić...
W jakim Bascom? Jakiego pliku na PC?? Bascom to język programowania procesora, a jedyne co procesor potrafi to skomunikować się z PC. Po stronie PC musi stać drugi program i to wcale nie napisany w Bascom (Delphi, C, VB, itp.). Jeden program odpowiada za odczyt pliku i wysyłkę danych (ten na PC), drugi (ten w AVR) za przyjęcie danych i ich zapis w eeprom.
Otworzyłem hexedytyrem tego txt i po kazdej linii wystepuje 0D 0A. Czyli oprócz entera jest jeszcze znak przeniesienia do nowej linni. Wydaje mi sie ze własnie przez to terminal wysyła dane mimo ze nie otrzymał zachety input. Do jakich pamieci stosuje sie zmiane adresowania strony, a do jakich rozdziela adres na mlodsze i starsze bity? Wiem ze 24c04...
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....
Niewiem czego tu nierozumieć.. I2cstart ; Rozpoczęcie transmisji I2cwbyte Adresw ; Wprowadzenie adresu układu do zapisu danyh I2cwbyte 1 ; Wprowadzenie adresu w pamięci I2cwbyte 3 ; Wprowadzenie wartości I2cstop ; Zakończenie transmisji I2cstart ; Rozpoczęcie transmisji I2cwbyte Adresw ; Wysłanie adresu do układu do zapisu danyh I2cwbyte 1 ; Wprowadzenie...
Czy w Bascomie, przy odczycie danych z wewnętrznej pamięci EEPROM, należy wyłączać przerwania - np. Timery je zgłaszające, czy nie ma to znaczenia i dane po odczycie, nawet jak ów proces zostanie przerwany, będą nieuszkodzone? Czy przerwania wyłączają się automatycznie, tak jak przy zapisie, tj. WRITEEEPROM var , address czy nie? Polecenie odczytujące...
Wazniejszy będzie odczyt na początku i stwierdzenie które dane są aktualne Robisz sume z bufora 1 i porownujesz z zapisana w buforze 1 , tak samo dla drugim buforze i ten z wadliwa suma odrzucasz , gorzej gdy oba maja poprawna sume to wtedy albo na podstawie analizy danych stwierdzasz które są nowsze albo na podstawie indeksu dodanego do danych tylko...
Co do: Procesor32 napisał: Zapisujesz nazwy pod ten sam adres w EEprom Writeeeprom Q , 13 I odczytujesz też z tego samego adresu. Jeśli przeczytałbyś dokładnie post I po sprawie.Nie musisz pamiętać adresu pod który masz zapisywać i z pod którego odczytywać. Prosto i bez problemu. Jest to prosta metoda zapisu do EEProm, ale ma zasadniczą wadę. Użytkownik...
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:...
Do odbioru kodu Rc5 nie jest potrzebny Eeprom. Chyba że to nowa sprawa ? która Ciebie interesuje. odczyt z eepromu - Readeeprom zmienna , 1 zapis do eepromu - Writeeeprom zmienna , 1 te rozkazy dotyczą eepromu wbudowanego w ATtiny2313
W nocie katalogowej np.24C512 na str.10 jest pokazany bajt adresowy. Bardziej znaczące 4 bity (MSB) +1 są stałe dla danego typu układu,pozostałe bity to dwa bity adresu i jeden bit zapisu/odczytu-"0"zapis "1"odczyt. Przykład: Mamy dwie kostki pamięci jedna kostka ma A0,A1 połaczone z GND to adres dla zapisu jest: 10100000 czyli 160 dla odczytu: 10100001...
Witam Chciałbym skonsultować temat. Adesy i komendy klawiszy w kodzie RC5 mam zamiar przechowywać we wbudowanej eeprom mikrokontrolera Atmega16. Czy (po odebraniu kodu RC5) w celu porównania odwoływać się za każdym razem do danej zawaetej w EEPROM (oszczędność pamięci ram, krótszy, łatwiejszy kod, ale za to częsty odczyt pamięci EEPROM) czy stworzyć...
Co do twojego pierwszego problemu, to najprościej jest czytać ciąg nie z określonego miejsca, a za określonym znakiem. Wszystkie dane masz przedzielone przecinkami. Zakładam że tych przecinków jest stała ilość. Po prostu czytaj łańcuch po 7 przecinku do następnego przecinka i już i wtedy długość wcześniejszych danych nie ma znaczenia. Co do eepromu...
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...
tmf: dzięki, faktycznie jest rozbieżność. Dopiero zaczynam naukę programowania w uC w języku C (wcześniej BASCOM) i troche opornie mi to idzie. W BASCOMie pisałem programy mało wiedząc co robie, co się dzieje w uC (nie było to potrzebne) pisząc w c trzeba się bardziej orientować...
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ć...
http://obrazki.elektroda.net/52_12740875... Chodzi mi o to, że chce mieć pamięć w której będę sobie zapisywał ilość elementów elektronicznych. chce rozplanować to sobie tak, że jedna 'ramka' danych będzie składać się z 77 bitów tekstu, nazwy elementu, zaś 3 najmłodsze bity będą zawierały informację o ilości elementów na stanie. Przy pamięci...
Sypie błądami przy kompilacji. Jak zaremuję odczyt to błędów już nie ma, ale nie zapisuje danych do EEPROM. Z eepromu fajnie korzysta się w połączeniu ze strukturami, ale to dla większej ilości danych. Jak potrzeba 2-3 zmienne to robię coś takiego: [syntax=c] #include <avr/eeprom.h> uint16_t x1, x2; //zmienne które należy zapamiętać w eeprom...
Witam, dziekuje za zainteresowanie tematem.. Mam podłączone dwie pamięci (z początku była jedna) o adresach 160 i 162 (program do wyszukiwania urzadzen pod 12c w bascomie wykrywa cztery adresy 160,161,162,163 - pewnie równiez te do zapisu danych). Pamięć jest na 100% dobra, programowana ICPROGIEM. Zauważyłem że (przypadkowo) dając samoa polecenie: i2cstart...
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.
Możesz rozwinąć to "systematyzować". Warto jedną(dwie) komórkę poświęcić by wskazać na której pozycji jest ostatni zapis lub ma być następny. Jeśli wystąpi zdarzenie to należy odczytać tą komórkę wykonać zapis np. 4 kolejnych komórek po czym zwiększyć i zapisać wskaźnik.
Dim zmienna2 As Eram Integer At 10 Dim zmienna3 As Eram Integer At 20 Dim zmienna4 As Eram Integer At 30 Dim zmienna5 As Eram string * 10 At 40 dim zmienna as integer do gosub zapis gosub odczyt loop zapis: zmienna2 = zmienna return odczyt: zmienna=zmienna2 return zapis_text: zmienna5= " czesc " return i analogicznie odwrotnie......... na początek wystarczy,...
W trudnym środowisku można na wszelki wypadek inicjalizować wyświetlacz co jakiś czas (a nie przy każdej pętli). Pin WR umożliwia odczyt z wyświetlacza. BASCOM używa go do odczytu flagi zajętości. Bez niego czeka maksymalny czas, w którym sterownik powinien wykonać instrukcję. O żadnym związku tego pinu z zakłóceniami w dokumentacji nie ma. Jeśli w...
Witam, przeszukałem już cały portal i nie znalazłem odpowiedzi. mam kod obsługi 3 x DS18X20 z numerami układów zapisanymi w EEPROM i jeżeli chcę odczytać właściwy ROM to muszę użyć sekwencji jak w kodzie w sekcji 1 (bez skoku do podprogramu) 'program odczytujący obecność układów 1WIRE i sprawdzający ROMy z EEPROM $regfile = "attiny2313.dat"...
Chodzi oczywiście o lock bity (lock - blokada). Swoją drogą skoro programujesz swoje avrki to jak możesz nie wiedzieć jeszcze nic o tych bitach ? Jak programujesz swoje AVRy ? Po pierwsze to nie są bity ustawiane z poziomu programu. PonyProg, AvrDude, AvrStudio, Bascom wszystkie pozwalają na ustawienie lock bitów. A blokując Flash lub EEPROM blokujesz...
Zapisać np: tak Lcd "Zapis danych !!!" Writeeeprom Hist , 1 Writeeeprom T_pompy , 2 Writeeeprom Hist_pompy , 3 A odczytać tak: Rem * * Odczyt Konfiguracji * * Readeeprom Hist , 1 Readeeprom T_pompy , 2 Readeeprom Hist_pompy , 3
Witam, Ważna uwaga: typ long jest całkowity, nie ma części ułamkowej, trzeba użyć single lub double. Mała wskazówka z helpów (polski ubogi pełny po angielsku w programie) Pamięć ERAM. Większość procesorów serii AVR posiada wbudowaną pamięć EEPROM. Pamięć ta może przechowywać dane nawet po wyłączeniu zasilania. Jak podaje producent nawet do 10 lat. Pamięć...
Tak właśnie chce użyć odcięcia zasilania jako "przełącznika" przyciski nie wchodzą w grę . Czy EEPROM ma jakiś ograniczony zapis i odczyt ? Bedę używać zmiany kolorów może dwa do czterech razy dziennnie maksymalnie. Ma ktoś może jakiś przykład programu w bascomie ?
Witam Wszystkich. Mam problem, taki mały raczkujący problem. Posiadam kostke ds2431, 128bajtowego eeproma. Moje pytanie odnosi się do sposobu adresowania komórek pamięci i przesyłania danych. Jeśli ktoś byłby w stanie opisać procedure zapisu "czegoś" , a potem odczytu tego "czegoś" , byłbym wdzięczny. mam tylko numer ID tej pamięci. pozdrowienia.
Ja robię to np tak: Lcd "Zapis danych !!!" Writeeeprom Hist , 1 Writeeeprom T_pompy , 2 Writeeeprom Hist_pompy , 3 a odczytuję tak: Rem * * Odczyt Konfiguracji * * Readeeprom Hist , 1 Readeeprom T_pompy , 2 Readeeprom Hist_pompy , 3 Jak narazie działa bez problemu, nie wiem do końca czy jest to poprawne użycie tej funkcji. Nie należy zapisywac pierwszego...
Powód jest prosty :) Cały czas się uczę bascoma i chcę dowiedzieć się jak najwięcej. Wiem że można to zrobić zapisując w eepromie procka ale chciałby wiedzieć jak to się zapisuje do eepromu zewnętrznego. Przypuśćmy że są takie układy w których bardzo często zapisuje się nowe ustawienia i wtedy najlepszym rozwiązaniem jest zapis do pamięci zewnętrznej,...
Fajnie w końcu zrozumiałem zapis do pamięci 24c32 wielkie podziękowania Panu Andrzejowi. Pamięć e2prom będzie kolejnym układem peryferyjnym w moim urządzeniu oraz nauka obsługi pamięci szeregowych Data flasch at45db011b i eeprom 93c64 ,ekspander wejścia- wyjścia na i2c poznałem . Ala wiem teraz do kogo się zwrócić . Dzisia Postaram się jeszcze napisać...
Witam! Noszę się z zamiarem zaprojektowania urządzenia w którym to wyświetlana będzie spora ilości napisów na LCD-ku w związku z powyższym myślę że w tym przypadku idealna okazała by się pamięć eeprom. I tutaj kieruje pytania do Was drodzy forumowicze: 1. Czy odczyt tej pamięci jest tak samo długi jak jej zapis? Myślałem o tym aby pobierać dane z kostki...
Ja uważam, że nie ma to jak zacząć poznawać dowolną rodzinę procków za jaką się zabieramy właśnie od asemblera. Warto go nawet bardzo dobrze poznać bo później gdy trzeba zrobić jakieś krytycznie-czasowo ważne wstawki to wiadomo - asm ;) Natomiast w większości projektów jak sam zobaczysz nie jest aż tak istotne to jaka jest objętość kodu wynikowego....
google naprawde nie gryzie : $regfile = "m128def.dat" $crystal = 14745000 $baud = 115200 'set the baud rate for the first hardware UART. $baud1 = 9600 'set the baud rate for the second hardware UART. Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0 Config Com2 = Dummy , Synchrone = 0 , Parity...
Zapis w EEPROM w Bascomie jest faktycznie lekko poroniony :) Tak jak zrobiłeś, czyli sprawdzenie czy A1 różne od A i jeśli różne to A=A1 jest jak najbardziej prawidłowe. Nie musisz natomiast używać komendy writeeeprom. Samo przepisanie A do A1 spowoduje zapis do pamięci nieulotnej. Sprawdzone wielokrotnie na prockach "większych", czyli A32 w górę, ale...
Czyli mogę zrobić to tak z pętlą for? Od razu czuję że coś jest nie tak... Ponawiam pytanie o adres eepromu 24c256 do zapisu i odczytu, tu wpisałem dla 24c04 chyba Jakiego typu powinny być zmienne komorka, komorka1 i komorka2? Dim Mode1 As Byte Dim Command As Byte Dim Address As Byte Dim Komorka As Byte Dim Komorka1 As Byte Dim Komorka2 As Byte Dim...
witajcie!! Problem wyglada tak: mam 24c08 i zapakowalem do niego plik: FFFFFF070707070F0F1F7FFFFF00FFFFFF3F1F0F... 03030303C3C3C3C3C38303030383C3C3C3830303... 3C3C3C38303C3C3030303C3C303030303FFFF000... 00080C0FFFF00FFFFFF8000000000000000FFFFF... 070793F1F001F3F7070703F1F00007F7F6060600...
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...
Jeżeli masz prawidłowo zapis do i2c eepromu a nie jakieś tam przypadek że działa to masz ewidentnie źle napisany program. Skoro do tego pokazuje ci albo 0 albo 255 to już napewno masz coś nie tak. Skąd wiesz że ci sie dobrze zapisuje/odczytuje? sprawdzałeś to jakimś programatorem albo innym układem? Tak jak napisałem już wczesniej - jezeli używasz tego...
Mam pytanie o zapis i odczyt z eepromu. jesli chcę zapisać do eepromu liczbę: 1001000001110111110001000011101111 i później ją odczytac, to mam to zrobić na zasadzie każdy bit to jeden adres? Czy może zrobić zmienną string, z eepromu do niej pobrać wszystkie cyfry i po kolei odczytywać z zeminnej string znaki? Żeby uniknąć tego długiego kodu, zrobię...
Skoro program utyka w jakimś miejscu to znaczy że czekasz w pollingu na stan, który się nie pojawia. Po pierwsze dodałbym time out, który przerwie pętlę oczekiwania zanim układ zostanie zresetowany przez watchdog. Zapis nie jest w pętli, struktura programu wygląda tak: Skoro na magistrali nie ma innego mastera to należałoby wysłać ponowny warunek startu....
Niestety próbowałem sam, ale juz nie mam siły. Przeczytałem tematy na forum jednak nie widze w nich rozwiązania problemu, dlatego zacząłem nowy temat. Problem tkwi w tym, że otrzymuje z układu DS18B20 po dokonaniu odczytu z rejestrów wynik w postaci FFFF. Program piszę pod ATMega48. Czujnik połączony jest z zasilaniem z stabilizatora 7805. Najpierw...
Odpowiadam z sporym opóźnieniem, ale faktycznie problem tkwił w wersji BASCOMA-AVR. Teraz mam wersję i co zauważyłem to, że przy tym samym kodzie, zapis do eeprom przy pomocy zmiennych zdefiniowanych jako Eram jest prawidłowy. Obsługa RTC przy pomocy zdefiniowanego zegara: Config clock = soft, też działa sprawniej (tzn, działa wogóle;))
Witam kolegów, Postawiłem sobie pewne zadanie do wykonania i wygląda na to, że będę potrzebował jakiejś rady kogoś kto lepiej zna problem. Chodzi o komunikację mokrokontrolerów ATMEGA przez interfejs SPI. Programuję w BASCOM, gdzie są już gotowe instrukcje do tego. Cały problem wygląda tak: - Mamy 2 procesory ATMEGA8 - Mam tablicę 10 elementową X (elementy...
Witam, zrealizowałem program oraz układ który wyświetla napisy na czterech wyświetlaczach 7-segmentowych. W programie napisy chciałem umieścić w pamięci eeprom a następnie z niej odczytywać. Niestety po załadowaniu programu układ działa tak że zapalają się wszystkie wyświetlacze (bo na początku są wszystkie zapalone - wyświetlacze 7 seg ze wspólna anoda)...
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.
Witam! bardzo serdecznie. Chciałem zrealizować w oparciu o mikrokontroler ATmega8 odtwarzacz dźwięku. Jest to tylko układ realizowany w celach edukacyjnych, więc chciałem dane zapisać najpierw w pamięci EEPROM (ATmega8 ma 512b). Ma być to jeden krótki dźwięk odtwarzany po włączeniu mikrokontrolera. Dźwięki chcę odtwarzać za pomocą głośnika przez PWM....
Witam cię miałem podobny problem. programuje w bascomie ale postaram się podpowiedzieć ci w czym tkwi problem przy zapisie pamięci. Jeżeli umiesz odczytać zawartość pamięci to w zapisie jest tak że po rozkazie cch ,55h czyli kopiujesz do notesu podajesz ta1 ta2 e/s wtedy dajesz czekaj 5ms potem tablice do w w pisania do eepromu powinno zadziałać od...
Załączam obsługę pastylek Dallasa 1990. Jest to część mojego programu obsługującego imobilajzer. Cztery pastylki są zapisane e EEpronie adres 10, 20, 30, 40 hex. Podprogram odczytuje cały 64 bitowy kod i porównuje je z wzorcem e EEpromie. Gdy któryś bajt różni się od wzorca blokada nie jest zdjęta. Podprogram sprawdza czy odczytana pastylka jest zapisana...
Witam mam takowy problem. Niewiem dlaczego odczyt eepromu nie może odbywać się w petli do loop. Może ktoś mnie oświecić? Jeżeli zapisuje i odczytuje w ten sposób jest ok: Dim Eskret As Eram Byte At 1 Eskret = 12 Dim Egaz As Eram Byte At 2 Egaz = 26 Dim Skret As Byte Skret = 0 Dim Gaz As Byte Gaz = 0 Readeeprom Skret , 1 Readeeprom Gaz , 2 Cls Locate...
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ę...
Trochę dziwna ta nota. Na obrazku co innego a w tabeli co innego ( a przedtem dalej nie chciało mi się czytać). Na stronie 55 pisze że Command Byte wyglada tak : cztery najstarsze bity to adres pod który chcesz coś wpisać a Ty chcesz pod adres z tabelki niżej czyli pod adres 00, potem dwa bity oznaczają czy to zapis czy odczyt więc znów dwa zera i potem...
Tak wczytanie do eeproma dzięki $eepromhex już działa poprawnie - dzięki. Ale dlaczego po próbie zapisu i odczytu zmiennej ( debounce dla pind.0 i 1) Układ się resetuje - tak mniemam bo licznik "ekran" nagle liczy od 0. Próbowałem wpisywać poprzez readeeprom i writeeeprom i to samo restart. Coś źle robię ? Pozdr. Rafał
bascom zapis odczyt eeprom eeprom bascom zapis odczyt zapis odczyt eeprom
niebieski pulpit lenovo throttling czujnik temperatury objawy
Komunikat NAFP na sterowniku Carel pCO - przyczyny i rozwiązania Jak rozebrać laptop Fujitsu Siemens Z17M3.0 - krok po kroku