1. Włącz BOD i WD 2. Utwórz zmienną na początku pamięci EEPROM i jej nie używaj: [syntax=vbnet]Dim Reserved As Eram String * 8 Dim Dane As Eram Byte ... [/syntax]
Witam. Mam problem. Chciałabym się dowiedzieć jak zaprogramować Atmegę by poinformowała mnie(np. zapaleniem diody), że skończyło się miejsce w eepromie? Czy taki problem jest omówiony w dokumentacji?
Najpewniej nie programujesz pamięci EEPROM. Niedawno był podobny temat: [url=http://www.elektroda.pl/rtvforum/vi...
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]
Jak najbardziej write_block zapisze poprawnie - kluszem jest parametr size. Jeśli pobierzesz &id_czujnika i sizeof(id_czujnika) to będzie ok.
Co w języku c trzeba przekazać do funkcji EEMEM aby zapisać/odczytać zmienną z pamięci EEPROM
Najlepiej nigdy, przenigdy nie rób takich rzeczy ;) Argumentem tej funkcji powinien być wskaźnik ale ty stosujesz tu rzutowanie i na własną rękę numerujesz komórki pamięci w EEPROM. To doprowadzi cię kiedyś do zagłady ;) jak już to najpierw zdefiniuj sobie zmienną w pamięci EEPROM: unsigned char zmienna EEMEM; a potem np: mem_year = eeprom_read_byte(...
attiny2313? Posiada wbudowaną pamięć EEPROM. Tani.
Witam. Jak najlepiej zapisać ciąg znaków np "www.elektroda.pl" do pamięci eeprom procesora Atmega 128. Czy jedynym wyjściem jest zapisywanie w pętli kolejnych znaków ze sztywno określonej tablicy, czy też istnieje jakiś łatwiejszy, bardziej optymalny sposób?
EEPROM z wear leveling też może być rozwiązaniem, o ile oczywiście czasy zapisu do tej pamięci są akceptowalne i masz duży nadmiar EEPROMu.
No w ciekawym kierunku idziesz :) z AVR na 51 :) jak Ci zależy na pamięci to zastosuj jakiś ATmega (nawet 128 KB + eeprom), A 89S52 to odpowiednik 89C52 tylko z możliwością programowania ISP i chyba ma kilka dodatkowych rejestrów, ale za to głowy nie dam, bo nie zgłębiałem tego tematu.
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.
Próbowałem 2 sztuki ATMEGA162. Obie pracowały stabilnie na 20MHz. Program pisany w C, niezbyt skomplikowany (operacje logiczne, arytmetyczne, skoki warunkowe, dostęp do pamięci etc, nie wykorzystywałem timerów, przerwań, pamięci EEPROM).
Witam Chciałbym przez rs232 zapisywać zmienne z pliku txt do zewnętrznej pamięci eeprom np. 24Cxx z których będzie korzystał mikrokontroler atmega128. Od czego zacząć? Czy to będzie bardziej rozwiązanie polegające na programie w mikrokontrolerze zasysającym dane z txt i wczytującym je do eeproma czy zrezygnować z drogi mikrokontrolera i programować...
W dziedzinie układów scalonych jestem raczej słaby. Myślałem nad zastosowaniem pamięci EEPROM i mikrokontrolerze ATmega 128 albo którymś firmy MAXIM (można zamówić darmowe próbki). pozdrawiam norton9
Czy Ktoś z Was mógłby mi podać linki, gdzie znajdę praktyczne rozwiązania sposobu podłączenia zewnętrznej pamięci EEPROM do ATmega ? Potrzebuję nie tylko czytać, ale i pisać po tej pamięci. Ew. poszukuję innego rozwiązania nieulotnej pamięci dodatkowej do ATmega. W sieci udało mi się znaleźć jedynie sposoby podłączenia dodatkowego RAM. ------------...
Kolego a dlaczego nie korzystasz z wewnętrznej pamięci EEPROM?
Jest jeszcze jedna rzecz. Niewynika ona może bezpośrednio z postu, ale chodzi mi o dobór zewnętrznej pamięci. Faktycznie, lepszy będzie EEPROM. Pozdrawiam.
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...
Wszystko zależy od zastosowań. Jeśli operuje się na tekście faktycznie najlepiej chyba bo najszybciej zdefiniować minimalny zestaw znaków (+ np. zrezygnować z małych liter i znaków specjalnych) w pamięci programu. Tylko musi być na to miejsce. Przy ATMega32 możliwości są większe. Ja myślę na razie o lcd dla cyfr (+ stopień, przecinek, / i może jeszcze...
wiem, że nie posiada i trzeba makra, tak jak w przypadku tablicy w pamięci flash. I właśnie sądziłem, że będzie analogiczna możliwość odnośnie pamięci EEprom
Witam czy jest jakaś możliwość aby mikro kontroler potraktował zewnętrzną pamięci EEPROM (24cxx) jak swoją, to znaczy żeby potraktował ją jak rozszerzenie wewnętrznej, żeby normalnie można było nią programować razem z uc, tak jak robi się to z wewnętrzną pamięcią.
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...
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
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...
Właśnie zapisuje do pamięci poprzez eeprom_write_byte(&pamt1,t1) a odczytuje poprzez eeprom_read_byte(&pamt1). Dodałem sobie opóźnienie z timera, aby po 2 s od włączenia zasilania odczytywał wartości z pamięci, na wszelki wypadek gdyby było coś z zasilaniem, ale niczego to nie zmienia.
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?
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?
Ad.1 Odpowiedź ze strony producenta : DataFlash® is the world's number one selling serial interface flash family. Introduced in 1997, Atmel's Dataflash families (45 series and the recently introduced 26 series) are feature rich, low pin count, sequential access families ideal for program code, data storage, Serial EEPROM replacement, and the next...
Mam pytanie dotyczące pamięci EEPROM i mikrokontrolerów ATmega Projektuje maszynę, coś w rodzaju CNC tylko mam tam 4 silniki krokowe. I obecnie jestem na etapie sterownika. W skrócie wygląda to tak że Atmega pobiera sobie współrzędne XYZ punktu trasy, następnie obliczana jest ilość potrzebnych impulsów na silniki, następuje ruch i znowu program sięga...
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...
... Zapamiętanie najlepiej zrealizować "na baterii".Najlepiej dać zewnętrzną pamięć ram podtrzymaną baterią patykową, albo zasilić atmegę z baterii i usypiać po zaniku napięcia zasilania. Zapis za każdym razem do pamięci eeprom jest głupi, bo szybko ilość cykli jej się wyczerpie. ... Nie tak szybko gdy zapis będzie inicjowany komparatorem na przerwaniu....
Chyba najprościej przerobić bootloader. Po pierwsze dodając funkcjonalność zapisu do tego EEPROM. Po drugie, jako że prosty plik Hex ma przestrzeń adresową 64kB, natomiast ta Atmega nie ma tyle pamięci, to przypisać część niewykorzystanej przestrzeni "wirtualnie" do zewnętrznego EEPROM, aby bootloader "wiedział", że część danych ma tam wylądować. A...
Może nie traci - odczytaj EEPROM i porównaj. Prawdopodobnie przekłamanie dotyczy jednego bajtu EEPROM, tego na który aktualnie wskazuje rejestr adresowy EEPROM. Stąd też, ustaw wartość tego rejestru na nieużywaną komórkę pamięci EEPROM zawsze kiedy się do tej pamięci nie odwołujesz, możesz np. na 0 i pominąć tą komórkę pamięci przy zapisie (zapisywać...
Witaj. Gdzie musiałby mieścić się plik z tekstem? (raczej nie większy niż 1000 znaków) Jeśli nie ma potrzeby zmiany tego tekstu, to w pamięci EEPROM procesora (Atmega 328 ma 1kB EEPROM) albo w kodzie programu (na kod programu jest 32kB, więc też da się go tam schować). Można zrobić w tym czytnik kart SD? Można, są w sieci przykłady podłączenia, są nawet...
Zerknij sobie Dodano po 7 PS. Sam zacząłem dokładniej przeglądać listę obsługiwanych układów i są tam również uC z serii ATmega programowane przez ISP (SPI). Problemem było by pewnie podpięcie takiego programatora pod środowisko programistyczne, dlatego wygodniejszy jest programator dedykowany, bo wtedy nie ma potrzeby wykorzystywania dodatkowego narzędzia...
Czy w przypadku wykrywania zaniku zasilania układ powinien być wyposażony w bateryjkę, czy realizuje się to inaczej. Można użyć kondensatora... wystarczy podtrzymać działanie na czas potrzebny na zapisanie potrzebnych rzeczy w pamięci EEPROM. Polecam Ci tę stronę: http://mikrokontrolery.blogspot.com/
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...
MC1203/05/06 się nie nadają bo mogą włączyć urządzenie a " nie symulować" włączanie-wyłączania, które z góry musi być przypadkowe lub losowe. W EPROM to można zapisać czasy (raz-na stałe) ale nie można ich potem zmieniać np. czas HH:MM rozpoczęcia symulowania włączania-wyłączania. Tutaj trzeba użyć pamięci EEPROM. Całość można zrobić wykorzystując któryś...
Używając etykiet w .eseg nie zastanawiasz się nad fizycznymi adresami, robi to za ciebie kompilator. Tym niemniej aby operować na tych danych należy oczywiście użyć "okienka podawczo - odbiorczego" w EEDR, zgodnie z notą katalogową ( http://www.atmel.com/dyn/resources/prod_... ). Wszystko z .eseg ląduje w pliku .eep, którym możesz za...
Tak oczywiście ale człowiek chce czasem podejść do rozwiązania z innej strony. Czyli z d.... strony. Jak mam jakiś "doskonały" pomysł, to sobie myślę, że pewnie przede mną wiele mądrzejszych ludzi nad tym kombinowało i coś sensownego wykombinowała, wystarczy tylko poszukać jak to zrobili... A zrobili prosto i w miarę skutecznie - to się nazywa lockbity....
Co do drugiej uwagi wspomniana konstrukcja w funkcji eeprom_write() jest takowa, z mysla o tym, zebym mogl jej uzywac do zapisywania ciagow. Dzieki temu moge napisac eeprom_write(EEPROM1, adres, "tekst do wpisania < 32 liter"); Obawiam się, że to będzie działać prawidłowo tylko wtedy, gdy adres będzie podzielny przez 32. Poza tym,...
To czytałeś :: Przystępujemy do programowania karty. Sposoby programowania kart zmieniają się równie szybko, jak sam soft do tunerów, zresztą w głównej mierze to od softu w tunerze zależy jaką metodę wykorzystamy do zaprogramowania funki. Kilka miesięcy temu bardzo popularne były wsady typu 5in1 i multicam. W tej chwili najlepszym wsadem do funek wydaje...
przejrzałem ten dokument od atoma , podano tam że oba o-bufory mają być podobnych rozmiarów , to by w takim przypadku zmniejszało pojemność pamięci o połowę ale zużycie komórek było by mniej więcej równomierne. Natomiast w przypadku gdyby do zapisywania było nie jedna zmienna tylko powiedzmy n zmiennych (komórek pamięci) to status bufor mógłby być proporcjonalnie...
Jak zadeklarować wartość w wewnętrznej pamięci EEPROM Atmegi, żeby był dostęp do niej z różnych plików .c? Robię tak: unsigned char mem_eep EEMEM; ale mam dostęp do niej tylko w pliku w którym jest zadeklarowana, a jak wstawię do pliku nagłówkowego .h to podczas kompilacji powstaje błąd. Pytanie ciut nieprecyzyjne ;) Chcesz zadeklarować zmienną w pamięci...
Przecież nawet ATMega 8 ma pamięć EEPROM i Arduino ma bibliotekę do jego obsługi. https://randomnerdtutorials.com/arduino-...
Sprawdziłem dla pewności jeszcze raz, char pomoc Ponieważ Twoja funkcja void konwert2(char tekst nie dodaje znaku '\0' w tablicy tekst . Elementy Twojej tablicy to tekst i tekst (nie mylić z '\0'), a jaka będzie wartość komórki, która znajduje się za tablicą to czysty przypadek. Z kolei instrukcja LCD_WriteText(pomoc); będzie wyświetlać kolejne komórki...
O kilka MHz zawsze można spokojnie podkręcać każdy praktycznie procek AVR. Ja np bardzo często ATmega32 16MHz taktuję kwarcem 18,432MHz . Wyszło już wiele takich urządzeń i żadnych reklamacji ;) A co się będzie działo jak dasz więcej np 28MHz zamiast 20MHz to już sam zobaczysz. I nikt ci tu nie poda dokładnych opisów co się dzieje bo to tylko zabawa...
Bootloader startuje zawsze jako pierwszy, sprawdza status aplikacji i jeśli trzeba dokonuje aktualizacji (treść aplikacji jest w pamięci RAM programu bootloadera dla testów), następuje restart i aplikacja startuje. Po wywołaniu aktualizacji z poziomu aplikacji w taki sposób: [syntax=c] if(!(PINB&(1<<PINB5))){ eeprom_update_byte((uint8_t*)E2END,...
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...
return przydałby się na końcu. I zacznij stosować ISR() Matko boska! tadzik weź ty się ze 4 albo 6 razy zastanów jak coś podpowiesz - RETURN w procedurze obsługi przerwania w C ????? Chyba że ty piszesz swoje programy w Bascomie ze wstawkami w C albo odwrotnie. do autora - żadnego polecenia return w przerwaniu bo będziesz miał tylko jeszcze gorzej....
Pamięć w urządzeniu jest taka: http://obrazki.elektroda.pl/9017804600_1... Nie mam czym jej niestety zaprogramować bo jest równoległa (musi taka być bo urządzenie w którym siedzi obsługuje tylko takie) i z takimi cudami jest straszenie ciężko. Zauważyłem teraz jednak że atmega ma 1 kb pamięci eeprom a ta 8 kb. Więc z pomysłem o którym pisałem...
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...
Wiem że temat już ma już trochę czasu ale podepnę się widząc że pare osób go śledzi. Czy w tym ostatnim kodzie nie powinno być jeszcze 1wwrite &H48? bo kolejno mamy reset, skip rom, zapis do scratchpadu, bajt th, bajt tl, bajt ustawień, i brakuje funkcji kopiującej ze scratchpadu do pamięci nieulotnej EEPROM, chyba że się tutaj coś mylę.
Witam Jeśli wykonasz kasowanie pamięci flasch i eeprom to dalej nie chce działać autodetekcja?? Może jest w pamięci wpisana jakaś bzdurna wartość i program juz sobie z tym nie radzi... Pozdrawiam
Zapis nie musi zajmować dużo czasu, jeśli przed wywołaniem zapisu sprawdzisz, czy żaden inny zapis do EEPROM się nie odbywa. Jeśli nie, to wywołanie _write lub _update dla bajtu trwa chwilę, bo funkcja natychmiast wraca i nie czeka na koniec zapisu. Więc tu blokowanie przerwań będzie bezpieczne. Co innego w przypadku zapisu blokowego, ale przecież nie...
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.
lockbity uniemożliwiają odczyt i programowanie uP maja one za zadanie zabezpieczyć oprogramowanie przed nieautoryzowanym kopiowaniem (np. kupujesz jakieś urządzenie, kopiujesz elektronikę, zczytujesz program i wgrywasz do nowego urządzenia). Lockbity można usunąć tylko poprzez Chip Erease, czyli kasowanie pamięci Flash i Eeprom układu, czyli dokładnie...
Bufor strony to część interfejsu. Sama technologia pamieci EEPROM pozwala na swobodny zapis do dowolnej komórki, więc jeśli w ATMegach jest EEPROM to można zapisać dowolną komórkę, bez wymazywania całej strony. Wprowadzony bufor strony ma znaczenie (podejrzewam) tylko wydajnościowe. Jeśli zapisujesz coś do EEPROMu z wnętrza programu, to nie musisz najpierw...
http://obrazki.elektroda.pl/1399673500_1... Witam serdecznie wszystkich forumowiczów. Po raz pierwszy przedstawiam swoją konstrukcję na forum. Jestem początkujący w elektronice i mam świadomość, że nie udało mi się uniknąć wszystkich błędów, ale do rzeczy. Pomysł na wykonanie pH-metru zrodził mi się w głowie podczas wykonywania kolejnego...
A nie lepiej zapisać tylko dwie ostatnie cyfry roku ? Przecież to urządzenie nie przepracuje 74 lat. Zmieścimy się w jednej komórce pamięci. Można też zapisać niepełne 3 cyfry czyli 0-255 w efekcie mamy w jednej komórce pamięci możliwość zapisania roku od 2000 do 2255 to chyba wystarczy.
Po Twoim opisie wynika że zablokowałeś mikrokontroler , możliwości są trzy : - wyłączyłeś Reset - wyłączyłeś możliwość programowania przez ISP - zmieniłeś konfigurację oscylatora jedynie w trzecim przypadku istnieje możliwość próby "ożywienia " mikrokontrolera w pozostałych tylko programator równoległy tylko że nie można go używać kiedy procesor znajduje...
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...
Witam Jaką pamięć zewnętrzną zastosować dla mikrokontrolera (Atmega8 lub Atmega 644)? wymagania mam takie: - szybki zapis - 1 bajt co 10 us (100kHz) lub 1000 bajtów co 10 ms - pojemność minimum 16kB im więcej tym lepiej - rozsądna cena -pamięć może być ulotna co wybrac? -EEProm (chyba zbyt powolny) -FRam -flash -sd/mmc -zewnętrzny SRAM (jak sie podłącza...
Pewnie, że może w dokumentacji procka powinna być podana ilość cykli programowania, Dla AtMega 128 wynosi 1000 cykli zapisu dla pamięci FLASH i 100,000 cykli zapisu dla EEPROM. Pozdrawaim
Dzięki za odpowiedź, DataFlashe Atmela by mi pasowały, mam tylko pytanie o ich kompatybilność z Atmega zasilaną napięciem 5V. Pamięci te zasilane są 2.7V czy można by je bezpośrednio do portów podpiąć?
Faktycznie dziwny sposób, nawet nie sprawdzałeś jakiego rodzaju były błędy w przypadku niedziałających kart. Używam dwóch kart. W przypadku pierwszej - 16MB (Panasonic, z jakiegoś aparatu), przechodzi poprawnie funkcję DriveInit z biblioteki MMC.lib, widać to bo daje w odpowiedzi 0, a jak wyciągnę kartę to zgłasza błąd 225 (brak odpowiedzi po Reset)....
Cześć. Nie rozumiem pewnej sprawy, proszę o podpowiedź. Do EEPROM zaszytego w procek (np. Atmega 16) można zapisać 100 000 razy. Oznacza to zapis do konkretnej komórki pamięci, czy w ogóle do EEPROMU danego procka? Co w przypadku znaczenego przekroczenia ilości zapisów - procek przestanie zapisywać czy przestanie działać całkiem (czy EEPROM ma wpływ...
To nie jest mały hint. To jest chyba to o co mi chodziło. Skorzystam z pomocy jakiej mi tu koledzy udzieliliście i zobaczymy co z tego urodzę. Podejrzewam że mogę mieć problemy jakieś z określeniem pola dotykowego przycisków jakiem mam w planie zrobić na ekranie wyświetlacza ale mogę się mylić. jeszcze jedna sprawa. Owe rysunki(grafiki) wyświetlane...
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 Próbuje zaprojektować układ (jak narazie w teorii) który miałby za zadanie udawać pilota zdalnego sterowania. Układ byłby wyposażony w układ odbiorczy IR np TSOP4836 i miałby działać mniej więcej tak: 1) użytkownik wysyła do mojego układu kod swoim pilotem 2) zachowuje gdzieś w pamięci (atmega + eeprom) ten kod 3) potrafię go układem nadawczym...
No fakt... kurde... najprostsze rozwiązanie jak zwykle okazało się najtrudniejsze... kombinatorstwo jednak czasami niepopłaca... Dzięki za podpowiedź... zaraz będzie poprawka w oprogramowaniu :) Mam jeszcze pytanie kontrolne... 1 komórka pamięci EEPROM = 1 bajtowi tak? Jeżeli tak, to żeby zapisać uint_16 potrzebne mi są 2 komórki... Dobrze prawię?
Witaj, Nie obraź się, ale Twoje pytanie: Do tej pory w swoich projektach wykorzystywałem młodszych "braci" sześćdziesiątki czwórki: m8, m16, m32 . Jednak "nadejszla wekopomna chfyla"... Czas sięgnąć po coś z większą ilością pinów, pamięci programu, RAM, EEPROM. Póki co wybór mój padł na AtMegę 64 - nie twierdzę, że jest to wybór optymalny. jest nieco...
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, Mam krótkie, proste pytanie. Czy adresując pamięci atmela 24cXXX, piny A0,A1 podciągać przez rezystory do 5V, czy można bezpośrednio podłączyć do 5V? Dziękuję z góry za szybką odpowiedź.
W zasadzie odpowiedziałeś sobie sam, ATmega 8, czyli mikrokontroler z Arduino. ATmega 8 ma więcej niż potrzebujesz, bo przetwornik ADC 10-bit, I2C, SPI, wejścia i wyjścia cyfrowe. W zasadzie to taki rozsądny kompromis między ilością i ceną. Możesz też użyć ATmega 48, 88, 168, 328. Kolejne różnią się przede wszystkim pamięcią: 4 kB, 8 kB, 16 kB, 32 kB....
Nie da się tego zrobić za darmo. Musisz przeznaczyć we flashu lub EEPROM-ie najlepiej na końcu komórki pamięci określające odkąd co się znajduje. etykieta Teksty: ma zaczynać się od 100 komórki a etykieta Wspolrzedne: przykładowo od 250 komórki eepromu? Wprowadzasz te 2 wartości po sobie. Aby odczytać każdy napis ostatni jego znak odwracasz, czyli XOR-ujesz...
Witam napisałem program który będzie korzystał z wewnętrznej pamięci EEPROM do przechowywania wartości ustawień, ale interesuje mnie kwestia jak w winavr określić wartości domyślne z którymi ma być zaprogramowana pamięć EEPROM. Czyli np. komórka o adresie 1 wartość 0x20, druga komórka 0x30 itp.
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;...
znam kilka możliwości: 1.Pamięć SRAM z podtrzymaniem bateryjnym 2.Są też pamięci tzw. ZeroPowerRAM są to pamięci j/w tylko że fabrycznie ma wbudowaną bateryjkę (chyba coś koło MK48Z02 2kB) wadą jest znaczne rozbudowanie układu (adresowanie + dane) 3.Zastosowanie jakiegoś zegarka RTC... - z reguły takie układy mają kilka(naście) bajtów pamięci konfiguracji...
Jeśli chodzi o soft, to powstał szkielet programu. Na razie odmierza to czas, i powinno obsługiwać pilot RC5. W polach „A:” – powinien wyświetlić się adres pilota, „C:” – numer przycisku z pilota. W symulacji programowej poszło, ale na razie nie mogę przeprowadzić prób z braku modelu. Ale żeby stworzyć wersje BETA...
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ść...
Witam Końcówki A0,A1,A2 służa do ustalania adresu na szynie I2C - w Twoim przypadku pamięć zostaw na adresie 160,161 a w zegarze przełącz końcówke A0 do 5V i jego adres zmieni się na 162,163 - to wszystko. Wielkość pamięci nie ma tu znaczenia - możesz równie dobrze zastosować 24C16 jak 24C256. Podłączając koncówki adresowe pamięci tak by adres się nie...
Atmel w wielu dokumentacjach zwraca uwagę na możliwość przypadkowego zapisu /kasowania komórki pamięci eeprom z adresu 00 . Wniosek prosty nie używać ;)
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...
No to jak to jest, gdzie się zmieści? jak kupujesz telewizor, to nie dziwisz się, że karton jest większy od samego tv, prawda? Te 3KB, to dane w opakowaniu. Dotychczas ładowałem oddzielnie flash i eeprom (ustawienia programatora), czy to to błąd ? nie ma to znaczenia. Ważne, aby oba typy pamięci zostały wgrane. Czy jest jakaś metoda ODBLOKOWANIE fusebyte...
Witam i dziękuję za włączenie się do tematu. Ciągle ten sam problem.Zawsze zapomnę o niektórych detalach. Uczę się programować w C i używam Eclipse. Skłamię, jeśli powiem, że nigdy nie walczyłem z eeprom. Jakiś czas temu bawiłem się wyświetlaczem i zapisem znaków do eeprom i odczyt. Przy starcie programu (włączeniu zasilania) program wczytywał zawartość...
Zapisy o ktorym piszesz odbywaja sie do pamieci EEPROM, a nie FLASH. FLASH mozna zapisywac tylko z sekcji bootloadera za pomoca secjalnego ciagu instrukcji, no i zapis odbywa sie po stronie. Czyli na raz w zaleznosci od kontrolera zapisujesz 16-64 bajty. EEPROM ma trwalosc 100k zapisow, potem moga sie dziac cuda (zamiast 0 bedziesz na odpowiednim bicie...
https://obrazki.elektroda.pl/2220939900_... Mikrokontrolery AVR cieszą się niezmienną popularnością, ze względu na swoją prostotę, a jednocześnie spore możliwości. Co ciekawe, mimo, że od lat wszyscy wieszczą rychłą śmierć mikrokontrolerów 8-bitowych, mają się one ciągle dobrze, a kolejne, nowe rodziny są wprowadzane na rynek. Jakiś...
znaczy się że jak nominalnie ma 400 i godzinę się kręci 400 to masz zliczyć 1 'jeden' a jak godzinę się kręci z obrotami 200, to masz zliczyć 0,5? pół motorogodziny? Jeśli tak to musisz mierzyć czas między kolejnymi impulsami i potem to uśrednić, tyle że ci ramu nie starczy, więc musisz uśredniać na bieżąco. Zanik zasilania zgodnie z radą kolegi, masz...
A czy możecie mi podpowiedzieć jak wykonać opcję uruchamiania bootloadera za pomocą markera w eepromie? Chciałem zrobić wg książki tmf'a ale czegoś nie rozumiem. Bootloader szuka w ostatniej komórce pamięci eeprom wartości APP_OK [syntax=c]uint8_t app_status= eeprom_read_byte((uint8_t*)E2END);[/synt... jeśli tam taka jest to znaczy, że program jest...
Ano prosto - wystarczy stworzyć nową sekcję pamięci i zamiast eemem podać nazwę sekcji. Wtedy te dane tam trafią. Potem przez objcopy zamienić dane z formatu elf na np. hex, czy co tam potrzebujesz i masz gotowy plik do zaprogramowania zewnętrznego eeprom.
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...
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 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, zastanawiam się nad interpretacją noty katalogowej atmegi dotyczącej gwarantowanej liczby zapisów do epromu czyli 100 000 zapisów. Czy dotyczy to jednej komórki pamięci np.0x30 czy całego obszaru? Chodzi mi o to czy zapisując do tej komórki (0x30) gwarantowaną liczbę cykli straci się gwarantowany zapis do pozostałych obszarów eepromu?
Drogi kolego. Zadałeś pytanie : czy mój program można przenieść z Atmega8 na Atmega48, prawda ? Otrzymałeś jedyną odpowiedź jaką w takim przypadku mogłeś otrzymać! Nie zamieściłeś kodu... Nie napisałeś czy program używa UART-u, a może 2-ch... Nie napisałeś ile program potrzebuje pamięci na operacje... Nie napisałeś nawet co program robi. Jeżeli twój...
Witam! Próbuję poradzić sobie z zapisem i odczytem zmiennej z EEPROM'u. Gdy po zapisaniu do pamięci zmiennej resetuję procka przy użyciu programatora to jest ona prawidłowo odczytywana. Gdy natomiast odłączę zasilanie to niestety procek odczytuje mi inną wartość. Ta źle odczytana wartość równa jest '1' czyli takiej wartości jaką wpisuję do EEpromu w...
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,...
odczyt pamięci eeprom atmega eeprom atmega atmega eeprom
mulczowanie trawy czujnik przepływ arduino blokuje dekoder
siemens sl45i oświetlenie parkingu
Niedziałające światła awaryjne - diagnostyka i naprawa Jak uszczelnić palnik w kuchence elektrycznej?