WITAM Mama problem z zapisem i odczytem struktury danych do eeprom. [syntax=cpp] typedef struct sekcja { uint8_t onoff; uint8_t niski; char nazwa[21]; uint16_t rzrasz; uint8_t rgleby; uint8_t rroslinn; int8_t procent; uint8_t nachyl; uint16_t time; uint8_t przerwa; uint16_t dniakt; uint16_t dstart; } sekcja; unsigned char sek=0; sekcja sekcjabuf; sekcja...
Witam, nie wiem, dlaczego poniższy kod nie działa na procesorze attiny13. Kompiluje się bez błędów w AVR Studio. Jest to część większej aplikacji, która działa poprawnie (dla uproszczenia wyciąłem resztę kodu). Kiedy dodam obsługę EEPROM, aplikacja przestaje działać. Test przeprowadzam następująco: 1. Komentuję blok ODCZYT. 2. Kompilacja kodu (brak...
Witam, jestem początkujący w programowaniu AVR. Chce zapisać tablicę (przykładowy tekst) a potem odczytać z eeprom atmega88. void main( void ) { ... static EEMEM uint8_t eeprom_val[6]; uint8_t val1[6] = {"12345"}; print_string("\n\r. Zapis do pamięci EEPROM\n\ -> val1 "); if (eeprom_is_ready())...
Witam Chciałem poszerzyć pole swojego działania w ATMEGA8 o zapis i odczyt danych z pamięci wewnętrznej uC EEPROM. Otóż znalazłem na 20 i 21 str. manuala ATMEGA8 funkcje w C zapisu i odczytu danych z EEPROM uC. Oto one: Zapis do EEPROM: void EEPROM_write(unsigned int uiAddress, unsigned char ucData) { /* Wait for completion of previous...
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...
Pokażę tutaj moją prostą implementację tzw. "WiFiManger" na Arduino R4, czyli mechanizmu, który pozwala parować Arduino z naszą siecią WiFi w stylu parowania Tasmoty, czyli najpierw Arduino jest w trybie otwartego access pointa, do którego można się podłączyć i wpisać dane naszej sieci WiFi, a potem Arduino dołącza do naszej sieci, jednocześnie wciąż...
Temat do zamknięcia. Rozwiązałem problem z miejscem w ram przez wykorzystanie zmiennych wykorzystanych w programie. Przypisałem treść powiadomień do zmiennych char. Po starcie programu, zapisuje je do eeprom i mogę zmienne wykorzystać w programie. W odpowiedniej chwili odczytuje eeprom i mogę wysłać powiadomienia. [syntax=arduino][/syntax]...
Witam Mam pytanie odnośnie metody zapisu stringów(char) do pamięci eeprom. Najlepiej abym mógł zapisywać i odczytywać całe zestawy danych. Robię dość skomplikowany budzik i chciałbym zapisywać do eeprom ustawienia. Skleciłem po wielkich potach coś takiego: SETTINGS.h typedef struct { uint8_t GODZINA; uint8_t MINUTA; uint8_t POWTORKI; uint8_t GLOSNOSC;...
Witam może pytanie nie w temacie ale nie chcę zakładać nowego tematu bo mam pytanie tylko do jednej linii kodu zapisującego do EEPROM w przerwaniach [syntax=c] ISR(EE_READY_vect ) { eeprom_write_byte(EEPROMPtr, *SRAMPtr); EECR|=_BV(EERIE); //Włącz przerwania EEPROM EEPROMPtr++; SRAMPtr++; EEPROMWrBytes--; if(EEPROMWrBytes) EECR|=_BV(EERIE); //Włącz...
Witam. Powiem szczerze, że albo tylko ja jestem jakiś ciężko kapujący, albo te programowanie (zapisywanie/odczytywanie) EEPROM jest takie... trudne? ;) Oto moje zmienne w programie: zmienne b i c nie traciły swoich wartości po zaniku zasilania uC. Należę do osób, które za wszelką cenę starają się same pogłówkować i znaleźć rozwiązanie, ale w tym przypadku...
Witam, Wiem, że takie tematy były już na forum, ale porady, które były tam napisane nie pomogły. Chce zapisać co jakiś czas coś de EEPROMu, tak żebym po zaniku zasilania te dane odzyskał. Potrzebuję tylko czterech bitów, czyli niecały bajt. Problem w tym, że po odłączeniu zasilania na dłuższy czas(około 30s) dane się kasują albo zmieniają wartość. Doświadczalnie...
OK, oto kod: Plik EEP.h [syntax=c] /* * EEP.h * * Created on: 29 maj 2016 * Author: MaS */ #ifndef EEP_H_ #define EEP_H_ #define DEF_ADSR0 800 #define DEF_ADSR1 500 #define DEF_ADSR2 3000 #define DEF_ADSR3 48 #define DEF_ADSR4 300 #define DEF_ADSR5 500 #define DEF_ADSR6 2500 #define DEF_ADSR7 15 #define DEF_WZ1 200 #define DEF_WZ2 200 #define DEF_OFS1...
u mnie jest tak ze po prostu zawartosc pamieci ulega zmianom gdyz procek od wahan zasilania idzie w krzaki i chyba zapisuje bzdury do eeproma. czy zastosowanie DS1813 pomoze ??? lepsza filtracja zasilania nie wchodzi w gre gdyz nie ma miejsca na kondensatory :(
Waldi - zapisać. Kolega robi sobie bazę, a nie zapisuje zmiany w eepromie. Kopia zawsze może się przydać, przy podnoszeniu po "fachowacah". Popieram Krzysztof T. I kombinujesz dobrze :D (co do lokalizacji pamiątki też). Pozdrawiam Jaro
Witam, proszę o pomoc w rozwiązaniu problemu w tym programie, bo już nie wiem co jest nie tak. Program ma sprawdzać stan portu pind.2 do którego podłączony jest odbiornik podczerwieni w odstępach 444µs i zapisywać wyniki do eepromu w bajtach. Zrobiłem to tak: $regfile = "m8def.dat" $crystal = 16000000 Config Lcd = 16 * 1a ' lub Config...
Witam wszystkich. Koledzy mam pewien problem. Posiadam napisany kod w Bascom, wykorzystuje w nim funkcję zapisu do eepromu Avr. Urządzenia działa jak powinno, zmienne zapisują się w eeprom. Po każdej modyfikacji kodu i wgraniu do AVR, zmienne które są odczytywane z wewnętrznej pamięci, są wcześniej nadpisywane liczbą 255. Oczywiście jest to normalna...
Mam taki kod: Jest w nim sporo "NACK" domyślam się że chodzi tu o czas zapisywania i zastanawiam się skąd program z pierwszego sketcha wie że ma zapisywać po 32 bajty danych no i jak zrobić żeby zapisywał mi bajt który chcę.
Witam i dziękuję za odpowiedź. Co do ciągłego odczytu z pamięci eeprom, to oczywiście nie było to moim celem, jak równierz nie podobało mi się , że odbywa się to w pętli miliony razy na sekundę. Dlatego zadałem pytania w poprzednich postach. Na tą chwilę ładowałem dane z eepromu do lcd po pierwsze, a żeby sprawdzić, czy kopiowanie działa, po drugie,...
Witam Można prosić o zerknięcie w te funkcję, otóż pewnego dnia przestały zapisywać/odczytywać EEPROM :? [syntax=c]typedef struct { uint8_t numer; uint8_t okrazenia; } DANE_ZAWODNIKA; DANE_ZAWODNIKA numer_zawodnika_tab[sizeof(DANE_ZAWODNIK... DANE_ZAWODNIKA przejazdy_tab[sizeof(DANE_ZAWODNIKA)]; DANE_ZAWODNIKA zawodnik_update_temp; //zapis tymczasowy...
Dzięki koledzy. Wygląda na to że już będzie działało, ale jeszcze chciałbym uściślić parę wątpliwości To w końcu float, czy uint16_t? To są różne rzeczy. jest mi obojętne czy to będzie float czy integer byleby działało. Ogólnie będą liczby całkowite więc wystarczy uint16_t, ale próbowałem już różnych sposobów. Nie działała funkcja eeprom_write_byte...
(...) rony jak i dowolnej liczby bajtów mniejszej od rozmiaru strony. Czy jeżeli zrobię zapis 2 bajtów na środku 64-bajtowej strony, to czy pozostałe 62 bajty zostaną "przepisane", a więc ich żywotność obniży się o cykl zapisu? Czy może EEPROM faktycznie wewnętrznie dokona wymazania i zapisania tylko 2 bajtów. Algorytm bufora cyklicznego jest powszechnie...
Właśnie nie potrafi programować AVR'ów. A tym bardziej chodzi mi o schemat. Chciałbym sam sobie taki programator zrobić. Pozdrawiam. -------edit Powoli dochodzę do wniosku, że jednyne rozwiązanie to chyba zrobienie własnego układu na np. Atmedze, która poprzez komunikację z usb będzie zapisywać bezpośrednio pamięć eeprom, czy widzicie jakieś inne rozwiązanie?...
moduł RTC jest podłączony dobrze i funkcjonował dobrze zanim nie zacząłem bawić się eepromem. eeprom ma niepotrzebnie wyprowadzone końcówki do adresowania. Prawdopodobnie jak zapisywałem cała pamięć eeprom musiało coś się wpisać do RTC i pomieszało mu... może dlatego teraz to nie działa (to jest jedna z wersji)...
Z tego co się orientuję to EEprom używa się zazwyczaj do zapisywania takich danych jak ustawienia i opcje wczytywane przy starcie "systemu", jego szybkość zapisu/odczytu jest względnie mała, i zapisując coś do EEpromu podajesz konkretny adres, więc chyba trzeba samemu kontrolować ile się ma jeszcze miejsca (jakie adresy są wolne ) .
Spróbuj użyć tego sposobu obsługi parametrów zapisywanych w EEPROM (traktujesz je jak zwykłe zmienne): Dim Reserved As Eram String * 8 'Przyzwyczajenie ze starych AVRów - zapobiega(ło) utracie danych z początku obszaru EEPROM :) Dim Zmienna1 As Eram Byte Dim Zmienna2 As Eram String * 8 Dim Zmienna3 As Eram Long Dim Temp as Byte [...]...
Mam prośbę o pomoc w ukończeniu programu, otórz założeniem programu jest aby zaświecić dioda1 po określonej ilości mrugnięć dioda2 i w odpowiednim momencie wciśnięciu SW1. Program działa bezbłędnie jeśli ręcznie określę mu zmienne A i B, natomiast zaczynają się schody jeśli chcę dodać możliwość programowania zmiennych A i B, zapisując je w pamięci eeprom....
Witam wszystkich. Mam problem z zapisem zmiennej typu word do eepromu procesora. Otóż chcę zapisywać rok w eepromie, ponieważ po odłączeniu zasilania rok kasuje się do ustawienia początkowego. W moim przypadku jest to YEARBASE=2012. Kostka to PCF8583, która wg noty nie ma "swojego" zapisu roku. Do eepromu zapisuję inne dane które działają, natomiast...
Witam Z listingu wynika, że dane są zapisywane do wewnętrznego eepromu procesora. Jest taka możliwość, tylko trzeba przerobić program. Należy dodać obsługę I2C i przepisać podprogramy do zapisu, odczytu i kasowania pamięci. Pozdrawiam
Witam. Poszukuje informacji na temat zapisywania i odczytu eepromu wewnętrznego uC w języku C. Konkretnie chodzi mi o funkcje np void zapis_eeprom(int adres, int dana) int dana odczyt_eeprom(int adres) Mogą być też w innych językach, ale najbardziej zależy mi na C
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ę,...
ja mam pytanie takie -czy jak przegram zawartość pamięci z eproma ze starego cim do nowego to też go będzie trzeba ten nowy od początku konfigurować w aucie czy w tym epromie są wszystkie potrzebne dane ? Moim zdaniem wszystkie zmienne dane są zapisywane w eeprom więc przegranie wystarczy i wszystko powinno działać. Mówimy tutaj o sytuacji takich samych...
Nie musisz przecież odrazu zapisywać do eeprom'a przecież możesz zapisać w pamięci RAM a dopiero po zakonczeniu pomiaru zrobić zrzut pomiarów z pamięci RAM do eeprom.
Witam, Mój problem polega na tym, że używając bootloader ze strony atmela AVR2054 SerialBootloader występuje pewien błąd. Gdy programuję mikrokontroler przez GUI programu i zaznaczone jest pole Erase EEPROM zaprogramowana zostaje tylko pamięć flash, lecz nie EEPROM, gdy zmienię rozmiar pamięci wtedy upload w ogóle nie rusza i muszę zrestartować program....
ONLY WRITE THIS FILE TO 24C256 EEPROM OK, PROG OFF ..... 100% WORKING ...
Dzięki juntom ale, to nic nie dało zapisuje mi od adresu 200 kolejne komórki: |00|FF|00|FF|00|FF|00|FF|00|FF|00|FF|00|... a nie od 1 do 255. Czy ktoś oswajał EEprom w at89S8252. POMOCY! Czy pozostałe bity w WMCON oprócz EEMWE EEMEN mają wpływ na zapis do EEPROM?
Witam Jaki uklad zastosowac do kontroli napiecia zasilania???? Jesli spadnie ponizej okreslonej wartosci (np. przy awarii sieci) chce aby uC (AT89s8253) wrzucil 6 wartosci do wewnetrznego EEPROM-u. POmyslalem ze to zrobie na zewnetrznym przerwaniu. Musze miec sygnal z jakiegos zewnetrznego ukladu - i tu moja prosba, co zastasowac??? Dzieki i pozdrawiam.
Witam, można by było zrobić aby jakaś atmega (np. atmega8) odbierała dane (plik txt) po przez podczerwień i zapisywała zawartość pliku na zewnętrznym eepromie (24c)? Plik byłby wysyłany przez podczerwień w telefonie. W pliku znajdowałby się tekst.
Witam, Mam problem. Próbuję wysyłać pojedyncze bajty (konkretnie 32) z komputera do mikrokontrolera, zapisać je w pamięci EEPROM i wyświetlić na wyświetlaczu. Próbuję to zrealizować w ten sposób: (Wkleiłem najistotniejszą część programu.) Niestety coś jest nie tak. Po wysłaniu tablicy bajtów wyświetlacz jest pusty a po kilkunastokrotnym wysyłaniu pojawiają...
Mam zmienną int8_t która przyjmuje wartości -128 do 127 i zapisuje ją oraz odczytuje z eeprom bez problemu w jednej komrórce eeprom. Chciałbym teraz zapisać i odczytać większą liczbą załóżmy -256 ...+256 albo -512 ... +512. Pytanie jak to zrobić najprościej? Poprawiłem tytuł i umieściłem w odpowiednim podforum - z dalszej treści wynika, że pytanie dotyczy...
Wtam, poszukuję modułu interfejsu 1Wire na USB z wbudowanym konwerterem z RS232 na 1Wire. Posiadam moduł MeraProjekt MP00202, z tym że nie posiada on możliwości zapisu pamięci EEPROM, a taka mnie interesuje. Tak więc poszukuję modułu o parametrach i właściwościach przybliżonych do tych w MP00202, z tym że zapisującego pamięć EEPROM, prosiłbym o porady...
Witam. Mam mały problem posiadam programator ezp2010 i eeprom 93c86 do zapisania . Odczyt się udał ale zapisać po zmianie danych nie mogę . Dane się niby zapisują ale po odczycie i weryfikacji dane się nie zgadzają .
Opanowałem odbieranie danych z UART, ale pojawił sie nowy problem. Napisałem sobie własny terminal i przystosowałem go do przesyłania parametrów , które są zapisywane do EEPROM mikrokontrolera. Działa, ale problem jest z przesyłaniem bajtów większych niż 127. Problem jest raczej w programie w VisualBASIC a nie w AVR bo testowałem i AVR odbiera 8 bitów....
Ok . Sprawdzę. Ale jak dobrze pamiętam to czy miałem eesave 0/1 nie miało to wpływu. I tak EE zostawał. A wchodząc do niego innym programem ( realterm ) że spokojem zamienia wartość w EE. Ale tym programem mam dostęp tylko do wybranej części EEPROM. A potrzebuje zmienić cały. No wiec tak sprawdziłem i czy EESAVE 0/1 nie idzie wykasować Epromu. Załączam...
Witam, Mógłby ktoś sprawdzić, gdzie jest błąd? W pamięci EEPROM program zapisuje same zera. Czujnik podpięty do portu PD5. 5V - 5V, GND - GND, wyjście - PD5, między 5V a wyjściem sygnałowym rezystor 3,2kOhm. #include <avr/io.h> #include <avr/interrupt.h> #include <avr/eeprom.h> #include <string.h> #include <avr/signal.h>...
Witam, Mam problem z zapisem i odczytem do EEPROM łancucha zmiennych typu char Atmega162, avrgcc, program symuluje w winavr + hapsim + virtual port kit char ipaddress[16]; char ipaddress_odczytany[16]; char portnumber[6]; char portnumber_odczytany[6]; char phonenumber[11]; char phonenumber_odczytany[11];...
Kompilator to gcc, Eclipse to tylko edytor. sizeof() musi mieć dostępną pełną definicję typu, bez tego nie ma szans zadziałać. Innymi słowy definicja ta musi być w jakimś pliku nagłówkowym, który będzie dołączony zarówno tam gdzie ustawiasz wartość, jak i tam gdzie zapisujesz ją do EEPROMu. 4\/3!!
Witam Mam dziwny problem z pamięcią EEPROM, nie radzi sobie z zapisywaniem zmiennych. Dla prostego przykładu inkrementacji zmiennej: char jeden EEMEM; int numer=0; char wybrany; int main(void) { LCD_Initalize(); //poczatek losowania numer, odczyt, zapis eeprom_is_ready(); wybrany=EEPROM_read(&jeden); eeprom_busy_wait();...
Witajcie. Pozwolę sie dołaczyc pod wątek. Zalaczam moj plik eeprom z Canon Pixma MP220. Stan drukarki na moim tuszu to 'Malo kolorowego'. Po wgraniu eepromu we wczesniejszym wpisie pokazaly sie u mnie chinskie krzaczki i blad 6800. Mialem kopie 'mojego' eepromu wiec drukarka sie odratowala. Zamieszczam bo moze sie kiedys komus przydac. Dodatkowo prosba...
Witam wszystkich. Mam pewien problem, a mianowicie podczas próby odczytania zawartości EEPROM w ATmega64 do zmiennych wpisywane są jakieś dziwne śmieci. Potrzebuję odczytywać zmienne różnych typów w EEPROM i próbowałem zrobić to za pomocą read_eeprom_block jak i sekwencyjnie zczytywać po 1 bajcie, jednak za każdym razem się dziwne krzaki pojawiają....
Witam Mam problem z obsługą wewnętrznej pamięci eeprom w WinAVR. Mam wersję z 2004 r. i niestety umieszczona tam biblioteka eeprom.h nie obsługuje mojego procka. Po przegladnieciu dokumentacji znalazlem funkcje eeprom_wtite i eeprom_read. Potrzebuje również funkcji zapisywania i odczytywania bloków eeprom_write_block i eeprom_read_block działających...
Witam, w moim programie chciałbym zapisywać pewien kod do pamięci EEPROM, tak żeby po resecie układ nadal go pamiętał. Wydaje mi się, że zapis i odczyt oprogramowałem dobrze, a mimo tego co któryś raz tracę mój kod i całość trzeba programować od nowa bo uC wrzuca tam jakieś losowe liczby i po prostu nie jestem w stanie uruchomić mojego urządzenia bo...
W zasadzie skopiowałem przykładowy kod z noty, nie działa mi zapis do wewnętrznego EEPROM'a, odczytuje ciągle 0xFF. Piszę w C, AVRStudio4, procek kręci się na 12MHz, nie mam włączonej żadnej optymalizacji (-00), nie wykorzystuje bibliotek, programuje mkAVRcalculator. Fuse bit's: LOW = 0xFF, HIGH = 0xD9, Extended = 0xFF, lock byte = 0x3F. [syntax=c]...
eesave służy do tego żeby podczas kasowania mikrokontrolera pozostawić zawartość eeproma i ma się to do obecnej sytuacji jakoś nijak . Kolega zapisuje eeprom nastawami i chce wprowadzić do eeproma nastawy początkowe ,które by czytał podczas pierwszego uruchomienia mikrokontrolera po zaprogramowaniu . zapisanie eesave da jedynie tyle że przy zmianie...
Mam problem z poniższym kodem na Arduino UNO. Napisałem go w oparciu o ten Pierwsze uruchomienie kodu na Arduino powinno wywołać funkcję selectAll() tu następuje sprawdzenie czy istnieje już jakaś baza w pamięci EEPROM. W tym przebiegu programu baza jest pusta poniżeważ nigdy wcześniej nie były zapisane do pamięci EEPROM - zatem warunek if będzie niepoprawny...
Witam Mam takie pytanie: czy kompilator może przydzielić bloki w pamięci EEPROM w kolejności innej niż zadeklarowano je w programie? Jeżeli tak, to wpłynie to na adres bloku pamięci,prawda? Mam taki problem: W programie mam zadeklarowane 2 bloki pamięci EEPROM w kolejności jak poniżej: znaki. Tak jakby ponowne wgranie tego samego kodu, spowodowało że...
Witam, chcę zapisywać i odczytywać do EEPROMu dane konfiguracji. Mam taki kod: section attribute not allowed for 'cfg_touch_eeprom' Gdy dodam static przed definicję cfg_touch_eeprom: ld returned 1 exit status undefined reference to `A::cfg_touch_eeprom' Co robię źle i jak to naprawić żeby działało? Pozdrawiam
Szanowni Forumowicze, Chciałbym zrobić układ, który będzie zapisywał dane czasu do pamięci eeprom po wyłączeniu zasilania. W tym celu na wyjściu stabilizatora liniowego LM7805 umieściłem diodę schotky, za nią kondensator podtrzymujący zasilanie, zasila on sam procesor i reset procka. Przed diodą jest zasilanie reszty układów. Układ wykrywania awarii...
ESP32, emulowany eeprom. Mam taki o to kod do zapisu zmiennej int i zmiennej float, gdzie int to godzina przeliczona na minuty, a float temperatura. Zmienną float zapisuje co czwarty adres, począwszy od 400, a int co drugi adres, począwszy od 300. 3:47:08.954 -> temp[0]: 23.30 23:47:08.954 -> temp[1]: 23.30...
SIGNAL ( SIG_OVERFLOW0 ) { TCNT0 = T0_INIT; counter++; if ( overflow > 0 ) overflow--; } Jeżeli zapisujesz cos do EEPROMu to napewno nie rob tego w przerwaniu wywolywanym tak czesto (0,125us), ani w petli glownej programu. Pamiec EEPROM ma okresloną maksymalną ilość cykli zapisu i wymazywania. W ATmega 8 wynosi ona 100...
Witam Was! Programuję sobie właśnie mój sterownik do terrarium i napotkałem wczoraj na problem którego nie mogę za Chiny przeskoczyć... otóż wczoraj przed nabrojeniem miałem sobie kod: #include <avr/io.h> #include <util/delay.h> #define F_CPU 1000000UL #include "HD44780.c" #include "config.h" #include "i2c.h"...
D1 mini PRO. Skorzystałem z przykładu. Trochę poczytałem jak to działa i zapisałem w EEPROM kilkanaście zmiennych boolean i byte. Zapis i odczyt był poprawny. Testowałem przez 2 dni. Uznałem, że wszystko działa poprawnie. Zapisywałem głównie zmienne byte wartością 100. Ustawiłem wielkość EEPROM na 512 i zwiększyłem wykorzystanie do 380. To zrobiłem...
Czyli chodzi Ci o zapisywanie konkretengo bajtu pod konkretny adres w EEPROM? Ja bym to zrobił tak: zczytałbym całą pamięć EEPROM do bufora, zapisał w odpowiednim miejscu w buforze określony bajt a następnie z powrotem wczytałbym to do EEPROMa.
Witam serdecznie! Chciałbym się dowiedzieć czy istnieje jakaś możliwość odgórnego zdefiniowania zmiennej typu float/double w pamięci EEPROM przy jednoczesnym nadaniu jej wartości. Do tej pory robiłem to w ten sposób, ze tworzyłem zmienną w eepromie i za pomocą te funkcji: void eeprom_write_block(const void *src, void*dst, size_t n) zapisywałem...
Witam, złożyłem sterownik oparty o Atmege32 oraz ds1307, program został napisany, całość złożona na płytce testowej i działało. Zaprojektowałem płytkę i ją złożyłem, po czym pojawił się problem. DS1307 nie odlicza czasu, zawsze na wyświetlaczu mam godzinę 0:0:0, lecz dziwne jest to że mam dostęp do pamięci EEPROM, tj mogę ją odczytywać i zapisywać....
Przecież w kodzie powyżej nie ma żadnego zapisu do Flash... Jest w EE_Init(). Może źle się wypowiedziałem. EE_Init sprawdza czy wymagany na EEPROM obszar pamięci jest "sformatowany" jak nie to go "formatuje", czyli zapisuje na początku dwóch bloków ich jakby identyfikatory. I właśnie ich nie można zapisać. Wygląda to tak: pokaż, w jaki sposób wywołujesz...
Witam, po raz pierwszy w życiu mam potrzebę użycia zewnętrznej pamięci eeprom (szeregowej) np. typu 24c02. Zakładając sytuację, że mam do 90s2313 podłączony układ pcf8583 i na wyświetlaczu lcd wyświetlam aktualną godzinę i do portu d.6 mam podłączony przycisk zwierający do masy, to w sytuacji gdy zewrę ten przycisk o godzinie 12:30 a nazwałem ten przycisk...
Witam Pytanie mam troche dziwne (a nawet co dla niektorych moze i smieszne) ale odwaze sie spytac: problemem jest pamiec ST93c66 odczytalem go willemem jako 16bitowy - otrzymalem zawartosc pliku bsi_16bit.bin pozniej niestety okazalo sie ze odczyt byl troche nieprawidlowy. co dalej ..: willem nie chce zaprogramowac tego eepromu jako 16-bitowego, dowiedzialem...
Witam! Od wczoraj walczę z wewnętrznym EEPROMem w atmedze128L. Ogólnie problematyczna część programu działa następująco: na żadanie użytkownika dokonywana jest zmiana parametrów w pamięci (adres: IP, maska, brama sieciowa). Plik definiujący zmienne w pamięci: static uint8_t EEMEMconfigmem_static_ipaddr_msb; static uint8_t EEMEM configmem_static_ipaddr_hi;...
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....
Spróbuj na piechotę zapisywać. Przetestuj: [syntax=cpp]//---------------- PROCEDURY ZAPISU DO EEPROMU -------------------- void eeprom_write(unsigned int uiAddress, uint8_t ucData) { while(EECR & (1<<EEWE)); EEAR = uiAddress; EEDR = ucData; EECR |= (1<<EEMWE); EECR |= (1<<EEWE);...
Ten program z #5 działa przez swoją głupotę tylko. Na tej samej zasadzie, jeśli Ty zdradzisz mi swój wiek, ja powiem Ci ile masz lat. Magia. Program z #1 w ogóle nie ma sensu. Nie wiem co to jest: eeprom_busy_wait(); i strlen w eeprom_read_block(R_array,0,strlen(W_arr... To akurat jest proste. Dzięki "strlen" odczytujesz z eeprom dane o losowej długości...
Jeśli już wgrasz firmware, a dokładnie OF (Open Firmware dla 1430) to nie ma potrzeby zajmować się EEpromem. W tunerze kolejno wciśnij Menu>9>3 Wczytaj dowolną listę (np. Szpana lub KSW) do programu MES. Do wysłania listy do tunera służy zakładka Narzędzia>Komunikacja RS. Zaptaszkuj wszystkie Sekcje do zapisu. I wszystko masz w tunerze, bez potrzeby...
Witam Można to zrobić na dwa sposoby: Pierwszy: Robisz obsługę przerwania od sprzętowego RS-a na kontrolerze. W tej procedurze wykonujesz odczyt znaków wysyłanych z terminala i od razu znak po znaku zapisujesz do eeproma. Drugi sposób. Odbierasz tekst i zapisujesz go do bufora, następnie gdy kontroler odbierze bit, bajt kończący transmisję wykonujesz...
Dzięki, testy na Arduino potwierdzają, że funkcja EEPROM.put() faktycznie czeka aż zapis się zakończy i trwa to ~3,35ms na bajt. Pozostając jeszcze w temacie EEPROM-u, jak to jest z tą ilością cykli zapisu do pamięci? Zauważyłem, że większość uC ma tą wytrzymałość deklarowaną na 100k zapisów, niektóre (np. Atmega88) tylko 50k, ale czy ktoś to w ogóle...
Witam Mam taki kawałek kodu. Chcę zapisać osobno dwa bajty (po bajcie) do eeproma. Proszę pouczyć ślepego czemu zapisuje się tylko pierwszy bajt? Przed zapisaniem bajtu do EEPROM-u , wypadało by sprawdzić czy można to zrobić , tzn sprawdzić czy bit RDY/BSY w rejestrze WMCON jest ustawiony na "1". Piotrek
Witam. Atmega to dla mnie nowość. A jak to bywa z nowinkami są problemy. Problem polega na tym, że nie potrafię zapisać nic do EEPROM. Napisałem program w BASCOM, który ma ustawioną zmienną na 125 i za pomocą przycisków S1 oraz S2 można ją zmienić a przycisk S3 ma zapisać do EEPROM, a tego nie robi. Proszę o pomoc w rozwiązaniu tego problemu i nie wylewania...
Cześć Temat wraca jak bumerang, chociaż mój problem polega raczej na brakach w C. Ale do rzeczy. Zapisuję i odczytuje dane z pamięci EEPROM. Wszystko działa. Ale ponieważ nie lubię warning-ów, to próbuję je wyczyścić. Są takie linijki w programie do odczytu kolejnych komórek z pamięci EEPROM i wrzucanie ich do odpowiednich zmiennych: [syntax=c] volatile...
Witam, Mam problem z modułem bazującym na ATxmega32E5 (AVT1807, > atprogram -t avrispmk2 -i pdi -d atxmega32e5 info Tool avrispmk2 has firmware version: 1.17 Target voltage: 3.30 V Device information: Name: atxmega32e5 JtagId: N/A CPU arch.: AVR8_XMEGA Signature: 0x1e954c Lockbits: 0xff Fuses: 0xffffffffffffff...
Przepraszam, że to nie jest odpowiedź, ale po prostu analiza nie ma sensu, bo wykorzystany sposób zapisu do EEPROM też. Może z grubsza: "Adresy są obok siebie". Nie pokazujesz programu, to należy zgadywać, że podajesz adresy np. 11,12,13, zapisujesz po 2 bajty i je sobie nadpisujesz. Poza tym nie wiem jakie prądy i napięcia zamierzasz mierzyć, ale temperatury...
Możesz sobie zrobić zapis do EEPROM z wykorzystaniem przerwania, te z bibliotek nie korzystaja z tego mechaniczmu - po prostu wprowadzają "chamskie" zwłoki i już. Przerwań od tajmera nie musisz wyłączać, chyba że chcesz w kazdym przerwaniu zapisywać do EEPROM. To będzie problem, po pierwsze nie da rady tak szybko, po drugie EEPROM też ma skończoną liczbę...
w zasadzie to przerwanie nie jest mi potrzebne. Ale uzylem go tylko po to zeby zapisac jakas wartosc do epromu i odczytac ja po ponownym wlaczeniu zasilania. Teraz zmienilem Avr studio na nowsza wersje i wychodzi na to ze przy starcie wywoluje mi sie przerwanie. Skrocilem do min program do testow i wyglada to nastepujaco: #include <avr/io.h> #include...
Witam wszystkich. W pewnym urządzeniu przemysłowym potrzebne było wykonanie "klona" pamięci 93C66. Wylutowałem pamięć z PCB i sczytałem jej zawartość przy pomocy Willem'a. Wielokrotnie wykonany odczyt zawartości i weryfikacja z odczytanymi już danymi przebiegła jak najbardziej poprawnie. Jakież było moje zdziwienie, kiedy wlutowałem pamięć spowrotem...
Witam! Programuje se w Bascomie i mam taki problem: podczas działania programu do wewnetrznego EEPROM-a Atmegi32 sa zapisywane dane i jak resetne uP to jes ok dane zostają a jak odłącze zasilanie to dane w EEPROM-e znikają (a dokladnie czesc znika a czesc zostaje). EEPROM nie jest zajechany bo uP jest nowy i dane nie są czesto zapisywane! czyzby uszkodzony?
Witam Sporo jest pytań na temat EEPROMU, ale nie udało mi się znaleźć odpowiedzi, więc przedstawię swój problem. Wykonałem zegar szachowy na ukł. ATmega 8. Wszystko działa poprawnie oprócz zapisu i odczytu pamięci EEPROM. Procedura zapisu nie modyfikuje pamięci, procedura odczytu daje zawsze "0", bez względu na rzeczywistą zawartość. Zapis i odczyt...
Witam Uzywam funkcji jak ponizej do zapisu w eepromie, zapisuje 20 kolejnych bajtów i po 9 bajcie procek sie zawiesza (nie wiem gdzie laduje bo nie ma jak sprawdzić,ale program dalej nie idzie), jak mam go odpalonego z debuggera to działa ok,problem pojawia się jak odepne zasilanie i podlacze ponownie to zatrzymuje sie po zapisie 9 bajtu, o co mu chodzi...
Przepraszam że truję ale potrzebuję jeszcze pomocy... o ile mam ogarnięte zapisywania do eepromu w kontrolerze, to jeśli chodzi o zapisywanie do zewnętrznej pamięci jest słabo... mam coś takiego struktura... i zmienne [syntax=cpp]typedef struct{ char tag_rfid[11]; uint32_t datetime_rtc; } ST; ST Zmienna; ST ZmiennaEE[32] EEMEM;[/syntax] (notabene nie...
Więt tak: deklaracja zmiennej : [syntax=c] volatile uint16_t zmienna = 0; // - zmieniam tą wartość później na 300 [/syntax] włączam przerwania według konfiguracji zegara (8MHz - wewnętrzny) [syntax=c] //- uruchomienie eepromu extern EEMEM uint16_t eeprom_values[200]; EEMEM uint16_t eeprom_values[200] = {0,0}; //- konfiguracja zegara void Init_Timer0_OVF(){...
Zapisując cokolwiek do eepromu nie zastanawiaj się czy jest to liczba czy co innego. Po prostu bierz bajt gdzie jest początek twojej danej i zapisuj pod dany adres w eepromie, następnie bierz następny bajt z Twoimi danymi i pod następny adres w eepromie, tak aż do zapisania całości informacji. Oczywiście jak tą informację kiedyś będziesz chciał odczytać...
Cześc wszytskim, mam prośbe do was którzy posiadaja radiotelefony w których czestotliwosci sa zapisywane w eepromach tych serii, Jezeli byscie zechcieli to poproszę o ich zawartosc w postaci hex lub bin poniewaz chce porównać je ze swoim plikiem wsadowym eepromu 24C04, mam yaesu FTL 2001 i bardzo malo informacji jest w necie na jego temat , doczytalem...
Witam mam następujący kawałek kodu: int main() { eeprom_write_byte ((char*)0x0001,'a'); eeprom_write_byte ((char*)0x0002,'b'); eeprom_write_byte ((char*)0x0003,'c'); eeprom_write_byte ((char*)0x0003,'d'); eeprom_write_byte ((char*)0x0005,'e'); eeprom_write_byte...
Hmmm, to po co chcesz odczytywać z niego zawartosć ? Nie rozumiem idei. Co Ty projektujesz? Ciekawy układ... Będziesz tam zapisywać jakąś losową liczbe czy jak ? Może pomyśl o użyciu Willema... Pełno jest jakis róźżnych czytników EEpromu które podłaczasz do kompa i odczytujesz..
Wygląda na to, że w tablicy koza nie masz dostatecznie dużo miejsca i funkcja zapisuje Ci obszar ze zmiennymi, albo stos. Czekanie na gotowość EEPROMu nie jest koniczne, wszystkie funkcje z avr/eeprom.h mają to oczekiwanie "wbudowane".
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...
Mam LPC2129 i dwa sektory flasha chce wykorzystać jako eeprom - wspierałem się przykładem: LPC2000 onchip Flash as EEPROM demo - mogę zapisać i odczytać dane z eeproma, ALE w eepromie mieści się tylko 15 komórek, a ja potrzebuje ze 3x więcej. Przy zapisie 16 struktury funkcja ee_write() a dokładniej funkcja iap_entry() która jest wywoływana wewnątrz...
Za każdym razem, kiedy wgrywam program na procesor za pierwszym odczytem pojawiają się właśnie śmieci, a nie dane, które były wcześniej zapisane, więc chyba jednak w momencie programowania procesora właśnie "wpalam" eeprom. Wiem tylko, że można uniemożliwić zapisywanie eepromu w fusebitach. Niezupełnie, w fusebitach można tylko ustawić, aby nie kasował...
Witam Mam następujący problem: używając polecenia $eeprom lub $eepromhex tworzę pliki z wartościami które chcę wgrać do eeprom problem jest w tym, że podczas kompilacji w tych plikach nie są zapisywane poprawnie wartości np 500 (zmienne integer). Po przejrzeniu skompilowanych plików widać, że zapisywany jest tylko młodszy bajt. Natomiast w samym programie...
Już wszystko jasne. Przyznaje, jestem ciamajda! eeprom.h [syntax=c] /* EEPROM start address in Flash */ #define EEPROM_START_ADDRESS ((uint32_t)0x08002000) /* EEPROM emulation start address: from sector2, after 8KByte of used Flash memory */ [/syntax] Ludzie z STMu radośnie założyli, że skoro chce emulować eeprom to na pewno będę chciał zapisywać wartości...
Witam :) Chce zapisać zmienną do pamięci EEPROM w procesorze. Testuje peryferia dynamicznie i nie wiem co się z nimi dzieje w trakcie działania. Wysyłają do mnie dane po USARCIE i chciałbym je zapisywać w wewnętrznej pamięci. Znalazłem realizacje zapisu, lecz wszędzie bazuje się na bibliotekach HAL, których nigdy nie używałem i się przekonać nie mogę....
Dziękuję bardzo za pomoc. Faktyczne nie pomyślałem o tym że przy takiej wielkości 1 bajt adresacji to za mało ;) edit Aktualnie spędzam wieczory nad rozwiązaniem mojego problemu. Chcę wysyłać z komputera Dane typu numer telefonu, imię i nazwisko, odbierać je przez uart i zapisywać w eeprom w celu ich pamiętania i przy każdym uruchomieniu stm wczytywać...
Czy to mozliwe zeby w ATmega16 samoistnie zmieniala sie zawartosc wewnetrznego EEPROMU podczas wylaczania lub wlaczania ukladu(nie mowie o numerze 0 bo to wiadome? Uklad nie odczytuje ani nie zapisuje pamieci podczas starrtu programu. Napisalem program do testowania bo juz wczesniej mialem problemy z eepromem tak jakby niektore komorki byly uszkodzone...