Przecież dostałeś ode mnie opis nagłówka eeprom.h oraz dwa przykłady w tym jeden dokładnie taki jak potrzebujesz: Funkcje obsługi eeprom z nagłówka <avr/eeprom.h>: http://www.nongnu.org/avr-libc/user-manu... Tutaj jest dokładnie taki przykład jak potrzebujesz - po włączeniu odczytuje zapisane w eeprom parametry: http://mikrokontrolery.blogspo...k-podci...
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
A może rozważ użycie pamięci F-RAM (gwarantowane cykle odczytu i zapisu rzędu 10 ^ 9 ) http://www.tme.eu/pl/katalog/pamieci-fra...
witam Program, z którego pochodzą przedstawione funkcje był pisany pod Raisonance, w Keil spróbuj zamiast xdata char* addr wpisać char xdata * addr Nie mam Keila, nie sprawdziłem tego w programie, ale patrząc w helpa myślę, że zadziała. Poniżej masz przykład przypisania zmiennej x (z przestrzeni data) wartości zmiennej eep_var (z xdata - eeprom) - bezpośrednio,...
W eeprom_write_block() masz odwrotną kolejność wskaźników. Najpierw musi być źródło, później cel.
Wrzuć cały kod. Dodano po 1 U Ciebie błąd jest w tym, że po odczycie poprawnego zapisu z EEPROM nie inicjujesz rejestrów PORTD i DDRD, tylko od razu przechodzisz do testowania wejść, przez co porty są nie zainicjowane dopóki nie naciśniesz jakiegoś przycisku. Na dodatek nie odświeżałeś wartości r19 po zapisie nowej wartości do EEPROM. W układzie należy...
[syntax=c] aaa=EEPROM_odczyt(0); itoa(aaa, text, 10); [/syntax] aaa wewnątrz funkcji EEPROM_odczyt(); to nie to samo aaa co w int main(void); - to dwie różne zmienne.
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...
pueb wrote: Czy mogę zastąpić tą oryginalną kostke 4c02a5 atmelem 24c02? Spróbuj, inaczej się nie przekonasz :wink:
SaveToEeprom(1, current, voltage); zapisuje zmienną "current" w komórkach 1 i 2 i zmienną "voltage" w komórkach 3 i 4 EEPROMu. Następnie SaveToEeprom(2, current, temperature); zapisuje zmienną "current" w komórkach 2 i 3 i zmienną "temperature" w komórkach 3 i 4 EEPROMu. itd. Nadpisujesz dane (komórka 3), więc odczytujesz później "śmieci", czyli wartości,...
...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
W datasheet jest zapisana przykładowa procedura zapisu i odczytu pamięci EEPROM. O ile nie zaznaczyłeś odpowiedniego bitu w fusebits to pamięć EEPROM jest standardowo kasowana przy programowaniu kości.
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. 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...
Wygląda na problem z zasilaniem, pamięć eeprom jest niestety dość czuła na tym punkcie. Próbowałeś włączyć Brown-out detection z ustawieniem na odpowiedni poziom napięcia?
Jeśli ta funkcja eeprom_write_block jest z atmelowej biblioteki to nie musisz na nic czekać.
Przyjrzyj się prototypom funkcji operujących na EEPROM - pierwszym argumentem jest adres, a drugim dana, powinno więc bć eeprom_write_byte(&liczba_LED,1);, analogicznie przy odczycie. Zapis &1 co ma wg ciebie robic? Pobierać adres literału? Druga rzecz, zmienne w pamięci EEPROM powinny być globalne, nie ma sensu ich definiować lokalnie, co prawda w...
willem, tl866 i pewnie jeszcze kilkanaście innych programatorów od takich do samodzielnego montażu po profesjonalne za kilka tysięcy złotych.
Dzisiaj się jeszcze raz "ze świeżą głową" wziąłem za projekt i odkryłem swój błąd. Źródła nie działały, gdyż wszystkie waliły do I2C1, a ja układ mam podpięty pod... I2C2. Mogłem sobie przekopywać google do śmierci. Cóż zmęczenie/rozkojarzenie potrafią powodować nawet tak głupie błędy.
Pewnie dlatego, że po 16-bitowym adresie nie wysłałeś do pamięci ani jednego bajta danej do zapisu.
Raczej tak. [syntax=c]uint8_t eeSEast EEMEM = 00; uint8_t s; eeprom_write_byte(&eeSEast, s); // zapis do eepromu s = eeprom_read_byte(&eeSEast); // odczyt z eepromu [/syntax]
Tak kompilator nie wyrzucał zadnych błędów
Zbyt duzo razy widzialem zapewnienia, ze "wina w 100% nie lezy po mojej stronie", aby w nie uwierzyc :) Byc moze tak jest, pokazanie nam swojego kodu nie zaszkodzi, a moze ktos cos zauwazy niewlasciwego. No i nie napisales, czy inne funkcje (zapis/odczyt wewnetrznego EEPROM) dzialaja poprawnie.
Ustawiłem wielkość EEPROM na 512 i zwiększyłem wykorzystanie do 380. Pokaż, jak wygląda ta inicjalizacja emulowanego EEPROM w setup(), w szczególności to "zwiększenie".
odczyt i modyfikacje eepromu w autach grupy vag od 95 do 2010 r. ECU,immo box , licznik , air bag Np Carprog to ogarnie.
Zobacz to : [url=http://radzio.dxp.pl/eeprom/]EEPROM
warto tracic czas na próby Oj warto warto.jest to mozliwe jak najbardziej,robisz kolna 1:1 i muzyka gra hehe. Poufne info na PW
TL866 radzi sobie z 29F400. Koszt <40$ wiadomo gdzie.
Dim zmienna As long ,long1 as byte at long overlay, long2 As Byte At long + 1 Overlay, long3 as byte at address + 2 overlay, long4 as byte at address +3 long=1 do WRITEEEPROM long1 , 1 WRITEEEPROM long2 , 2 WRITEEEPROM long3 , 3 WRITEEEPROM long4 , 4 loop end
Napisałem tak: [syntax=c]//zapis do eeprom twistart(); twiwrite(0b10100000); twiwrite(0); // bardziej znaczący bajt adresu twiwrite(2); // mniej znaczący bajt adresu twiwrite(123); //wartosc twistop(); //odczyt z eeprom uprzednio zapisanej wartosci twistart(); twiwrite(0b10100000); twiwrite(0); // bardziej znaczący bajt adresu twiwrite(2); // mniej...
Witam! Odświeże temat. Też mam ten problem, że odczytuje mi z pamięci same wartości 255. Ma ktoś pomysł jaka jest tego przyczyna? Program: SDA EQU P2.4 SCL EQU P2.3 LED EQU P2.7 I2C_fault bit 40h I2C_busy bit 41h I2C_no_ack bit 42h I2C_ostatni_bajt bit 43h licznik_bitow_I2C equ R0 org 0H LJMP START org 100H START: LCALL delay LCALL delay LCALL delay...
Rozumiem a do odczytu wystarczy j=twiread(adres);? Też trzeba sprawdzić ACK, bo układu może nie być (np adres jest zły), kabelek się urwał, itp. Po warunku staru też należy sprawdzic status bo może byc problem z rezystorami podciągającymi. Jest tez inny powód. Np komunikujesz się po IIC i w czasie wysyłania np drugiego impulsu SCK następuje reset procesora....
BOD to tylko terapia doraźna. Popraw przede wszystkim zasilanie, musisz mieć nieźle pokaszanione, skoro napięcie tak pływa, że miałeś 25% błędów. Popraw też program. Dobrą praktyką jest ustawienie EADR pomiędzy zapisami/odczytami na nieużywaną komórkę pamięci EEPROM. Dzięki temu przypadkowy zapis zostanie wykonany w nieużywanym obszarze.
Prawie na pewno używałem PonyProga juz dwadzieścia lat temu :D Mój komp pisze, że ostatni raz ściągałem to oprogramowanie dziesięc lat temu. Kiedy zaczynałem z układami programowanymi używałem do wszystkiego czyli radii, liczników, kart seca itd :D Coś tam o nim wiem i nawet dalej działający leży w szufladzie. W komputerze stacjonarnym na porcie COM...
Czy masz dostęp do programatora lub interfejsu, który pozwala na odczyt/zapis pamięci EEPROM w tym radiu? tak Rozumiem, że masz czym odczytać wsad pamięci 24c64. Wstaw odczytany plik ''.bin'' jako załącznik, to podamy oryginalny kod.
A jak jest zadeklarowana zmienna? Jako uint16_t?
Odczyt nie ma wpływu na żywotność EEPROM, zaś zapis - wg datasheet Write/Erase Cycles: 10,000 Flash/100,000 EEPROM
EEPROM ma ograniczoną jedynie liczbę zapisów.
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.
ESP32 jest 32bit i tu int ma 32 bity.
Wykorzystać wbudowaną pamięć EEPROM. Zapis po zmianie, odczyt przed pętlą główną programu.
Naprawdę nie prościej zmienić zapis w eeprom licznika?
Nie wiem jak z tuszem nieoryginalnym ale problem był jeśli chciałeś używać tuszów zakupionych w innych regionach świata niż miejsce zakupu drukarki.
Mogę się zapytać w jakim celu potrzebujesz podłączyć osobną pamięć 4kb? Jedna pamięć w ESP8266 12F już jest i ma 4Mb, a jak tego Ci mało to ESP8266 13 ma jej 16Mb. W Lua wystarczy utworzyć plik, np z rozszerzeniem txt, lub każdym innym, zapisać go do pamięci i pobierać dane czy zapisywać, dopisywać, jednym poleceniem. http://nodemcu.readthedocs.io/en/master/...
Tu masz program do zapisu i odczytu eeprom w procesorze program do wyświetlania na wyświetlacz napisz sam poszukaj w google te linki powinny ci pomoc http://www.fizyka.umk.pl/~ptarg/labview/... http://www.elportal.pl/pdf/k09/25_10.pdf http://www.elportal.pl/pdf/k09/27_01.pdf void EEPROM_write(unsigned int uiAddress, unsigned char ucData)...
Pomóżcie proszę zamienić 2 fragmenty programu w Bascom'ie na wersję w Ascii. Ten program w Bascom jest na pewno w ASCII. Jeśli ktoś wie jak to zrobić, to uprzejmie proszę o informację na pocztę: tadeko(_at_)poczta.onet.pl To jest publiczne forum i jeżeli ktoś będzie chciał odpowiedzieć (co prawda nie wiadomo o co pytasz) to zrobi to tu aby inni w przyszłości...
Zapis i odczyt wartości do pamięci EEprom
Odczyt eeprom i unregistered. Zapis, do auta i zalogowanie swoim pinem.
tak, stosuj tablice. Ulatwi ci to robote.... ALE pamietaj zeby NIE ZAPISYWAC DANYCH W KOMORCE EEPROMA O ADRESIE 0. Jesli zaczniesz deklarowac zmienne w bascomie to : ...jakies zmienne... .... .... .... 'EEPROM dim foo as eram byte 'to ci zalatwia komorke 0, bo tu bascom umiesci tą zmienną, i z niej niekorzystasz dim tablica1(3) as eram byte dim tablica2(3)...
Funkcja odczytuje bajt z EEPROM, porównuje z bajtem do zapisania i jeśli są różne to zapisuje, jeśli takie same, to przechodzi dalej nie robiąc nic. Ponieważ w XMEGA dostęp do EEPROM jest znacznie bardziej zaawansowany (m.in. możliwość jednoczesnego zapisu całej strony EEPROM i odczytu EEPROM przez region zmapowany w przestrzeń adresową MCU, warto się...
Opcja Preserve EEPROM nie działa jeżeli ustawione jest zabezpieczenie Flasha przed odczytem, gdyż działa na zasadzie najpierw odczytu EEPROM skasowania uP i ponownego zapisu EEPROM. Nie miałem czasu aby przetestować na fizycznym układzie. 1. Czy procesor jest zabezpieczony przed odczytem? 2. Jaka jest przyczyna że chcesz w ten sposób programować uP?...
Chyba AVR BURN-O-MAT tego nie ma. Ja używam avrdude-gui. [url=http://sourceforge.net/projects/avr... Pozdrawiam
Zapis: zmienna1 = 1244 Odczyt: zmienna_RAM = zmienna1
Mam pytanie: Jakie rozkazy sluza do zapisu a jakie do odczytu danych z pamieci Eeprom karty GOLDWAFER(Pic1). Do procesora tej karty laduje plik loader.hex dostępny na: http://epsilon.com.pl/support/1pic_jdmph... za pomoca programu Icprog przez programator JDMISO, a nastepnie chcialbym wyslac jakies dane do EEPROMU tej karty ( programator Phoenix/Funprog)....
Niestety datasheet Attiny13 i Attiny13A mówią tylko o możliwości zablokowania zapisu, zapisu i odczytu obu pamięci (Flash i EEPROM) na raz tymi samymi fusebitami, co oznacza, że nie będziesz w stanie zablokować Flasha i mieć możliwość zapisu EEPROMU. Jedyna opcja to programowy zapis odpowiednich wartości, choć może to być problematyczne przy ograniczeniu...
Brak schematu nieco przeszkadza. Program wygląda na poprawny. Może to wina sprzętu. Sprawdź połączenia, oraz działanie klawiatury, wykonaj test zwierając drutem wyprowadzenia które zwarłaby klawiatura przy naciśnięciu klawisza. Np zwarcie P3.3 z P3.7 powinno włączyć alarm przy początkowym wyborze. Czy zapis odczyt do pamięci EEPROM działa poprawnie...
Tak wysyłam, zgadza się.
Ten eeprom programuje się tak jak 24c046. Noga 7 to zabezpieczenie przed zapisem - ja łączę ją do masy, wtedy jest odblokowana.
Witam. Od pewnego czasu zacząłem się bawić w programowanie eepromu w atmedze i już napotkałem kilka nieprzyjemnych doświadczeń. Zacznę może od zapisywania pamięci eeprom. Mam kilka pytań z tym związanych, więc je ponumeruje :). 1. Jak to jest zapisałem do eepromu jakiś znak, potem go odczytałem. Żeby sprawdzić, czy wszystko gra wyświetliłem go na LCD....
Będe mógł zapisać stronę danych np 32B na raz, ale to i tak odbije się na wydajności tego zapisu (a przynajmniej tak zrozumiałem z opisu). Nie bardzo rozumiem, dlaczego uparłeś się na zapis/odczyt EEPROM bajt po bajcie. To na pewno nie jest wydajne rozwiązanie.
Dzięki - może się przydać!
zastanów się przez chwilę nad nazwą tej funkcji: eeprom_write_ BYTE . Czy nie sądzisz, że float raczej zajmuje trochę więcej mniejsca niż "byte"? 4\/3!!
a już żeby zamknąć temat to kod który działa wygląda tak: Ten kod jest błędny i działa tylko przypadkowo. uiAddress używasz niezainicjowany - nie masz żadnych ostrzeżeń kompilatora? Wywal go. Powinno być: [syntax=c] //Deklaracja zmiennych //EEPROM uint16_t kWh_stan EEMEM; uint16_t kWh; ... //Odczyt z EEPROMa i przypisanie do zmiennej kWh = eeprom_read_byte...
Witam. Jak z poziomu BascomAVR oczekuje się na gotowość EEPROM wewnętrznego na zapis i odczyt? Pozdrawiam.
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 Przeglądałem forum, jednak zastosowane propozycje nie dały rezultatów.. ;/ mam problem z zapisem i odczytem z pamięci eeprom. Jak mają wyglądać te instrukcje poprawnie?? Robię tak(fragment kodu dot eeprom): int i=1; static EEMEM int i_ee; eeprom_write_block(&i, &i_ee, sizeof(i)); eeprom_read_block(&i, &i_ee,sizeof(i));...
char jeden EEMEM; char numer=0; char wybrany[6]; int main(void) { LCD_Initalize(); //poczatek losowania numer, odczyt, zapis numer=eeprom_read_byte(&jeden); LCD_GoTo(5,0); itoa(numer,wybrany,10); LCD_WriteText(wybrany); if (numer>41) {numer=1;} else {numer++;}...
Witam, dzisiaj zabrałem się za zabawę z pamięcią EEPROM. Pierwszy z problemów jaki napotkałem to adresowanie pamięci EEPROM. Znalazłem w internecie 2 polecenia które mnie interesują: eeprom_write_byte (adres, zmienna); x = eeprom_read_byte (adres); Problem w tym, że jak zrobię tak jak podano w tym wątku: http://www.elektroda.pl/rtvforum/topic18...
http://www.elektroda.pl/rtvforum/viewtop... Licznik do 2006r ogarniesz kabelkiem z alledrogo. (odczyt modyfikacja i zapis eeprom) Pasuje każdy. W poniedziałek montowałem fis i tempomat w 3 godzinkach się uwinąłem ;)
Trochę konfudująca wiadomość, zwłaszcza, że w datasheecie nie ma wzmianki o komórkach. Na wikipedii opisano pamięć EEPROM jako pamięć, gdzie dane są zapisywane w komórkach, które są grupowane w strukturę wielokrotności 8 bitów. Zatem mam tutaj dostęp do 32768 komórek, każda 8-bitowa? Wówczas zapisanie jednej wartości float wymagałaby rozdzielania na...
Witam serdecznie. Mam mały problem z zapisem/odczytem eepromu. Przykładowy kod: temp_dol_k1 = eeprom_read_byte(1); ............. ............. ............. eeprom_write_byte(1,temp_dol_k1)... Niby wszystko ok ale kompilator mowie że: ../cos.c:2054: warning: passing argument 1 of '__eerd_byte_m32' makes pointer from integer...
Hej! Potrzebuje procedury na zapis, odczyt i kasowanie pamieci EEPROM PCF 8582, mecze sie i mecze i nie moge nic sensownego wymyslic, czy ktos moze mi pomoc?? Proszeeeee
Witam. Po wielu próbach udało się zrobić zapis i odczyt z EEPROMU na PCB EVALA.
Jakoś dotąd nie miałem problemu z HC11 , a tu nagle ... Odczytuje tylko część eeproma i zawiesza się (oczywiście po pierwszej próbie odczytu eeprom skasowany :sm1: ). Przy zapisie podobnie, ale nic nie zapisuje. Próbowałem kwarca zmienic na 8MHz i próbować czytać jako inne HC11 ale też qpa. Podobno to taki dziwny HC z 256 eepromem i standartowe softy...
Poniżej filmik z działania Arduino. Radzi już sobie z odczytem i zapisem EEprom na BSI VALEO. https://filmy.elektroda.pl/85_1635110271...
Witam. ATTiny programuje w Arduino Ide za pomocą Arduino Nano. Z braku miejsca w pamięci ram, wrzuciłem treść powiadomienia sms do pamięci eeprom: za pomocą #include <avr/eeprom.h> eeprom_write_block Kod programu do zapisania treści powiadomienia w pamięci eeprom ATTiny85: #include <avr/eeprom.h> char powiadomienie[60]; char test[60];...
Witam ! Arduino IDE, zapis /odczyt do wewnętrznego EEPROMU. Jak spowodować aby PIERWSZY odczyt np. komórki "0" nie wyświetlał 255 ? Nie jestem pewny czy zrozumiałem twoje pytanie. Widocznie, czytana komórka jest 'pusta' (nic nie zostało do niej wpisane) ..... Zauważ że zawartość pustej komórki EEPROM jest czytana "0xFF" (hex), czyli 255 (dec) a nie...
proponuję zastosować zarówno przed każdym zapisem i odczytem jak i po zapisie/odczycie eepromu makro eeprom_busy_wait() które jest tym samym co while(eeprom_is_ready()==0)
Witam. Przecież w wylistowanym programie masz zapis i odczyt pamięci EEprom. teedd
A czy mogę wgrać Bin.który jest do 24c04 i znam kod,czy jest taka możliwość? Oczywiście że tak, ale najpierw uporaj się z prawidłowym odczytem pamięci bo z jej zapisem będziesz bez tego miał jeszcze większe problemy.
Może zbyt szybko chcesz odczytać liczbe z eeprom. Wydłuż czas od zapisu do odczytu. Zapisanie w eeprom najlepiej to 10mS.
Witam, proszę o informacje jak obsługiwac I2C w PIC-ach. Chodzi o realizację odczytu i zapisu pamięci EEPROM np. 24LC256 przez układ PIC16F887. Programuje w Hi-Tech (C). Pozdrawiam
Zapis i odczyt z eepromu jest opisany w dokumentacji gcc Nie GCC tylko AVR-libc ;) [url=http://www.nongnu.org/avr-libc/user...
Udostepniam wypociny moje i mojego kolegi na www.kubagert.prv.pl jest krotki opis tego, co trzeba zrobic aby to dzialalo. W archiwum jest tez spakowana ta strona wiec wystarczy sciagnac to archiwum. sICD umozliwia: -odczyt/zapis FLASH -odczyt/zapis RAM -odczyt/zapis EEPROM (cala pamiec (eeprom i flash) programuje sie w czasie ok 56 sekund) wszystko...
Czy przypadkiem między zapisem a odczytem nie powinieneś sprawdzić czy eeprom nie jest zajęty? Zapis jakby nie było trwa kilka milisekund. Konkretnie eeprom_busy_wait(); .
A może skorzystasz z biblioteki eeprom.h? Jest tam procedura eeprom_write_byte (uint8_t *addr, uint8_t val); - do zapisu [nie rozumiem tylko dlaczego adres jest 8-bitowy - przecież np. ATmega8 ma 512 bajtów EEPROMU...] oraz uint8_t eeprom_read_byte (const uint8_t *addr); - do odczytu bajtu. (Jest też fajna procedurka eeprom_read_word(..) / eeprom_write_word(..)...
Dziś pogrzebałem troche w bibliotece eeprom.h WinAVRa i zadam jeszcze parę pytań ;): Co przy pomocy tych funkcji można oddczytać / zapisać z/do EEPROM: uint16_t eeprom_read_word (const uint16_t *addr) void eeprom_write_word (uint16_t *addr,uint16_t value) Domyślam się że poniższa funkcja zablokowuje możliwość odczytu z EEPROM: ?? eeprom_read_block...
dzieki miras masz gdzies schemacik do pony? albo link gdzie jest dzieki pozdrawiam
Bynajmniej nie chciałem urazić w poprzednich postach, jednak, moim zdaniem, dopiero przedostatni post autora tematu konkretnie wskazał problem. Nie znam za bardzo arduino, ale bazując na [url=http://codebender.cc/]kompilatorze online, obsługa eeprom w arduino jest identyczna jak w c. Przykład: [syntax=c]#include <avr/eeprom.h> typedef struct {...
Super świetnie ale czy dla linii SDA i SCL dałeś rezystory podciągające do 3V3? Przydałby się też kondensator przy nodze VCC pamięci. Czy pin WP jest poprawnie spolaryzowany aby umożliwiał zapis danych do eeprom?
Odczyt EEPROM trwa tyle co odczyt IO. Nie wnosi żadnych opóźnień. Zapis - jest zależny od MCU, dokłądne czasy znajdziesz w jego nocie - zwykle to 2-5 ms. Podczas zapisu procesor może wykonywać inne instrukcje, a nawet je wykonuje. Tylko, żeby z tego skorzystać należy dokonać zapisu z wykorzystaniem przerwań - po zaposaniu komórki wywoływane jest przerwanie...
Też posiadam CA80 i programy zapisuję na popularnych /i tanich/ pamięciach EEPROM typu 24Cxxx. Mam program na starszą wersję CA80 dla 24C16 /2kB/ i 24C512 /64kB/, podczepianą pod złacze użytkownika, zapis i odczyt dowolnego obszaru EEPROM. Tam też mam podłaczony wyświetlacz LCD 24x2. Jeśli kogos interesuje ten temat, odpowiem na PW.
Używam AtmelStudio. Tak te błędy są związane z brakiem ; na końcach poszczególnych linijek kodu, zmianą #define PRZYCISK_DOWN (PINC & PRZYCISK_CZAS) na #define PRZYCISK_DOWN (PINC & PRZYCISK) oraz z brakiem biblioteki #include <util/delay.h> Ok. Natomiast pozostaje problem z zapisem i odczytem pamięci. Z tego co rozumiem, a okazuje się,...
[syntax=c] (...) static EEMEM uint8_t histereza = 3; //zmienna do pamieci EEPROM int main(void) { (...) uint8_t histereza = eeprom_read_byte(&histereza); (...) [/syntax] Zgadnij dlaczego nie działa ? Podpowiedź - nazwy.
Odczyt eepromu może się nie powieść tylko w przypadku, gdy nie zakończyła się poprzednia operacja zapisu. Wtedy wystarczyłoby Ci odblokować warunek, który masz skomentowany. Jeśli jesteś pewny, że nic nie zapisujesz do eepromu, to cudów nie ma - gdzieś indziej tkwi błąd. Może coś innego modyfikuje Ci zmienną k, może pętla czasowa jest źle policzona...
Witam. Takie pytanie czy jest inny zapis odczytu i zapisu do pamięci eeprom robię tak i MplabX podkreśla mi te wyrażenie i z lewej strony daje wykrzyknik ale kompiluję i instrukcja działa w procesorze. EEPROM_READ(0); __EEPROM_DATA (255,255,255,255,255,255,255,255); http://obrazki.elektroda.pl/5139505100_1...
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...
Możesz: -odczytać osobno programatorem eeprom i sprawdzić czy program coś zapisuje, -wpisać ręcznie do pamięci eeprom i sprawdzić czy będzie reakcja, -podać adres do funkcji zapisu i odczytu na sztywno w ramach testu.
Mój sposób nr 1: -zakładasz w jednej lub dwóch komórkach wskaźnik do bieżącej struktury roboczej, składającej się z licznika zapisów (3 bajty) oraz rejestru przechowującego zmienną (o dowolnym rozmiarze), -następnie tworzysz funkcje do zapisu oraz odczytu zmiennej. Fun do odczytu ustala za pomoca wskaznika poczatek struktury w EEPROM, a nastepnie odczytuje...
ad 1. Zapewne żaden. ad 2. Dokładnie. Podczas odczytu zwracana jest zawartość EEPROM (skopiowana do bufora lub ostatnio zapisana), podczas zapisu, zapis odbywa się do bufora. Pomyśl o tym tak, że masz np. 32 bajtowy bufor, do którego możesz zapisywać. Po uzupełnieniu w nim danych, możesz je skopiować na raz do EEPROM, na dowolną stronę, której adres...
eeprom zapis odczyt bascom zapis odczyt eeprom zapis odczyt eeprom atmega
kluczowanie wtryskiem sterownik centralnego zamka corsa espace schemat elektryczny
pralka electrolux pralka electrolux
Kod 35 w agregacie Carrier 1950 - co oznacza? Daewoo Matiz 1999: Gaźnik czy wtryskiwacze?