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.
W tej chwili nie mam możliwości podłączyć się i sprawdzić odczyt eeprom. Dziwne jeszcze jest jedno, po włączeniu pamięta 2 z 4 czasów. Najczęściej gubi się czas t2 pod adresem uint8_t pamt2 EEMEM=1 i bardzo często jest powiększony o czas t2
Piszę program który w założeniu ma posiadać pamięć ustawień. Dokładniej jest w nim 11 zmiennych oraz 128 możliwości ich ustawień (128 banków pamięci dla tych 11 zmiennych). Każda zmienna jest 8bitowa. No i dostaje od kompilatora (WinAVR ) dziwne komunikaty: warning: pointer targets in passing argument 1 of 'eeprom_read_byte' differ in signedness W kodzie...
Spróbuj tak: odczyt [syntax=c] if(eeprom_is_ready()) { eeprom_read_block(&ustawienia,&ustawieni... } [/syntax] zapis [syntax=c] cli();//Globalna blokada przerwań if(eeprom_is_ready()) { eprom_write_block(&ustawienia,&ustawieni... } sei();//odblokowanie przerwań [/syntax]
Witam, zakładam że rzeczywiście zapisujesz coś do EEPROMa. Temat był już poruszany, ponieważ ATmega przy wyłączaniu/załączaniu zasilania ( w szczególności jeśli napięcie wolno narasta/opada - wolno dla kontrolera!! oczywiście ) jesli nie są spełnione określone warunki potrafi ( i robi to często) zapisywać przypadkowe dane do pamięci EEPROM. Poświęcony...
Podłączę się do tematu, czy w bascomie, możliwe jest zapisanie danej jako pojedynczy bit, potrzebuje zapisać do eepromu 3360 stanów logicznych, jeśli potraktować 512kB pamięci eeprom jako bity to wystarczy, tylko czy bascom temu podoła?
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, 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.
No właśnie z instrukcji jakie udostępnia alnor wyraźnie jest napisane, żeby modyfikować komórki pamięci. Tutaj prawdopodobnie jest bardzo podobnie. https://obrazki.elektroda.pl/4699363600_... Dlatego uważam, że Airios który jest dostawcą nie zablokował możliwości odczytu oraz modyfikacji pamięci. W moim przypadku może być podobnie...
http://obrazki.elektroda.pl/9824916400_1... Witam, Korzystając z ostatnich wolnych dni przed studiami chciałbym zaprezentować moją ostatnią konstrukcję. Jest to mały przenośny barometr. Konstrukcja powstała na potrzeby osoby wrażliwej na zmiany ciśnienia oraz spełnia jej wymagania tzn. mały rozmiar( 20x40x9mm) oraz co się z tym wiąże...
No faktycznie w Pony-m moge edytować wartości pojedyńczych komórek :) Tylko co zrobić jak tych komórek będzie dużo do zmiany? A czy np. WINAvr ma instrukcje pozwalające generować plik do zaprogramowania pamięci?
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...
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, potrzebuję co minutę zapisywać zmienną w pamięci EEPROM. Ile czasu "teoretycznie" pamięć będzie można użytkować? Czy ilość cykli zapisu jest taka sama do odczytu? Czy jeżeli wykonuję tylko zapis co minutę od ilość cykli odczytu również ulega zmniejszeniu ?
masz konflikt adresow PCF tez ma adres 1010000 taki sam jak masz dla 24c1024 Niekoniecznie ;) Błąd jest tu ... ... delayms(10); // zamień ... I2C_stop(); // ... miejejscami te dwie funkcje ... ... , ponieważ sekwencja I2CSTOP jest sygnałem dla wewnętrznych "mechanizmów" pamięci , by skopiować bufor - który faktycznie jest pamięcią RAM...
Wydaje mi się że jak byś nie zrobił i będzie działało to tak jest dobrze ;] ilu programistów tyle podejść do tematu... Jeżeli już zadeklarujesz taką dużą tablicę to tak czy siak będzie ona zajmowała jakąś przestrzeń w pamięci więc czemu nie użyć jej i odczytać z eeprom wszystkiego na raz. Kiedyś robiłem podobny sterownik do CO ze sterowaniem temperaturą...
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...
http://obrazki.elektroda.pl/2762225800_1... Jedyny taki przenośny programator układów AVR. Pomoże wszędzie tam, gdzie trzeba zaktualizować oprogramowanie, a układ docelowy znajduje się w trudno dostępnym miejscu i nie mamy możliwości (lub chęci) ciągać ze sobą laptopa i mnóstwa przewodów. Banalnie łatwa obsługa, niski koszt wykonania, super...
Na razie próbuję to zrobić w tradycyjny, "Atmegowy" sposób, gdyż mam to już przećwiczone. Na razie procedurka sprawdza, czy w EEPROMie jest FF (lub FFFF dla 16 bitowych zmiennych) i ustawia wartości domyślne. Jednak po odczytaniu, wartości zmiennych nie sa na swoich miejscach. Wpisuję 5 danych typu uint8_t i 8-elementową tablicę uint_16 t. W której...
http://obrazki.elektroda.pl/3799930900_1... Jakiś czas temu pisałem, jak nagrywać gry z PC na PEGASUSA. Teraz pora podejść do tematu z drugiej strony – jak zgrać naszą ulubioną kolekcję kartrydży na komputer. Wiele osób może się dziwić, po co taki zabieg, zwłaszcza, że większość gier z tej konsoli krąży już po Internecie. Czasem...
Usunięcie lockbitów czyści całą pamięć. Flash i eprom.
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 ) .
Witam, 1. 400kHz I2C a 20MHz ISP. Ile razy szybszy jest odczyt (i ew zapis) pamięci DataFlash od I2c EEPROM? Po pierwsze: nie osiągniesz 20MHz transmisji do pamięci DataFlash bo największa dopuszczalna częstotliwość pracy ATmega128 to 16MHz, a do tego częstotliowść pracy magistrali SPI ( a nie ISP In Cicuit Programing - programownie w układzie ) jest...
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...
Tak, wszystko się zgadza. Jeśli łączyłbyś potem np. 2 kości to wtedy w jednej dajesz oba piny do masy, a w drugiej jeden do VCC i masz 2 pamięci pod 2 różnymi adresami. Można w ten sposób połączyć do 4 pamięci typu at24c04
Witam Mam problem z SPI w Atmedze32. Staram się skomunikować ją z pamięcią 25LC128. SPI inicjalizuję następujaco void InicjalizacjaSPI(void) { // Wyjścia SS, SCK, oraz MOSI są wyjściami DDRB = _BV(SPI_SS) | _BV(SPI_MOSI) | _BV(SPI_SCK); // Ustawiamy SS oraz SCK w stan wysoki PORTB = _BV(SPI_SS) | _BV(SPI_SCK);...
C_rtd_i = eeprom_read_word(&C_rtd[i]); 4\/3!!
Chodzi Ci o zapis do pamięci EEPROM? W wątku http://www.elektroda.pl/rtvforum/viewtop... zamieściłem plik lib_avr.zip, w nim znajdziesz odpowiedź na Twoje pytanie (jest tam biblioteka i przykładowy plik z krótkim programem.
Tak jak pisałem, po operacjacvh na EEPROM, rejestr adresowy powinien wskazywać na nieużywaną komórkę pamięci. Ty zapisujesz i nadajesz mu 0, czyli wskazuje na komórkę pamięci używaną przez twoją strukturę. W przypadku problemów zawartość tej komórki zostanie uszkodzona. Poza tym dlaczego nie używasz funkcji bibliotecznych dostępu do EEPROM? Masz tam...
http://obrazki.elektroda.pl/4553573800_1... Przy tworzeniu projektów z mikrokontrolerami, oprócz uniwersalnych płytek stykowych, często przydają się gotowe moduły testowe, które można szybko podłączyć. Można kupić takie w wielu sklepach, ale ich ceny są na ogół absurdalne, np. w Kamami sprzedają płytkę z ATmega128 za 109 zł! Poniżej...
Nie napisałeś jakiego języka używasz , ale to nie ma znaczenia musisz zbudować dwie procedury zapisu i odczytu pamięci eeprom , dodatkowo zmienne pozycja i nastawa w pamięci ram do pozycji będziesz wpisywał wartość z adc i z niej wpisywał wartość do zapamiętania do eeprom przy zapisywaniu nastaw. z eepromu przy odczycie będziesz wpisywał wartość do...
To musisz używać jakiegoś beznadziejnego środowiska bo jest ich tutaj ogromna ilość: https://obrazki.elektroda.pl/5777279800_... Dodano po 2 Spodziewam się, że zostanie wczytana wartość czas, a następnie dodana do niej wartość 1 A w następnej pętli? Znowu zostanie wczytana wartość i dodana 1? Czyli zmienna czas zawsze będzie miała wartość...
Aby zapisywać i odczytywać zmienne z wbudowanej pamięci EEPROM musisz zadeklarować jakąś zmienną w tej pamięci http://avr.elektroda.eu/node/3 W tej chwili zapisujesz i odczytujesz jakąś przypadkową zmienną w pamięci SRAM
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...
to może zainteresuj się jakimś uC z wbudowanym eepromem? np. atmega +fusbity blokujące odczyt eepromu przez programator
Witam Czy procesor AtMega 328p wyrobi się przy założeniu: Odczyt danych z RS485 Zapis danych na karcie SD Zakładam tak: PD0, PD1 - UART PD3 - przełączanie transmisji RS485 PC4, PC5 - I2C ( TWI ) pod EEPROM + PCF8563 PC0, PC1, PC2, PC3 - linie danych wyświetlacza PB1, PB2 - linie E i RS wyświetlacza PB3 ( OC2A ) - podświetlanie wyświetlacza PD4, PD5,...
(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....
http://obrazki.elektroda.net/43_12786005... Atmega fusebit doctor, jak sama nazwa mówi, to urządzenie do naprawienia nieumiejętnie przestawionych fusebitów w mikrokontrolerach z rodziny AVR. Największymi problemami jest ustawienie nieprawidłowego źródła zegarowego (fusebity CKSEL), wyłączenie programowania SPI (fusebit SPIEN), lub ustawienie pinu...
Mam tyle zaległej pracy , że nie mam czasu dogłębniej tego opisać. Przecież kolega napisał wyraźnie, ze kiedy załaduje obrazek do Flash mikrokontrolera to mu się wyświetla. Możemy chyba temat podłączenia LCD pominąć? Sprawa ma kilka aspektów i dlatego pewnie nie jest pokazywana w co drugim tutorialu :P Po pierwsze trzeba zrozumieć że dołączenie obrazka...
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...
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...
mimo że program który zapisuje pewne dane do eepromu działa poprawnie, to gdy chcę sobie odczytać stan tego wewnętrznego eepromu zawartego z ATmega 32, to wywala mi same FF.... CZemu nie mogę poprawnie odczytać zawartości EEPROMU za pomocą funkcji Read Data(EEPROM) bo takiej używam. Pojemność jaką odczytuję jest niezgodna... EEprom w procku ma 1 KB,...
Witam, Przedstawiam poniżej program (kompilator AVRGCC+AVRStudio5), który przygotowałem jako testowy, jest to fragment większego projektu. Jego zadanie polega na odczycie kilku parametrów z pamięci EEPROM, sprawdzenie czy jest w określonym zakresie, jeśli nie jest to wprowadza wartość domyślną i zapisuje z powrotem do pamięci EEPROM. Program działa...
Oto plik ze zmiennymi z których chce korzystać w programie głównym: #ifndef H_ZMIENNE_EEPROM_H #define H_ZMIENNE_EEPROM_H uint8_t smieci1 __attribute__((section("... = 0; uint8_t temp_zadana __attribute__((section("... = 28; uint8_t temp_zalaczenia_pompy __attribute__((section("...
Czy pin7 (Write Protect) pamięci masz podłączony do minusa zasilania?
W wyniku kompilacji Twojego programu powinny powstać dwa obrazy pamięci. Jeden dla pamięci flash mikrokontrolera - zawiera on kod programu. Drugi dla pamięci eeprom mikrokontrolera - zawiera zawartość pamięci eeprom - w tym wypadku jest to liczba 3. Programowanie pamięci eeprom to po prostu wgranie tego wsadu. Z jakiego środowiska korzystasz? Np. w...
No więc w ten sam sposób nie zapiszesz do zewnętrznej pamięci EEPROM. Po pierwsze, ona jakoś się komunikuje z procesorem, popularne interfejsy to SPI lub I2C. Taką zapewne pamięć masz. Więc musisz oprogramować komunikację z nią. Jak już będziesz miał komunikację z pamięcią to musisz napisać własne funkcje wyższego poziomu, realizujące zapis/odczyt struktur,...
Witam Postawiłem sobie za cel możliwość zapisania wartości pwm w zewnętrznej pamięci eeprom, w tym przypadku AT24C02 Procesor to Atmega 8, wewnętrzne taktowanie zegara 1MHz W załączeniu wkleiłem uproszczony program zapisu i odczytu wartości pwm. Za pomocą pwm steruję jasnością podświetlenia wyświetlacza LCD. Wiem, że można zapisywać te ustawienia w...
http://obrazki.elektroda.pl/8472920100_1... Witam! Jakiś czas temu zacząłem bawić się procesorami AVR. Jako programatora wykorzystywałem moduł FT232. Po jakimś czasie gdy zacząłem ów moduł wykorzystywać również do transmisji danych między procesorem a komputerem (UART) pomyślałem, że aby zmniejszyć kabelkologię (FT232 podłączony jako...
Witam. Mój problem pojawia się podczas zapisu do pamięci at24c1024 wartości większej niż 127 (0x7F). Wartości mniejsze są prawidłowo zapisywane i odczytywane pod każdym adresem. Natomiast wartości większe od wspomnianej nie są zapisywane. Czy ktoś spotkał się już z podobnym problemem? Pozdrawiam.
Przesyłam garść konstruktywnej krytyki. Bisz stworzona aplikacja przy kompilacji programu tłumaczy go na język IL (czyli coś w rodzaju assemblera). Instrukcje w tej postaci trafiają do pamięci flash ATmegi. Pamięć flash podzieliłem na dwie sekcje (po 64kB). Jedną zajmuje oczywiście firmware, a do drugiej zapisywane są instrukcje programu. Firmware posiada...
Podłączając się do tematu. Jak najbardziej znane są możliwości zwiększania żywotności eeprom przedstawiane powyżej. Jednak biorąc pod uwagę milionową ilość kasowania eeproma ($FF) czy nie można w jednej komórce eeprom np 9 przechować adres aktualnej zapisanej wartości np 10. Po każdym zapisie w komórce 10 byłaby dokonana kontrolna procedura odczytu...
FLASH/EEPROM, bo będziemy potrzebować sporo pamięci. flash może nie wystarczyć, szczególnie po Polsku, gdzie gramatyka jest złożona. Raczej karta pamięci. Attiny do dajacych sie zrozumiec komunikatów głosowych - chciałbym to zobaczyc. Cortex bo kosztuje tyle co atmega a ma wszystkie wymagane mechanizmy i peryferia
Czyli Twój pseudokod to jest taka jakby kolejka FIFO? No niezupełnie. To co przedstawiłem buffer_is_empty() zwracająca prawdę lub fałsz) należy sobie dopisać. Sprawa jest dosyć prosta np. w przypadku USART. Wystarczy dodać bajt do bufora, później - jeśli bufor nie jest pusty - pobrać bajt i wysłać. W przypadku I2C sprawa jest o tyle skomplikowana,...
Sprawdź, czy obydwa wywołania procedury odczytu są w tej samej połówce pamięci (górnej/dolnej). Jeżeli nie, to sugeruje błąd w bibliotece obsługi EEPROMu, która nie radzi sobie prawidłowo z dużą pamięcią programu (>32kW/64kB) - odczyt stałych z ROM? Awaryjnie zawsze możesz sobie napisać własne procedury dostępu do EEPROM.
... Pytanie czy da się zapisać te znaczki do pamięci EEPROM i odczytywać znaczki z tej pamięci. Istnieje taka możliwość, tylko trzeba się "wgryźć" w biblioteki, choć nic nie trzeba w nich zmieniać , czy pisać nowych ;)
Mam jeszcze jedno pytanie, ta pamięć ma 64kbit a tam stron jest 32 i 256 komórek no i (strony)32*(komórki)256=8192 i to nie jest 64kbit(65536), czy tej pamięci jest tylko 8192 czy gdzieś jest reszta? Używam tego kodu. Sub Zapis(byval Strona1 As Byte , Byval Adres1 As Byte , Byval Zapiszf As Byte) I2cstart 'start I2cwbyte 160 I2cwbyte Strona1...
Witam. Zanim postanowiłem napisać nowy temat przeglądałem różne tematy z podobnymi do mojego problemami i nic z tego nie rozumiem. Do rzeczy- zbudowałem sterownik do zgrzewarki oparty na uC Atmega8A https://obrazki.elektroda.pl/9250457200_... Problem polega na tym że uC nie pamięta zapisanych ustawień (czas preimpulsu, czas przerwy,...
Witam Na szynie I2C podłączoną mam kość PCF8583 oraz pamięć 24C64. Wykonuję zapis do pamięci a następnie odczyt. Jednak podczas zapisu następuje przekłamanie danych. Np zapisuję wartość 35 do pamięci a w rzeczywistości zapisana zostaje wartość 32 lub 33. Gdy odłączę od szyny I2C PCF8583 problem znika. W czym więc leży problem? Bardzo proszę o jakieś...
rezystory są zamontowane w płytce i są to 4,7k jeszcze jedna uwaga: zrobiłem przeróbkę i ustawiłem wartość A=4 i zakomentowałem Incr A czyli wysyła cały czas 4 i odczytuje z pamięci. Wyniki: co jakiś czas otrzymuję w wyniku: 4 i 0, może moje 16MHz ma jakiśwpływ... ale nie jestem w stanie go wymontować z tej płytki i wymienić. Pisałeś że działa u Ciebie....
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...
Tutaj masz wszystko... 'Program sterowania dwoma układami DS1820 dołączonymi 'do tej samej magistrali 1-Wire $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator 'o częstotliwości oscylatora 'taktującego mikrokontroler Config Pinb.1 = Input 'linia PB1 jako wejściowa Config...
Trudno tak wróżyć a błąd pewnie jest błahy. Dlatego warto zawsze wykonać kilka testów. Znajdź to miejsce w kodzie i dopisz to co tam dodałem. To przy starcie pokaże numery seryjne zapisane w pamięci czyli sprawdzi czy zapis przebiegł pomyślnie. Numery pokazuję w postaci Hex bo się akurat zmieszczą na 16-nasto znakowym LCD. Jak w pamięci będa same FF...
Witam, 1. Nie podałeś jaki jest rozmiar pamięci EEPROM a od tego zależy sposób adresowania. Linie A0,A1,A2 masz podpięte do +5V (logiczna 1) czyli jeżeli masz pamięć mniejszą niż 24C16 to adres 0xA0 jest niewłaściwy. 2. Linia WP dla normalnego trybu pracy powinna być podpięta do GND (logiczne 0). 3. Aby zdiagnozować problemy na I2C po zakończeniu każdej...
Kurcze no właśnie bo do odczytu z eeprom jest polecenie showpice ale nie mam pomysłu jak to przerobić żeby działało z kartą pamięci bo obrazki z flasha odczytuje bez problemu a mi właśnie zależy na tym żeby z karty można było odczytać a dało by rade (adambehnke) żebyś odnalazł to co czytałeś na ten temat ? Ja sam szukałem bardzo dużo ale nie znalazłem...
Robisz odczyt oddzielnie dla pamięci flash i oddzielnie dla eeprom? W programie masz 2 przyciski read do oddzielnego odczytu każdej z pamięci i musisz tak zrobić. Najlepiej usuń pliki które w tej chwili odczytałeś, bo coś mi mówi, że ten pusty zrzut pamięci flash jest z tej pustej atmegi której nie mogłeś zaprogramować. Następnie odczytaj po kolei pamięć...
http://obrazki.elektroda.net/48_12524920... Witam. :D Chciałbym zaprezentować interfejs diagnostyczny do pojazdów marki Fiat wyposażonych w silniki z jednopunktowym wtryskiem paliwa (SPI) głównie sterowniki IAW16F (seicento/cinquecento/punto). Pełna lista pojazdów znajduje się poniżej. Dzięki zastosowanemu wyświetlaczowi LCD urządzenie nie...
Aby kod łatwo było analizować używaj znaczniki SYNTAX: [syntax=c] tu wklej Twój kod [/syntax] Plik : HD44780.c Plik : HD44780.h Dodano po 25 Ja połączyłem je w ten sposób ale pewnie źle bo wystąpiły błędy w kompilacji. Proszę o pokazanie mi sposób połączenia tych dwóch plików w prawidłowy sposób. Pierwsze uwagi: - te dwa pliki to tylko...
Witam! Ostatnio musiałem przerzucić projekt z atmega8 na atmega168 (więcej sprzętu i pamięci) ... i zaczęły się problemy. Chyba kilkanaście razy sprawdzałem cz poprawnie skonfigurowałem wszystkie rejestry i dalej nic, program lubi się czasami wysypać, lub nie działa wg. oczekiwań, gdy na atmega8 działa ok. Podejrzewałem że wina może tkwi po stronie...
Panowie, ja doskonale rozumiem, że da się to zrobić na jednym procku i tak właśnie będzie. Jednak nie będzie to jedyne urządzenie odpytywane po i2c, stąd wspomniałem o tym nadrzędnym które ma za zadanie odpytać watomierz i przedstawic wyniki użytkownikowi. W założeniu urządzenie nadrzędne z uC ma odpytać Atmegę sterującą watomierzem. Atmega, powinna...
ad 1. Wyjaśnienie jest proste - urządzenie korzysta z jakiś danych zawartych w pamięci EEPROM. Jest to dosyć typowa sytuacja - tym bardziej dla urządzeń pomiarowych. W końcu gdzieś trzeba trzymać dane konfiguracyjne, a EEPROM się do tego doskonale nadaje.
Niestety ale mam jeszcze problem z odczytem za pomocą funkcji eeprom_read_block. Zapisuje się prawdopodobnie prawidłowo ale gdy przy tej strukturze chcę ją odczytać poprzez funkcję eeprom_read_block(&zmienna_ee, &zmienna_ram,sizeof(STRUKTURA)) program zacina się.. Gdzie powinno być umieszczone odczytywanie danych z pamięci eeprom? Czy przed pętlą while...
Jeżeli rzeczywiście to tylko 20 bajtów, to co z pozostałymi 2028 bajtami w AT24C16 ? Co z EEPROM-em wbudowanym w ATmega162 (512 bajtów) ? Na [url=http://www.atmel.com/dyn/products/d... stronie jest [url=http://www.atmel.com/dyn/resources/... katalogowa ATmega162. W niej m.in. opis programowania...
EEPROM to dodatkowa pamięć służąca do przechowywania danych przez program. Jeżeli w kodzie nic do niej nie zapisujesz ani z niej nie odczytujesz, jest bez znaczenia. Ta opcja definiuje, czy zawartość pamięci EEPROM będzie zachowana, czy skasowana podczas wgrywania programu. Przy wgrywaniu przez bootloader (UART/USB) zawsze jest zachowywana.
Witam serdecznie Tym razem to ja mam problem. Sprawa dotyczy odczytu do programu danych z wew eepromu żeby nie przeciagać - mam kilka zmiennych BIT Readeeprom Hbyte(1) , 2 Ar_tr1 = Hbyte(1).0 Term_ena = Hbyte(1).1 Tryb_letni = Hbyte(1).2 Tryb_letni1 = Hbyte(1).3 Tryb_letni2 = Hbyte(1).4 Tryb_letni3 = Hbyte(1).5...
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ć....
Witam ponownie, dziękuję za odpowiedzi. (at)megao Sprawdziłem z ciekawości dzisiaj zapisywanie EEPROMu z poziomu programu dla AVRa (z racji, że cierpię na chroniczny brak czasu zrobiłem to dopiero teraz). EEPROM działa poprawnie (tj. zapisana liczba zostaje w EEPROMie). Przykładowo, wiem, że pierwszy bajt (często sporny bajt o adresie 0 z którym sporadycznie...
Tylko, że odczyt tak zapisanych informacji to już potrzebny duży program. Ostatecznie może się okazać, że on się nie zmiesci w pamięci. Pozdrawiam wszystkich jjanek
Witam . Napisałem ( prawie) sobie na ww procesor program w asm i bascomie który ma robić za zamek otwierany kartą . W bascomie wszystko działa w 100 % według założenia jednak w asm mam taki problem że układ sam zmienia swoje taktowanie (ponad 2x) przez co wszystkie funkcje czasowe nie pracują jak powinny . Nie było by w tym nic niezwykłego ( ustawiony...
Szukam jakiegoś bardzo prostego systemu plików do użycia z mikrokontrolerami ATMega i kartą pamięci microSD. Nie musi on być obsługiwany przez komputer PC. Potrzebny będzie odczyt, zapis, tworzenie i usuwanie plików. FatFS jest fajny, ale trochę zasobożerny. PetitFS za to nie obsługuje zapisu i tworzenia plików. Zapewne ktoś doradzi mi, żebym sam napisał....
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...
Zamiast używać cyferek do określania bajtów w pamięci eeprom, zadeklaruj sobie dla nich jakieś bardziej przyjazne nazwy. A do zapisu używaj eeprom_update_byte , wtedy aplikacja zapisze dane tylko jeśli uległy one zmianie. [syntax=c]static EEMEM uint8_t e_tor, e_led, e_licznik; ... //odczyt tor = eeprom_read_byte(&e_tor); led = eeprom_read_byte(&e_led);...
Jednak moja wersja sejfu nie posiada motywu z pastylką Model Magna 800 otwiera się za pomocą klawiatury pinpad, modele serii Titan są na kartę, Quantor na pinezkę. Pastylkę iButton, czyli ten ich Masterkey, przykłada się do maszynki EOT 300 lub BiMaxa, a maszynkę łączy kablem z sejfem (gniazdo na płytce pinpada). https://obrazki.elektroda.pl/9335554200_...
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]...
Dziękuje za odpowiedzi. Muszę przyznać że zainteresował mnie temat kart SD/MMC. Trochę już sobie poczytałem i mam pytania: Wiem że nie da się zapisać pojedynczego bajtu tylko paczkę 512. W moim przypadku będę tylko odczytywał dane więc czy musze odczytać całe 512 czy mogę tylko jeden wybrany z paczki. Jak z czasem odczytu? Nie będzie to wolno działać...
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...
OK, a czy ma znaczenie format pliku który przesyłany jest do pamięci flash i eeprom uC, czy uC jest w stanie rozpoznac i zrozumieć niezaleznie czy jest to format hex, bin, motorola, dziesiętny etc?
Z braku sukcesów w programowaniu funkcji search_rom 1Wire rozwiązałem problem następująco: 1) użytkownik podłącza jeden czujnik pod 1Wire, program wykonuje funkcję read_rom, użytkownik ustala numer czujnika który aktualnie podłączył. 2) program zapisuje tak odczytany ROM do pamięci EEPROM procesora 3) z każdym czujnikiem użytkownik podstępuje dokładnie...
Witam Szukałem na forum (ale nie znalazłem tego co mnie interesuje), chce pobrać stan PORTuA i PORTuC zapisac do pamięcia uC następnie odczytać z pamięci i wysłac USARTem na chwile obecną robię to bez pamięci: if(byte=='s') //gdy odbierze literke "s" wysyła naprzemian stan portu A i C { st=1; } ......... if(st!=0)...
K_o_n_r_a_d, jeżeli masz trochę czasu to przedstaw mi swój sposób zapisu/odczytu danych do/z EEPROM. Z góry dzięki. Ja to robię tak mniej więcej: Dim pomocnicza As single At 700 Dim X As Eram Single At 100 X=pomocnicza 'zapis do eeprom pomocnicza=X 'odczyt z eeprom Zrobiłem już dużo sterowników i innych urządzeń ale jeszcze nigdy nie używałem zmiennych...
No i tu moje żdziwienie eprom pusty i flash też. !!! jak to jest możliwe !!! PO ponownym wgraniu wszystko działa a jak łysy zaraz bęę bo nie kapuje o co chodzi Zakładałeś jakieś lock-bity zabezpieczające przed odczytem?
Co do wysyłana szesnastkowych wartości przez RS'a. Możesz użyć funkcji sprintf(); Wyglądało by to następująco: sprintf ( Bufor, "%X:%X:%X:%X:%X:%X", MAC[0], MAC[1] .......); Bufor powinien mieć wielkość 6*3 bajtów. Zostanie w nim zapisana np. tak postać: "0C:2A:......" Aby wykorzystać tą procedurę musisz dołączyć stdio.h. Tu pojawiają się pewne schody....
http://obrazki.elektroda.pl/1254071400_1... Witam. Jest to moja pierwsza taka poważna konstrukcja, więc proszę o wyrozumiałość. Sterownik powstał ponad rok temu, gdy miałem dużo wolnego czasu po złamaniu nogi. Pierwszą funkcją, jaką miał spełniać, był prosty alarm z powiadomieniem GSM. Po przeszukaniu internetu zdecydowałem się na procesor...
Przedewszystkim pamięć 24c08 to są 4 pamięci 24c02 w jednej obudowie. Maksymalny adres w pamięci to jeden bajt(255 max) a nie jak u ciebie 335. zmień typ zmiennej adr na byte i adresuj maksymalnie do 255. proponuje wstawić krótkie opóźnienie tak aby pamięć miała chociaż szansę się wykazać. ponieważ tam pamięć jest podzielona na cztery podstrony(każda...
Znalazłem podobny temat https://www.elektroda.pl/rtvforum/topic8... ale za bardzo nie mogę zrozumieć odpowiedzi (późna godzina może). Jaki adres ukłądu w końcu powinienem użyć? Poniżej daję kod, który nie działa (funkcja zwraca false). Prośba o spojrzenie, co robię źle. Z pamięciami eeprom pierwszy raz się spotykam. Od razu pytanie odnośnie...
Witam, mam sterownik który co kilka minut zapisuje w pamięci AT24c1024 jeden z 4 parametrów, są to 3 wartości typu Byte oraz jedna typu Word. Niestety raz na 1-2 dni występuje problem z zapisem, "zacina" się komunikacja i sterownik najczęściej zostaje zresetowany przez watchdog'a, jeśli wyłączę watchdoga sterownik przestaje reagować. Na magistrali jest...
Witajcie! Mam mały problem. Chciałbym do pamięci 24c16 pod adres np. 0x07FA (czyli prawie na samym końcu) wpisać jakąś daną, powiedzmy '5C'. Aby to osiągnąć, należy zaraz po starcie i2c przesłać adres pamięci jako urządzenia, następnie przesyłamy adres danej, później daną. Tak więc jeśli chcę wpisać daną '5C' pod adres 7FA, potrzebuję 11 bitów na ten...
Ten powinien działać musisz wszystko wykonywać w odpowiedniej kolejności. A wspak to on może też czytać sensu to nie będzie miało (2 znacznie nawet objaśnienie :D )musisz zmienić na adres-1, kierunek musi być dodawany zakres adresu dla zmiany kierunku zamienione miejscami i adres musi się zaczynać na 80. A Pętla for next jest tylko po to aby wykonać...
Witam noi po zainstalowaniu tego ,programator wogle przestal wspolpracowac musialem od nowa system instalować po zainstalowaniu wyskakuje taki sam komunikat jescze jedno pytanie w MkCalculator jako lock bits pokazuje mi 0x3F a w AVR dudes pokazuje external jako 0x05 czy lock bits nie powinien byc na 0x0F Dodano po 14 Widze ze odpowiedzi brak pewnie...
Witam, Dlaczego wartość odczytana z pamięci jest inna niż zapisana. Dlaczego jak odłączę zasilanie od procesora wszystkie dane z pamięci znikają. $regfile = "m162def.DAT" $crystal = 8000000 $baud = 9600 Dim Znak_chr As Byte Dim Licznik1 As Integer Dim Licznik2 As Integer Dim Blokada_7 As Integer Dim Blokada_6 As Integer Dim Odczyt1 As Integer...
odczyt pamięci eeprom pamięci eeprom atmega atmega odczyt eeprom
volvo silnika czujnik przepływ arduino telefon mescomp
samsung ue55h6300 chłodzenie 7900x
Brak działania wszystkich gniazd HDMI, USB, antena w telewizorze LG, Samsung – diagnoza i naprawa Alan, Midland Alan 42/48/78, SEAT Alana – wprowadzanie kodu cyfrowego i literowo-cyfrowego