Tak naprawdę tylko zmiana bitu z 1 na 0 jest objęta limitem, czyli zatkanie komórki. Zmiana z 0 na 1 nie obniża żywotności. W szczególnych przypadkach danych następujące kolejne 8 operacji ustawienia 1 na różnych bitach nie ma wpływu na żywotność EEPROM'a jeżeli się je oczywiście mądrze zrobi.
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...
Nie wiąże się ;)
Jeśli symulator zapisał pierwszą komórkę powinien zapisać kolejne , ciężko to zobaczyć przy pracy krokowej bo zapis eeprom trwa od 3,4ms do 8,5ms w rzeczywistości ale w symulatorze należy to odnieść do ilości cykli mikrokontrolera . Biorąc pod uwagę że symulator programowy możliwie wiernie naśladuje mikrokontroler możliwość zapisu kolejnej komórki wystąpi...
mozliwe !! tez mialem cos podobnego problem zalatwil dopiero uklad resetu ds1813. gdyz podczas gdy napiecie zasilania spada ponizej minimalnego procek "idzie w krzaki" i dokonuje niekontrolowanych wpisow do eeprom.
a spróbuj, czy puści tak: EECR=(1<<EEMWE); EECR=((1<<EEMWE)|(... a tak na marginesie, czemu 2x inkrementujesz WriteAddress ??
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...
Raczej tak. [syntax=c]uint8_t eeSEast EEMEM = 00; uint8_t s; eeprom_write_byte(&eeSEast, s); // zapis do eepromu s = eeprom_read_byte(&eeSEast); // odczyt z eepromu [/syntax]
Bascom sam się nie zajmie resetowaniem Watchdog'a, jak słusznie zauważył Holy . Żeby z niego skorzystać najpierw trzeba go skonfigurować (ustawić stopień podziału - od tego zależy czas potrzebny na przepełnienie jego licznika) poleceniem CONFIG WATCHDOG = czas , później uruchomić: Start Watchdog . Teraz w newralgicznych punktach programu musi zostać...
wlacz datasheeta i poszukaj w nim slowka EESAVE 4\/3!!
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
Właśnie, jeśli do DIP to możesz mi tez podrzucić taki egzemplarz. Wrzucę go w wolnej chwili na fabryczny Atmel'owski HVPP, JTAG i ISP, a jakby co jeszcze można poszperać analizatorkiem.
W funkcji eeprom_read po drugim I2C_start musisz wysłać jeszcze raz adres układu, tym razem adres do odczytu z wyzerowanym najmłodszym bitem. Marek
Dołączam gotowy projekt komunikacji avr z zew. pamięcią eeprom. Mam nadzieję że umiejętnie go wykorzystasz.
Też miałem taką sytuację, że przy skokach napięcia z zasilacza (szybkie włączanie, wyłączanie) pojawiały się "krzaki" w pamięci eeprom.
Często się zdarza ponieważ, że dane z początkowych ok. 100 adresów są błędnie zpisywane/odczytywane. Pierwsze słyszę :| O "kłopotach" z komórką 0 - coś mi sie o oczy obiło , ale że 100 :?: To w "małych" atmelkach , gdzie jest tylko 64 B eepromu , byłby on bezużuteczny :( Oprócz tego kod wygląda OK, jak w dokumentacji :-) No prawie ;) Dokumentacja Atmela...
A spróbuj wyjąć wyświetlacz z układu, po 1min ponownie wsadzić i zrobić reset. Albo wyłączyć zasilanie na jakiś czas. Co prawda robisz Clear() ale może po tym Clear() poczekaj i zobacz czy wyświetlacz jest pusty. To polecenie Clear() zajmuje zwykle 2ms- często właśnie zamiast tego wpisuje się łańcuch z samych spacji żeby wykasować cały napis a potem...
Przy kompilacji jeśli próbuję skorzystać z eeprom_update_block() kompilator wywala undefined reference to `__eeupd_block_m16' niestety google nic o tym nie mówi, oczywiście biblioteka avr/eeprom.h jest załączona do źródeł. Częściowy kod programu: [syntax=c] struct time { uint8_t h; uint8_t m; uint8_t s; }; struct time closetime EEMEM={0, 0, 0}; struct...
Witam. Jak programuję atmegę16 to tracę dane eeprom, czy to jest normalne ?
A ja napisałem takie, może się przydadzą. Co prawda są na ATmegę8, ale 16 chyba się nie różni. void EEPROM_write(unsigned int address, unsigned char data) { EEDR = data; EEARH = (unsigned char) (address >> 8); EEARL = (unsigned char) address; if ( SREG & 0x80) { cli(); EECR |= (1...
Też miałem o tym napisać ale dałem sobie spokój bo to nie na temat. U mnie często wychodzi około 1M cykli zapisu. Dodano po 1 Możesz zapisywać dane w kodzie Gray'a. Często kilkakrotnie zwiększa to maksymalną ilość zapisów bo każdy bit w bajcie jest zmieniany mniej więcej tak samo często. Ale oczywiście zależy to też jeszcze od charakteru zmian zapisywanych...
jedyny minus bootladera nie mozna zmieniac fusebitow. (wie ktos czy mozna przez bootloadera zapisywac eeprom?)
W 21 linii pliku makefile usuń słowo "eeprom", czyli: zamiast: all: $(PRG).elf lst text eeprom ma być: all: $(PRG).elf lst text
Przecież dostałeś ode mnie opis nagłówka eeprom.h oraz dwa przykłady w tym jeden dokładnie taki jak potrzebujesz: Funkcje obsługi eeprom z nagłówka <avr/eeprom.h>: http://www.nongnu.org/avr-libc/user-manu... Tutaj jest dokładnie taki przykład jak potrzebujesz - po włączeniu odczytuje zapisane w eeprom parametry: http://mikrokontrolery.blogspo...k-podci...
Tu jest oryginalny program do eepromu. Podstawiłem do swoiego i zapis działa. Chciałbym w drugą stronę odczytać i wyświetlić. Robię sterownik temperatury. Po włączeniu zasilania ma odczytać z eepromu zadaną temperaturę. Porównać z mierzoną i sterować zaworem trójdrożnym. Jak już wspomniałem pomiar temp. działa poprawnie. Nie wiem co to jest: eeprom_busy_wait();...
Witam Nawet jeśli masz podłączony zewnętrzny kwarc to procek i tak z niego nie korzysta ( bo nie masz przestawionych fiuse bitów na zewnetrzny oscylator ) Spróbuj skasować procesor flasch i eeprom. Pozdrawiam
Hint : TwoWire, 2wire...
Zajrzyj pod poniższe linki: :arrow: [url=http://radzio.dxp.pl/eeprom/]EEPROM :arrow: [url=http://radzio.dxp.pl/twi/]TWI
proponuję zastosować zarówno przed każdym zapisem i odczytem jak i po zapisie/odczycie eepromu makro eeprom_busy_wait() które jest tym samym co while(eeprom_is_ready()==0)
Nie przejmuj się tym komunikatem. Po prostu w programie nie używałeś wewnętznej pamięci EEPROM (dyrektywa .eseg) i pusty plik EEP nie jest potrzebny.
Szukam gdzieś tablicy pl znaków, ale znaleźć nie mogę. sam zrob :P co do zapisu do eeprom tez mialem taki pomysl ale sie nie miesci do wew eeprom w atmega16 i 1 kod zajmuje mniej niz 8kb bo sie miesci do atmega8
Nie wiem czy przedmówcy o to chodziło ale program może zapisywać podczas pracy ciągle jakąś zmienna do eepromu i po jakimś czasie zwyczajnie eeprom kończy swoje życie.
8 znakow SN da sie bez problemu zapisac w 4 bajtach + 1 bajt na dodatkowa dane, czyli 5 bajtow na kazdy "rekord". I teraz: 500 * 5 = 2500 bajtow. Pamiec 24c32 ma pojemnosc 4096 bajtow a 24c64 - 8192 bajty co pozwala w Twoim przypadku zapisac ~1638 "rekordow" czyli az nadto. Pamieci te sa tanie i latwo dostepne. Zatem karta SD jest w tym przypadku raczej...
Druga sprawa. Skoro ma być reset np. BORF: flaga resetu przy obniżonym napięciu sieci, to czy można wcześniej zapisać do EEproma jakieś ważne dane? Zdecydowanie nie należy nic zapisywać do EEPROM przy obniżonym napięciu. Poza tym BOD nie wystawia żadnej flagi przerwania którą mógłbyś wykorzystać. On po prostu resetuje układ o ile jest włączony a następnie...
tak jak pisałem nie podłączyłem tych diód, nie zdawałem sobie sprawy z tego że trzeba podłączyć osobo (płyta w szkole musi mieć pewnie styki zlutowane już na stałe, stad w jakiś stopniu w ogóle nie myślałem że będę musiał to zrobić, ale dużo mnie to nauczyło, teraz wiem żeby użyć przycisku switch podłączam je na wejścia ATmega itd ) Może ktoś mi tylko...
Oj, niestety dalej tak mają choć faktycznie jest już nieco lepiej. Usunięty jest już błąd nadpisywania komórki zerowej, ale bez BOD'a dalej czasami EEPROM się krzaczy.
jakiego programatora uzywasz
Build started 6.4.2014 at 00:25:04 avr-gcc -mmcu=atmega16 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT Proba_10.o -MF dep/Proba_10.o.d -c ../Proba_10.c avr-gcc -mmcu=atmega16 -Wl,-Map=Proba_10.map Proba_10.o -o Proba_10.elf avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature...
nie pomogło
Witam. Mam pewne urządzenie w którym użyłem procka Atmega16 i pamięci eeprom M24256. urządzenie ma dostęp do netu. Chciałbym robić aktualizację programu w procku w następujący sposób: 1. pobranie programu z netu do pamięci eeprom. 2. wysłanie odpowiedniej komendy powodującej przejście do bootloadera. 3. załadowanie nowego oprogramowania i reset. Jak...
Tak, może się tak zdarzyć, przy niestabilnym zasilaniu. Dlatego zawsze włączaj BOD oraz zmieniaj zawartość rejestrów EEADR na adres nieużywanej komórki EEPROM.
Zobacz na jakim porcie masz ustawione hardwarowo SPI, podejrzewał ze na którys wyprowadzeniach portu B i i to jest powodem błedniej pracy wyświetlacza.Sam napisałem (własciwie to pisze bo ciągle coś zmieniam) podobny program tylko na 51 równeirz w BAscomei dodał bym tu jeszcze zapis na EEPROM aktualnej wartości wzmocniania zeby po wyłaczeniu zasilania...
Witam. część kodu z Bascoma (D zadeklarowane jako Word) Input "coś tam.. " , D Waitms 20 Writeeeprom D , 1 w procku "8535" bez problemów zapisuje daną liczbę. Po wymianie procesora na Atmega 16 lub 32, już nie zapisuje tej liczby (kompilator nie zgłasza żadnych uwag). "Po omacku" zauważyłem, że w w/w prockach działa dopiero po dodaniu jeszcze jednego...
Tak.Wszystko niby jest ok jeśli chodzi o rozpoznanie go.Fuse- i lock- bity też niby czyta. Przy czytaniu Flasha widze jakieś prawie kolejno uporządkowane wartości, to samo tyczy się EEPROM-a. Czytając note katalogową procka (http://pdf.alldatasheet.co.kr/datasheet... natknąłem się na jakieś +12V na RESET przy programowaniu...
gdyby nie to, że w kilku tematach potrzebuję 0.5-2kB SRAM Chodzi ci o EEPROM?
Nie da się zabezpieczyć procka przed skasowaniem. Fuse bitami można zabezpieczyć pamięć procka przed odczytem, ale skasowanie EEPROM-u powoduje wyczyszczenie fuse bitów.
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).
Dziękuję vania za odpowiedź za mnie. Ciebie elektro155 przepraszam, jakimś cudem ominąłem Twój post. A więc tak jak kolega vania napisał. Ja mam zamiar pokombinować z tym eepromem, tym bardziej po jednym z ostatnich postów. Będę próbował definiować własne znaki, ale muszę złożyć jakiś starszy komputer z portem LPT, żeby móc podłączyć programator WILLEM...
Dzięki mirekk36 W takim razie biorę się za Atmege32, chodzi mi tylko i wyłącznie o najprostszy serwerek HTTP do sterowania włącz/wyłącz i kontroli kilku wejść cyfrowych. Może to głupie pytanie ale co jest istotne przy wyborze kontrolera do takiej aplikacji? Atmega8 ma 8kB Fash, 512B EEPROM, 1kB RAM Atmega16 ma 16kB Flash, 512B EEPROM, 1kB RAM Atmega32...
No to powie m tak jest zasilany na 5v tyle dobrze. Ale jak to skonfigurować będzie ciężko. On został kupiony u chińczyków za parę groszy dokładnie taki. https://pl.aliexpress.com/item/Neo6m-NEO...
W nowszych Megach EEPROM ma własny timer niezależny od zegara systemowego. Pzdr. N.
Po co aż atmega16 do tego spokojnie jakiś ATtiny starczy. I ile Ty chesz tych ustawień zapisywać, że Ci wewnętrzny eeprom nie wystarczy? I co to za wentylator, że aż 14A mosfet potrzebny?
Tam nie ma EPROMA. ATMEGA16 ma wewn. pamięć EEPROM i FLASH. Każda pompa ma swój przekaźnik sterowany jednym tranzystorem z portu ATMEGI, diody LED są sterowane z oddzielnych portów (nie są powiązane elektrycznie ze sterowaniem przekaźników).
dzieki foxik :) program osiąga rozmiar ok 96% atmega16 dolozony został układ limitera ,w przypadku nastąpienia przesteru ,uC obniza poziom sygnału na wejsciu za pomocą PGa2310 :) uklad komend z rc5 mozna dowolnie konfigurowac ,zaleznie od potrzeb (na pcb zwora programowania ) dołozony został układ przełacznika na przekaznikach dla Trybu pracy brige/stereo/parallel...
Dodaje program. Eeprom raczej można skasować bo przy programowaniu wchodzi. Chyba?
RTFM! Ze strony: http://www.lancos.com/e2p/ponyprog2000.h... A special note for AVR devices. The AVR need a valid system clock to be programmed via SPI and the max frequency of the SPI bus depends on this system clock. So if you changed the fuse (even accidentally) to use low clocks like 1MHz or 32.768KHz you must change the SPIBusSpeed=VERYSLOW...
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...
Witam, Nie miałem okazji przedtem pobawić się EEPromem zawartym w Atmega16, aż do dzisiaj. Pogrzebałem po necie i napisałem taki oto programik: [syntax=c] #include <avr/eeprom.h> #define ASRES1 1 #define ADRES2 5 #define ADRES3 10 uint8_t zmienna1, zmienna2, zmienna3; int main(void) { zmienna1= eeprom_read_byte ((uint8_t*)ADRES1); //czytanie z...
Czesc Proboje zrealizowac trasmisje miedzy Atmega16 a EEPROM at24C04, mam kilka watpliwosci: a) jak ustawic porty SCL i SDA jezeli mam je zewnetrzenie podciagniete przez rezystory do VCC? Ja ustawilem DDRC=(0<<DDC0)|(0<<DDC1) oraz PORTC=(1<<PD0)|(1<<PD1) b) jezeli ostatni bit adresu harwarowego tego EEPROMa jest bitem A8 adresu...
cyfry w Photoshopie potem je pociąłem i wrzuciłem do flasha. atmega32 ma sporo pamięci i nie trzeba było kombinować z zewnętrzną pamięcią ani eepromem
Programuje poprzez ISP Flash i EEPROM i wszystko jest ok! Ale jak weryfikuję zawartość chwilę później to wyrzuca błąd EEPROM! Czy tak powinno być? Używam ATmega16A + STK200/300 + PonyProg2000.
Zbytnio mi ta odpowiedź nie pomogła... To chyba niezbyt dokładnie przeczytałeś(zrozumiałeś) dokumentację DS18B20 :cry: Przypatrz się tabelce i zobacz, gdzie znajduje się rejestr konfiguracyjny, w którym zapisane jest, z jaką rozdzielczością ma "pracować" nasz DS. http://obrazki.elektroda.net/29_12275171... Zakładając, że nie znamy wartości...
OK wszystko działa michalko12 na atmega32 ale nie z 16MHz a z 20MHz chociaż co jakiś czas coś zgubi ale wystarczy mi to co jest. emarcus twoją wstawkę też sprawdziłem ale niestety nie działa tak jak powinna, wstawka michalko12 działa i na razie mi to wystarczy do testów. Dziękuje wszystkim za pomoc a szczególnie michalko12. Dzięki, temat zamykam. Jak...
poczytaj sobie o strukturze wewnętrznej AVRków - jak są adresowane i jakie są możliwości dostępu czy to do pamięci EEPROM, RAM oraz FLASH - to dowiesz dlaczego nie można użyć zewnętrznego EPROMA o którym piszesz jako rodzaju zewnętrznej pamięci programu bo o to zapewne ci chodzi. To jest całkowicie bez sensu - jeśli potrzebujesz więcej pamięci programu...
1. uzywasz procka atmega162 czy atmega16? 2. Rozbij ta integer i wtedy zapisz ja w 2 bajtach. Sprawdz jaki wynik to mnie ciekawi.
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,...
Za długie pętle lub za krótkie tablice zmiennych.
Jak dla mnie EvB 4.3 v2 byłoby niemal idealne (ze względu na peryferia) gdyby nie to że RTC, EEPROM i inne są na "sztywno" podłączone do uC
nie mam włączonej żadnej optymalizacji (-00) REG->EECR |= 1<<EEMWE; REG->EECR |= 1<<EEWE; żeby zapis się wywołal to druga zmiana bitu musi odbyć się w ciągu 4 cykli zegarowych a tymczasem ten kod skompilowany bez optymalizacji daje w gcc coś takiego: [syntax=asm] 162:ac e3 ldir26, 0x3C; 60 164:b0 e0 ldir27, 0x00; 0 166:ec e3 ldir30,...
Nie odpowiada on jednak na pytanie: Full-swing czy Ext. Crystal Osc.? Aliści (jest takie słowo!) podejrzałem składnię polecenia generowanego przy wgrywaniu bootloadera i w nim lfuse=0b11110111 czyli 0xF7 zatem - Ext. Full-swingCrystal. Ustawienia fusebits są w pliku avrdude.conf dostarczanym wraz z MiniCore. Sekcja dla 328 wygląda następująco: [syntax=ini]#---------------------------...
wstawie tam te zewnętrzne źródełko 2,5v dam też wzmacniacz operacyjny LM358 2xWzm. albo LM348 4xWzm. Jasne ze mozesz tak zrobic, zawsze programowo mozesz przelaczac sie miedzy zewnetrznym a wewnetrznym. Takze wzmacniacz operacyjny moze sie przydac, choc programowo mozesz ustawic wzmocnienie wewnetrzne jako 1x, 10x, 200x co do wiekszosci ekperymentow...
Nie programowałem tylko eepromu ( ATMEGAL16L ) , gdyż nie posiadam do tego modelu wsadu. Jeśli ktoś posiada wsad, bardzo proszę o kontakt. Wsad eepromu nic Ci nie pomoże. Masz nieszczelność i ubytek czynnika chłodniczego.
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...
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...
31.07.2010 - AKTUALIZACJA #3 Wsad 2.04: -poprawiono kilka błędów -dodano obsługę nowych procesorów, łącznie 106 (138) -zmiana wewnętrznego zegara na 1MHz, baudrate UARTa to 2400bps UWAGA, FUSEBITY! Jeśli uaktualniasz wsad do 2.04, koniecznie zmień wartość wewnętrznego generatora na 1MHz. Jeśli wykonujesz układ od początku, jedyną rzeczą jaką musisz...
Witam Proszę nie mylić pamięci flash i EEPROM. Pamięć flash to pamięć programu i nie da się jej wykorzystać do przechowywania danych w taki sposób. Taka ilość zwykle wystarcza do tego by napisać i sprawdzić program w mikrokontrolerze. Jeśli chodzi o pamięć EEPROM to jej "żywotność" jest zwykle dużo większa i wynosi powiedzmy 100 000 cykli zapisu/odczytu...
No właśnie, stosowanie superdokładnych rezystorów jest bez znaczenia, jeśli nie zastosuje zewnętrznego napięcia referencyjnego. Z drugiej strony kalibrację można zrobić programowo i zapisać wynik w EEPROM przy pierwszym uruchomieniu. Wyjdzie taniej i prościej.
czyli zgrywać dane na eeprom a następnie podłączając pod zasugerowany konwerter i2c na USB sczytywać na komputer?? tak ?? Także problem tkwi w napisaniu sekwencji zapisu na eeprom i zbudowanie konwertera do sczytywania na komputer??
Posiadam schemat płytki AVR, autr twierdzi, że nie da się wykorzystać pamięci EEPROM (zapis i odczyt danych z mikrokontrolera ATMEGA16) z powodu złego podłączenia. Nie posiadam żadnego sprawdzonego programu, który miałby testować lub zademonstrować działanie EEPROM. Po usłyszeniu, że jest błąd, stwierdziłem, że nie ma po co poświęcać czasu na analizę...
W moim przypadku kompiluje się bez problemu. Build started 20.7.2012 at 21:45:22 avr-gcc -mmcu=atmega16 -Wall -gdwarf-2 -DF_CPU=1000000UL -Os -fsigned-char -MD -MP -MT LEDs.o -MF dep/LEDs.o.d -c ../LEDs.c avr-gcc -mmcu=atmega16 LEDs.o -o LCD.elf avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature LCD.elf LCD.hex AVR Memory Usage ----------------...
W tym przypadku bit zaprogramowany zawsze jest równy zero, gdyż po skasowaniu bit pamięci FLASH ma wartość 1. Natomiast prościej zainwestować w programator, który bezpośrednio wspiera AVR Studio (np. AVR ISP lub AVR ISP MkII) i ustawiać fusebity korzystając z opisów w AVR Studio. Praktycznie nie ma możliwości pomyłki i nie trzeba stosować zewnętrznych...
Witajcie elektrodowicze. Tym razem, celem artykułu będzie przedstawienie wam kolejnego taniutkiego i bardzo przydatnego programatora od naszych skośnookich braci. https://obrazki.elektroda.pl/5259236300_... Jest to, programator UBSASP, w wersji 2.0, przeznaczony to współpracy z produkowanymi przez Atmela układami AVR. Po zakupie otrzymujemy...
Czyli tak - dajesz Atmelka zależnie od potrzeb ATTiny2313, ATMega8 lub ATMega16 /8515/8535 itp...(portów hohohoho), do PC łączysz się przez: 1. SPI/USI<>LPT (wersja nie wymagająca dodatkowych elementów), PC pracuje jako MASTER, ATMEL jako SLAVE (ten układ składa się TYLKO z procesora, jakiegoś kondensatorka odsprzęgającego zasilanie) 2. UART<>RS232...
To go zamknij:) Na dole masz "kłódkę" zamykającą temat:) Cieszę się, że doszliśmy do porozumienia;) Sorry, jeśli poczułeś się urażony, ale przeważnie ludzie tutaj pisząc o bascomie nie mają pojęcia czym się różni EEPROM od SRAMu:)
Witam mam pytanie czy istnieje możliwośc przechowywania graficznych plików bascoma w pamieci nie eeprom ale jakiejs innej zewnetrznej..SRAM albo jakiejs Data Flash Chce zbudowac menu oparty na plikach graficznych natomiast pamiec eeprom niewystarcza. Jeśli istnieje proszę o jakis przykład w basconie AVR procesor ATMEGA16
Uhm, więc utworzę niektóre znienne we flash: char version_flash[] PROGMEM =__DATE__" "__TIME__"\0"; Zastanawia mnie tylko czy jak używałem uart_puts ("| by przemek(at)tu.org.pl |\r\n"); to czy ten napis był we flash czy sram - po podsumowaniu z avrstudio wydaje się, że w sram (po wykasowaniu zmniejszyła...
układ: http://obrazki.elektroda.pl/2189907500_1... Build started 10.5.2012 at 11:24:13 avr-gcc.exe -mmcu=atmega16 -Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT test.o -MF dep/test.o.d -c ../test.c avr-gcc.exe -mmcu=atmega16 -Wl,-Map=test.map test.o -o test.elf avr-objcopy...
Niby uniwersalny programator do eeprom i procesorów. Obsługuje : Atmel AVR 8-Bit Risk: AT90S1200, AT90S2313, AT90S2323, AT90S2333, AT90S2343, AT90S4433, AT90S4434, AT90S8515, AT90S8535, ATmega8, ATmega16, ATmega161, ATmega162, ATmega163, ATmega323, ATmega64, ATmega103, ATmega128, ATtiny12, ATtiny15, ATtiny2313, ATmega8515, ATmega8535 Mam do zaprogramowania...
Według mnie lepiej użyć jednak pamięci zewnętrznej, choć oczywiście można jej nie używać, ale gromadzenie przez tydzień wyników w pamięci danych, może spowodować to, że przy chwilowym zaniku zasilania stracisz wszystkie dane, a poza tym jest mało eleganckie (jeśli tak to można ująć). Najlepiej pod ATmegę podłączyć pamięć EEPROM na I2C albo SPI. Co do...
Witam Dzięki za odpowiedź. Tak też myślałem, że z tą izolacją DS-ów będzie ciężko. Atmega16 musi zostać ( założenie projektowe) nie będzie tylko robił pomiarów, ale także pewne sterowania na podstawie tego co zmierzy i obliczy. Tylko z założenia powinien mieć odizolowane obwody I/O. Samo sterowanie typu włącz/wyłącz to bez problemu odizoluje zwykłym...
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...
http://obrazki.elektroda.pl/1951024400_1... W itam wszystkich forumowiczów Elektrody! :sm9: M oją kolejną konstrukcją prezentowaną na forum w dziale DIY jest Rejestrator Temperatury . D ziałanie rejestratora polega na zapisywaniu do pamięci EEPROM co określony czas wartości temperatury pobranej z cyfrowego czujnika DS1820. W pamięci...
Witam, chciałbym wykorzystać pamięć EEPROM do zapisania jednej zmiennej. Ogólnie chodzi o to, że mam na płytce 5 diod LED i przycisk. Chciałbym aby po wciśnięciu zapały się kolejne diody, a po odłączeniu i ponownym podłączeniu zasilania powinny świecić się te same diody co przed odłączeniem. Stworzyłem sobie taki program ale nie działa. [syntax=c] #define...
Witam, problem kompilacji bootloadera powrócił - prosiłbym teraz o wersję 16MHz dla atmegi8, tą z możliwością programowania EEPROMu i LOCKBITów :) W załączniku Atmega8, 16Mhz,9600bps,eeprom,lockbit :wink:.
Wiem że można było wykorzystać Drown-Out Detector, dla atmega16:3,6V - 4,6V dla atmega16L(tak jak wyżej, lub...): 2,5 - 3,6V Zasilanie w moim układzie waha się między 4,5 a 5V, dlatego tez użyłem wersji"L", ale w najgorszym wypadku jeśli BOD zadziała przy napięciu 2,5V zapis do pamięci EEPROM się nie powiedzie.... Jak rozumiem masz BOD'a włączonego...
A po co ci te informacje? Bo one nie mają żadnego praktycznego zastosowania. Jeśli 20MHz to za mało to masz serię XMega do 32MHz. Jeśli to ciągle za mało to zmień rodzinę. Parametry z noty są określane tak, żeby założony odsetek układów pracował w podanych warunkach. To znaczy, że większość będzie pracować przy szybszym zegarze, a jak szybkim nie ma...
Niech Kolega nie wgrywa do eepromu flasha!! Dalej fusebity źle ustawione - za mały obszar na bootloader. Tu jest napisane jak ustawić fusebity: http://forum.and-tech.pl/viewtopic.php?t...
Sprawdziłem, zmiana deklaracji na static też rozwiązuje problem. Logi są jednak w każdym przypadku identyczne, oprócz generowanego kodu. Log Build started 25.12.2013 at 13:00:41 avr-gcc.exe -mmcu=atmega16 -Wall -gdwarf-2 -DF_CPU=8000000UL -Os -fsigned-char -MD -MP -MT main.o -MF dep/main.o.d -c ../main.c avr-gcc.exe -mmcu=atmega16 -Wl,-Map=gccdiv.map...
Tak, tylko że Ty patrzysz na wersję firmware 2.09 ja wgrywam V2.03 (płytki nie będę poprawiał do najnowszej 2H bo jak, pisałem pola są albo do poprawy , albo zmówię sobie). Natomiast dobrze mnie nakierowałeś bo dopiero w zaktualizowanej wersji w notatniku jest napisane. Firmware 2.03: -added support for HVPP chips: AT90s8515, AT90s8535, AT90s1200, AT90s4433,...
Różne zużycia prądu, różne zakresy napięć pracy, różne peryferia a nawet czasami inne pojemności FLASH, RAM, EEPROM. Na dodatek też różne dostawy z różnych okresów czasu.
atmega16 eeprom atmega16 zapis eeprom atmega16 ds1820
zacisk hamulcowy ręczny sygnał syrena przezwajanie generatora
czemu zalewa swiece czemu zalewa swiece
Słaba jakość sygnału MUX-2 - przyczyny i plany poprawy Wybór piły spalinowej do 400 zł: NAC, Hecht, Dedra