Tak jak, to któryś z przedmówców powiedział należy odwoływać się do pamięci EEPROM. Zacząłbym od poczytania manual'a z avr-libc podajże są tam przykłady jak należy poprawnie wykorzystywać funkcje zapisu i odczytu do wewnętrznego EEPROM'u. Zdefiniuj sobie w programie: uint8_t eeprom_zmienna __attribute__( (section(".eeprom")...
Od czego zależy adres EEPROM i jak go ustawić
Hmm..... To w związku z tym jak się odnosić do wyższych adresów w pamięci skoro 256kB EEPROM podzielony jest na 8 sektorów z czego każdy sektor ma 32768 B; bo przecież adres jaki podajemy w kodzie źródłowym programu jest 15 bitowy (1B + 7b), stąd (111111111111111)bin = (32767)dec = (0x7FFF)hex, czyli maksymalny adres jaki można napisać używając 15 bitów...
W Proteusie jest wiele eepromów. Są takie, które mają tylko jak mówisz SDA i SCL, ale są też takie, które wyposażone są w SDA, SCL i WP. Są też: SDA, SCL, WP, A0, A1, A2. Wystarczy tylko poszukać. Do tych ostatnich należy 24AA64 Jeśli chodzi o adres dla 24AA64, to w nocie katalogowej jest 1010xxxn, gdzie xxx to stan A0..A2. Jeszcze jest n, które określa...
Podczas programowania warto trzymać się starych, sprawdzonych standardów. Np. Intel HEX. Ten standard ma rozwiązane już te problemy o których piszecie, np. jak wieki bufor, kedy rozpocząć zapis eepromu, adresowanie + jeszcze kontrole poprawność danych CRC.
a jeszcze moge dodac jak to zapisac np do komórki pamieci nr100 w eepromie a potem to odczytac z tejze komórki czyli w skrócie adresowanie ? z góry wielkie dzieki No co Ty , żartujesz :?: eeprom int *eeptr; void main(void) { char a; a=0x11; eeptr=100; *eeptr=0x33; a=*eeptr; for(;;); } Piotrek
Czy to znaczy, że zmienne statyczne czyli zadeklarowane ze słowem static i zmienne globalne znajdują się w pamięci FLASH i są później kopiowane do RAM? Dotyczy to tylko zmiennych globalnych (statycznych w scope funkcji), które są zainicjalizowane. Zmienne globalne niezanicjalizowane są umieszczane w sekcji .bss i inicjalizowane wartością 0. Gdybym...
eeprom to nie jest pamięć ram, po sekwencji wysyłania danych zapis następuje po otrzymaniu znaku stopu i trwa około 10ms.. musisz wstawić opóźnienie 10ms pomiędzy stopem jednego zapisu a startem kolejnego.
A jak zaadresujesz 511 komórkę ?? W nocie napisane jest adresowanie 9-bitów. Owszem, tylko że 9-ty bit znajduje się w adresie urządzenia, a nie w adresie komórki pamięci. Czytaj dokładniej. Nie rozumiem Cię - chcesz rozwiązać problem, czy udawać ... "mądralę" :?:
Flash musisz kasować blokami, to nie działa jak EEPROM, że możesz skasować pojedynczą komórkę. Gdzieś widziałem przykład emulacji pamięci EEPROM za pomocą pamięci flash... O, już wiem, w książce p. Lucjana Bryndzy o ARMach 9 jest przykład, który wykorzystuje 2 bloki pamięci flash. Jest tam zrobione wirtualne adresowanie itp. Ale można zrobić też tak,...
4. Blokowy układ pamięci wynika z ograniczonej przestrzeni adresowej. Dany układ nie pozwala na adresowanie każdego bajtu z osobna więc stosuje się bloki np po 64 lub 128 bajtów. Zatem wybierając adres powiedzmy 32, zaglądasz do szufladki w pamięci do której możesz zapisać te 64 lub 128 bajtów. Adres 33 wskazuje na inną "pustą" szufladkę w której jest...
na dzien dobry to EEWRITE na poczatku nie ma startu na magistrali a na koncu stopu. 2- po wysłaniu danych do zapisu nie czekasz min 10ms aby dana zostal zapamietana. pozdrawiam. p.s. odczyt wyglada na prawidlowy.
http://obrazki.elektroda.pl/3771560700_1... Dawno dawno temu w urządzeniach dane tylko do odczytu były przechowywane w pamięciach EPROM. Tego typu pamięci były programowane elektrycznie natomiast kasowane promieniowaniem UV. Kasowanie było możliwe dzięki okienku kwarcowemu w obudowie (istniały też tańsze jednokrotnie programowalne pamięci...
Czcionka Lucida Console jest ok. Ta nie dała dobrego efektu ale zacząłem sprawdzać inne i sprawdziłem u kolegi wyżej :D Najlepiej sprawdziła się czcionka "consolas" i "courier news" https://obrazki.elektroda.pl/9985339800_... Jeszcze mam takie może głupie pytanie, ale nie rozumiem tego: Store value/string to EEPROM – EEPROM valid...
Witam, spójrz na sposoby komunikacji, a dokładniej adresowanie komórek, nie są do końca zgodne. Jeśli to gotowy układ, to będą problemy, jeśli piszesz sam program, to dostosujesz kod do danego układu. Co do oznaczeń, to nie pamiętam, musisz poszukać w datasheet. Pozdrawiam
https://obrazki.elektroda.pl/1695484200_... Witajcie moi drodzy. Przedstawię tu wnętrze starego telefonu systemowego ATS-20 produkowanego przez polską firmę Slican z Bydgoszczy. Sprawdzę na jakim mikrokontrolerze jest zrealizowany oraz w jaki sposób ten mikrokontroler komunikuje się z telefonią analogową. Zobaczę jak zrealizowana jest...
https://obrazki.elektroda.pl/9846005800_... Urządzenie przeznaczone jest do stosowania w krótkofalarstwie jako część wzmacniaczy lub transceiverów. Można je też wykorzystać niezależnie, jako pełniące funkcję dopasowywania impedancji wyjściowej wzmacniaczy mocy (PA) z antenami. Całość może zawierać zestaw od 5 do 7 cewek i od 5 do 7...
Mam pytanie. czy ten eeprom można zastąpić np 24C16. Nie znalazłem go w katalogach i mam wątpliwości czy to możliwe i czy adresowanie jest takie samo.
Aktualizacja nr.1 PCB v1.1 -dodano rezystory ograniczające prąd dla linii MOSI i SCK - 22Ω (moja poprzednia sugestia, 330Ω, to zdecydowanie za dużo) Soft v1.1 -usunięto błąd kiedy programator się zawieszał po wybudzeniu z trybu uśpienia -usunięto błąd zbyt niskiego napięcia dla LCD (problemy z kontrastem) -usunięto błędy zapisu/odczytu pamięci...
Jak pewnie zauważyłeś, jestem fanem kilkukrotnego zmieniania swoich wypowiedzi po wysłaniu ;D Zauważyłem... Wprowadza to trochę zamętu. Zapewne masz rację, wybacz. Aczkolwiek albo coś dodaję, albo poprawiam literówki, które wypatrzę :) Koszmar perfekcjonisty. Adres jest 3-bitowy, a to daje możliwość użycia potencjalnie do 8 banków (64 efekty łącznie)....
Akurat wybrałeś bardzo niefortunnie eeprom 24c16. Ten akurat bity adresujące więcej niż jeden układ ma przeznaczone na adresowanie strony. Czyli linie A0,A1,A2 są przeznaczone na P0,P1,P2. 24c16 może być tylko jeden. Sugeruję jeśli Ci wystarczy 24c8 lub 24c32 (32k).
Wiesz co! Zastanawiam się czy nauczyciele zawsze muszą starać się zrobić to metodą " czy można jeszcze gorzej ?". Adresy, liczniki, dekodery i dzikie węże a jakiś czas temu realizowano takie wybryki prawie w technice dyskretnej i stąd trzeba czerpać wzorce prostoty przy wykorzystywaniu współczesnych elementów. Owszem EEPROM bo łatwo dostępny i niezbyt...
Tak, to dobry tok myślenia. MSB adresu 0x100 będzie na pozycji P0.
Linie A0-A2 w 24c04 najlepiej jak w oyginale, oprocz układu musisz zmienic adresowanie, bo w 24c04 czesc adresu komorki EEPROM jest wysylana z adresem na I2C.. jesli adresowanie bedzie takie samo kosc bedzie zachowywac sie jak 24c02 /poprostu stracisz dostep do gornej 'polowki' Pozdrawiam.
Sprawdź dokładnie adresowanie - odczyt i zapis. Problem na pewno leży gdzieś tam.
Podczas programowania kasowana jest pamięć flash oraz eeprom więc dane ulegają utracie. należało by zapisać pamięć eeprom do pliku przed programowaniem i podczas programowania ustawić programowanie pamięci flash+eeprom. zmiennej nietrzeba zmieniać na postać bcd. adresowanie - kolejne adresy narastające o rozmiar poprzedniej zmiennej. (a-bajt b-wyraz...
Jestem początkujący więc proszę o wyrozumiałość. Od kilku dni wertuję Internet bo chciałbym się dowiedzieć w jaki sposób mogę zaadresować pamięć EEPROM powyżej adresu 0FFH, np jak adresować komórkę o adresie np. 7CC poprzez I2C? W każdym datasheet'ie jest napisane że adres komórki musi być 8 bitowy, nie do końca rozumiem o co chodzi ze stronicowaniem,...
Wiem że kiedyś też z tym miałem zonka i głowiłem co jest nie tak. Rozwiązaniem było pozostawienie pierwszej komórki i adresowanie danych od adresu 01, jak pisałem wcześniej.
znaczy ze z pamieci SRAM dane same znikaja w trybie idle lub sleep? skoro piszesz w C, to co cie obchodzi w jaki sposob realizowane jest adresowanie posrednie? 4\/3!!
Jak z etykiety eeprom wydobyć liczbową wartość adresu i przypisać ją do zmiennej? 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. Następnie Deklaruje, jakie wartości powinny być zapisane w eeram...
Dobrze, że temat kondensatora mamy za sobą (długi czas zapisu przy większej eksploatacji pamięci) bo większość dyskusji nie była na temat tak jak zauważył Piotrus_999 , choć rozumiem i doceniam chęć pomocy w sposób inny niż jest to przewidziane w temacie i projekcie. Dziękuje rb401 za zaangażowanie w temat. Wracając do dyskusji nie będzie to tak ekstremalne...
Nie sądzę abyś znalazł po polsku - niestety świat elektroniki to przede wszystkim angielski. Ale możesz poczytać to: http://radzio.dxp.pl/eeprom/24c32-24c512... a dane znaleźć w datasheet: http://www.atmel.com/dyn/resources/prod_... + tłumacz Google: Datasheet przetłumaczony
Witajcie. Avrgcc i plik nagłówkowy eeprom.h. Nie znalazłem prostego sposobu. Czy da się umieścić zmienne w pamięci EEPROM pod konkretnym adresem nie zostawiając pola dla linkera? Potrzebuję tablicę uint16_t Tablica[16] EEMEM umieścić (a potem odczytywać) od pierwszej komórki pamięci EEPROM (czy jakiejkolwiek innej). Da się to zrobić prosto bez pisania...
Podpowiedzcie mi prosze, jak zadeklarowac zmienna w pamięci eeprom po adresem 0x01?? bo: #define EEMEM __attribute__((section(".eeprom"))) EEMEM unsigned char ZMIENNA; lokuje ja w pierwszej wolnej komorce czyli 0x00. Moge zadeklarowac wczesniej inna zmienna PUSTĄ tak aby kompilator ulokowal ja pod 0x00 ale nie jest to elegancke. W '51 robilo sie to...
Bo w procesorach ARM mamy adresowanie ciągłe. Nie tak jak w AVR, że EEPROM zaczyna się od adresu 0, FLASH od adresu 0, rejestry od adresu 0 itd. Tu jest po prostu ciągła szyna adresowa 32-bit i mamy na niej umieszczone zakresy adresów odnoszące się do danych elementów. Np. (rzucam zmyślone dane) FLASH będzie miał adresy 0x00000000-0x00010000, potem...
Witam. Chcę aby w epromie powtarzac kilka razy dany adres np. 5 razy adresy po kolei od 0 do 30, potem 5 razy od 31 do 50 itd... Trzeba użyc jakiegoś procesora?
To 24E16 w obudowie SOIC8. A wiecej to w PDfie , polecam poczytać czym się rózni od 24C16. A napewno nie odczyta 24E16 ani 24C16 jako 24C32. W pamiątkach I2C powyżej 24C16 jest inne adresowanie i faktycznie można uszkodzić zawartość czytając ją w taki sposób. SławeK
Witam! Mam problem z zaprogramowaniem kości 24c32. Jest ona podłączona do atmegi8 do lini sda i scl. Pozostałe linie eepromu są: a0, a1, a2, wp, vss do masy i vcc do plusa. Atmega odczytuje tylko 255 więc komunikacja chyba jest ale oczywiście pamięć pusta, a gdy próbuje coś wpisać to to samo.. Przykładowy program: 'początek i2cstart i2cwbyte 160 'adres...
No to jeszcze pytanie pomocnicze - BoskiDialer : Adresowanie w moim kodzie jest OK, zarówno dla byte write, jak i page write ? Bo już sam nie wiem... ;)
Bascom Atmega Jak zapisać domyślne wartości w eepromie pod wskazanym adresem? Tworzenie zmiennych w kodzie, które mogą wskazywać, pod jaki adres ma ona wskazywać zajmuje miejsce w kodzie programu. Jeżeli zadeklarujemy to w ten sposób to wszystko jest zapisane w pliku epp i nie zajmuje miejsca w kodzie programu. Ale jak wskazać że przykładowo etykieta...
Witam, jak umieścić dane w eepromie (generowanie pliku eep/hex) w pod określonymi adresami: Typowo można wykonać coś takiego: #define EEPROM __attribute__ ((section (".eeprom"))) unsigned char tablica_w_eepromie[4] EEPROM = { 0, 0, 0, 0}; ale problem polega na tym że muszę mieć dostęp do tej tablicy...
Witam kolego. Sprawa nie jest trudna ale niestety bez znajomości kilku podstawowych terminów nie da się w prosty sposób tego wytłumaczyć. Trzeba to wiedzieć aby cokolwiek ruszyć z tematem. Wymienię teraz wszystkie terminy, które musisz poznać aby zrozumieć czym jest organizacja pamięci ram. Może część już znasz dlatego tylko wymienię nie zagłębiając...
rj1307 napisał: I drugie pytanie, jeśli dobrze zrozumiałem, nie mogę adresować xram'u od 0 tylko od adresu powyżej końca pamięci wewnętrznej mikrokontolera. Jak więc zapisać pełne 64kB? Bezpośrednio sie nie da. W kontrolerze trzeba ustawić adresowanie 32 kB. Pamięć trzeba podzielić na dwa obszary po 32kB. Linią adresową A15 (nie musi to być PC7) wybieramy...
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...
Dzień dobry, Mam nietypowy problem z zapisem pamięci I2C z serii 24...1024/1025/1026 (różnią się tylko adresowaniem). Krótki wstęp: pamięci te mają dwa bloki po 512kb każdy. Blok jest wybierany po przesłaniu bajtu kontrolnego (control byte) z 7-bitowym adresem, przykładowo dla pamięci 24...1026 control byte ma postać Teraz do rzeczy. - odczytuje pierwszy...
Witam kolegów postanowiłem wykorzystać interfejs i2c do komunikacji z układami peryferyjnymi jak pamięć eeprom 24c32. Samą komunikację interfejsu i2c znam ,lecz zatrzymałem się na etapie zapisu stronami do pamięci 24c32 .Proszę o wyjaśnienie ,pojęcia zapisu stronami i sposób jego adresowania , abym mógł w sposób automatyczny zapisać lub odczytać całą...
Witam. Nie chciałbym otwierać nowego tematu, więc podczepie się pod ten. Czytałem note katalogową tej pamięci, ale nie wiem, czy dobrze to zrozumiałem, gdyż z angielskim u mnie krucho. Chodzi o adresowanie pamięci. Adresowanie wygląda mniej więcej tak: Wysyłamy bitstartu, ACK, następnie 160 (10100000 - zapis do pamięci), ACK, następnie adres komórki...
1: bit potwierdzenia jest wysylany zawsze po poprawnie odebranym bajcie.. np slave odbierze bajt danych, i na 9 bicie ramki wymusza stan niski czyli potwierdzenie.. podobnie master.. master jak odbierze bajt to musi wystawić stan niski na jako potwierdzenie, inaczej użądzenie sie rozadresuje i niebędzie wykonywało poleceń do czasu kolejnego nadania...
Do testowania używam czterech przycisków, gdzie S1 i S3 służą do zapisania na sztywno wybranej komórki, a przyciskami S2 i S4 odczytuje je. W poniższym przypadku w komórce nr 234 na stronie 2 pamięci zapiszę się cyfra 6 a nie 70. Natomiast w komórce numer 11 na stronie 1 zapisana będzie liczba 145. Poniżej wycięty kod programu: [syntax=c] #define FRAM_PG1...
Jak obrócony obraz ('do góry nogami') to trzeba sprawdzić czy nie powoduje tego moduł T-con. Odpowiada on za geometrię obrazu i adresowanie LCD. Z charakteru usterki można przypuszczać, że w środku panel Sharpa? Ale nie podajesz tego. Można przypuszczać, że zawartość pamięci eeprom , z której korzysta kontroler matrycy jest uszkodzona, ale z drugiej...
Słuchajcie, a czy nie interesowało Was rozwiązanie zagadki tego samsunga? Jakiś haczyk musi tu być ! Radio zachowuje się tak, jakby odczytało co innego, niż chciało zapisać. Stawiam na niepełny zapis: Kostki od 24c01 do 24c08 posiadają stronicowanie mapy pamięci na adresie fizycznym I2C, oraz na pinach 1,2,3. Natomiast w przyp. 24c16 adres fizyczny...
BARTek wrócił z wakacji to Wam wyjaśni :D Temat jest ciekawy tylko pod jednym względem. Kiedy w Bascom dołączamy jakąś bibliotekę poprzez $lib to jest ona przeszukiwana pod kątem potrzebnych w programie procedur. Przeszukiwanie jest prowadzone po kolei tak jak dołączamy bliblioteki a też pod kątem tego które są potrzebne w programie. Na samym końcu...
Witaj, Więc robisz bardzo ciekawy projekt który sam kiedyś miałem zamiar zrobić. Mam tutaj na myśli głównie sterowanie tymi wyświetlaczami punktowymi. Przyznam szczerze że na pierwszą przygodę z mikrokontrolerami to dość odważny projekt wymyśliłeś <brawo> 1) Tak. Mam na myśli pamięć EEPROM do przechowywania danych np. 24C256 (8kB) Są i większe...
Załączam plik lib_avr.zip, w którym są umieszczone biblioteki funkcji dla środowiska WinAvr. Narazie niezbyt liczne ale w miarę wolnego czasu postaram się doprowadzić większą ich ilość do stanu "publikowalności". Załączone biblioteki zostały dosyć gwałtownie sprowadzone do stanu w jakim się znajdują, dlatego mogą się w nich chować jakieś niespodzianki...
Właśnie przeczytałem część dokumentacji o at24c08 (http://www.atmel.com/dyn/resources/prod... Mój problem tyczy się 3 pierwszych nóżek - a0-a2 (Adress inputs). Przecież jest to eeprom korzystający z magistrali i^2c! A więc z 2 kabelków (SDA I SCL). Bardzo możliwe, że ja jestem nie doinformowany, także się nie śmiać! :). A nawet...
to ze przez odpowiednie adresowanie pamęci można do niej zapisywać kolejne bajty to wiem, ale chodzi mi konkretnie o to jak dopisywać kolejne bajty, np: w basic dla dosa było to chyba tak: Open "plik.txt Append As#1 Zmiennna Close #1 Append o ile sie nie mylę dopisywało do pliku kolejne bajty Możliwe ze cos pomylilem teraz z ta składnią dla basica,...
a ty na pewno wpisujesz pod odpowiednie adresy?? sprawdz to jakąś prostą procedurką np. .......... for adres= 150 to 200 i2cstart i2cwbyte adres i2cstop if err=0 then lcd "układ pod adr.:" ; adres else lcd "pod adr.:" ; adres; "nic nie ma" end if wait 1 next adres ......... bo to wygląda na złe adresowanie albo na padniętą pamięć sprawdz czy zapisujesz...
własnie LPT też biore pod uwagę i w sumie męczy mnie ta myśl cały czas tylko kurcze co tu jest grane? Własnie dobralem sie do gada z innej strony - a dokładnie zacząłęm sprawdzać samo adresowanie pamięci. (Jak wspomniałem wszystkie sygnały są ok (poziomy) Jednak coś mi nie pasowało w samych adresach (mimo ze wszystkie linie ustawiane ręcznie są ok....
adresowanie eeprom adresowanie bitowe adresowanie głowy
sklep czesciami elektronicznymi megane moduł immobiliser żarówki panelu radia blaupunkt
generator funkcyjny generator funkcyjny
Yamaha DRX-730 - Słabo świecący wyświetlacz: przyczyny i rozwiązania Wymiana przełącznika świateł Skoda Fabia 2003