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.
Masz podłączony kwarc 8.0 - 16.0 MHz? I kondensatory 12-22pF przy kwarcu? Częstotliwość kwarcu ustawiona w środowisku programistycznym? R Dodano po 1 kwarc 20MHz Dla tego kwarcu masz źle ustawione fuse-bity. Swoją drogą po co taki szybki kwarc? R Dodano po 2 Brak zaznaczenia bitu EESAVE powoduje, że przy każdym programowaniu mikrokontrolera pamięć EEPROM...
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.
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?
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 ?
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...
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ą...
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...
C_rtd_i = eeprom_read_word(&C_rtd[i]); 4\/3!!
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...
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...
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...
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...
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 ) .
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.
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
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
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);...
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...
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...
Dane zapisują się w pamięci eeprom ale nie mam pojęcia jak to sprawdzić. Zapisują się,… albo też nie! Nie jest to poprawna forma zapisu do EEprom, co jest omówione niżej..... Generalnie wygląda to tak że po uruchomieniu sterownika ustawiam po kolei wszystkie parametry i wszystko działa do momentu wyłączenia zasilania ...... A powinno być w tej kolejności:...
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...
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....
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ść...
(at)paluszasty Właśnie sprawdzałem jak wygląda kwestia dostępu do FLASH i jest tak jak pisałem. Definiujesz stałą z const i automatycznie ląduje ona we FLASH, a z programu masz do niej dostęp bez żadnych specjalnych udziwnień. Czyli definicja: const char tmpchar1 Chyba że z jakiegoś powodu chcemy umieścić zmienne zadeklarowane jako const w RAMie, jak...
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,...
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....
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...
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.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...
Witam, mam pewien problem w jaki sposób zapisywać i odczytywać do pamięci EEPROM, zmienną typu double ? tak wygląda deklaracja zmiennej: static EEMEM double E_ax ; odczyt: double ax; ax = eeprom_read_byte(&E_ax); zapis: eeprom_write_byte(&E_ax, ax); przykładowe wartości ax: ax=-0.00000047558118; ax=0.00072714092; ax=-0.5437692; ax=310.9415814;...
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...
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,...
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("...
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...
Czy pin7 (Write Protect) pamięci masz podłączony do minusa zasilania?
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...
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...
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.
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...
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,...
Witam! Buduje sterownik do kolektora słonecznego i próbuje rozwiązać problem znikających nastawień przy zaniku zasilania. Potrzebuje wpisać zmienną histerezy do pamięci EEPROM którą będzie można zmienić zależnie od potrzeb. Zaczynam od definicji: static EEMEM uint8_t histereza = 3; Odczyt/zapis za pomocą komend: uint8_t histereza = eeprom_read_byte(&histereza);...
witam, piszę programik który "puchnie" bardzo szybko i po wnikliwej analizie zauważyłem że zdefiniowanie 4 znaków przy pomocy polecenia DEFLCDCHAR zjada około 350 bajtów FLASH. Pytanie czy da się zapisać te znaczki do pamięci EEPROM i odczytywać znaczki z tej pamięci. Pozdrawiam
Sprawdź: * jaki jest adres zmiennych - printf("0x%04x", &zmienna), czy wszedzie taki sam? Sprawdziłem, niestety są różne. Raz jest to 0x4C8, raz 0x01, a odczyt prawidłowy otrzymuję spod 0x4D5. * czy zmiana rodzaju optymalizacji coś daje? Optymalizacja ze względu na rozmiar (OPT = s) jest, że takpowiem, standardowo i jest OK. Przy wyłączonej optymalizacji...
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...
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...
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...
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ęć...
Usunięcie lockbitów czyści całą pamięć. Flash i eprom.
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...
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...
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...
a wiec tak. jeśli dalej nie działa to mam jeszcze 2 pomysły. 1. zmniejszyć rezystory podciagające do 4,7Kohma 2.gdzieś czytałem że zapis w rejestrze TWDR jest możliwy tylko gdy bit TWINT w rejesrze TWCR jest zerem. gdy chcemy cos wpisać do TWDR to najpierw musimy go ręcznie wyzerować (bit TWINT). niech kolega spróbuje to uwzględnić. ja w moim programie...
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.
czy na dole programu arduino masz taką informację ? https://obrazki.elektroda.pl/6368333500_... nucleo-costam on COM z numerkiem. zrzuty ekranu w Windows robi się kombinacją klawiszy WIN + Shitt + S wówczas możesz dodać obrazek poprzez https://obrazki.elektroda.pl/3902446900_... Ctr+V Dodano po 2 ps. tak sie zapisuje...
Witam, Zapis do pamięci jest zbyt wolny. Dla ATMEGA8 zapis jednego bajtu do EEPROMu trwa ok. 8.5ms Natomiast odbiór jednego znaku (10bitów) przy prędkości 9600bodów trwa 1.04ms. Tak więc w Twoim przypadku zanim zapiszesz odebrany bajt do EEPROMu to zdąży przyjść już kilka następnych których nie zdążysz obsłużyć. Pozdrawiam JarekC
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? Przecież to nie MCU interpretuje te pliki. To co jest wysyłane do MCU to interpretacja tych plików wyknana przez oprogramowanie sterujące programatorem....
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...
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...
mam nadzieję tylko, że początkujący kolega henryxxl zdaje sobie sprawę, że użycie zewnętrznej pamięci EEPROM - nie oznacza, że będzie można w niej zapisywać kodu programu - jedynie tylko jakieś tam dane do odczytu/zapisu (myślę, że to jest oczywiste - tak tylko się upewniam) .... natomiast z ciekawości - do czego ci aż tyle pamięci EEPROM - skoro jest...
Odczytanie z pamięci programu nie jest tak proste jak z pamięci RAM. W GCC do odczytywania tej pamięci stworzono specjalną funkcję pgm_read_byte, która jest (tak myślę) najbezpieczniejsza do operacji na pamięci programu. Teoretycznie wykorzystując wskaźnik do pamięci programu i traktując go jako tablicę (jak to zrobiłeś) powinno działać, ale widocznie...
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...
Nie problem tu w wielkości programu odczytującego, bo i w moim sposobie to będzie maleństwo. Pokazałem to tylko po to by potwierdzić i pokazać jak inaczej można to policzyć. Problem leży w gospodarce pamięcią flash. Bajty zapisywałbym w kolejności młodszy-starszy, bo wiem, że najbardziej znaczące bity starszego bajtu są zerami i w ten sposób łatwo rozpoznaję...
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ć...
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_...
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);...
http://obrazki.elektroda.net/97_12728985... Witam. Przedstawiam projekt Tunera FM z dekoderem RDS. Konstrukcja powstała jako potrzeba zastąpienia wysłużonego sprzętu Diory. Tuner jest pierwszym elementem zestawu jaki zamierzam wykonać, następnym elementem będzie wzmacniacz. Z uwagi na brak czasu projekt powstawał przez około 1,5 roku. Dekoder...
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...
Ok dzięki Jml. '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 Config Pinc.5 = Output 'linia PB1 jako wejściowa...
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...
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 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...
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]...
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...
Freddie Chopin, wnioskuję z tego, że kompilator z Bascoma jest głupi bo wywala mi brak SRAM pomimo, że zmienne nigdy nie zostały użyte w programie i praktycznie cały ram powinien być wolny. K_o_n_r_a_d, w programie odczytuję zmienne z EEPROM tylko podczas włączenia urządzenia, a zapisuję tylko po dokonaniu zmian w ustawieniach. Odczyt zatem odbywa się...
Da sie to zrobić? Bo robie projekt na atmega8515 (mam ich kilka więc nie będe kupował nowego) a on nie ma TWI a potrzebuje dołączyć pamięć EEPROM Jak to zrobić pod bascomem o ile sie da Witam wszystkich. Ostatnio spotkałem sie z podobnym problemem. Musiałem odczytać i zapisać zawartość 24c08 (1024 bajty). Niestety :( programy przykładowe załączone...
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...
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...
odczyt pamięci eeprom atmega odczyt eeprom pamięci eeprom atmega
gniazdo anteny router laguna przekazniki multiswitch naprawa
Smar do klocków hamulcowych w Passacie B5 1.9 TDI 90 KM kombi Dodatkowa czujka podczerwieni do dekodera Evobox