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.
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...
to może zainteresuj się jakimś uC z wbudowanym eepromem? np. atmega +fusbity blokujące odczyt eepromu przez programator
Masz podawane złe długości pól. Skoro odwołujesz się np. do pola okrążenia typu DANE_ZAWODNIKA to nie możesz robić sizeof(DANE_ZAWODNIKA) bo to nadpisze ci kolejne pola, powinno być sizeof ale pola okrążenia. Takich błędów masz więcej. Definicja: DANE_ZAWODNIKA numer_zawodnika_tab[sizeof(DANE_ZAWODNIK... też na oko jest bez sensu. Bo robisz tablicę...
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 ?
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/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...
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...
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...
Usunięcie lockbitów czyści całą pamięć. Flash i eprom.
Sprawa wygląda następująco: Mam Atmegę8, którą programuję w C (avr-libc). Zapisuję 20 bajtów danych do pamięci eeprom za pomocą funkcji eeprom_write_byte pod określone adresy. Następnie, nie wyłączając zasilania, w dalszej części kodu odczytuję te dane przez eeprom_read_byte. Wyświetlam je, wszystko jest ok. Kolejno, wyłączam zasilanie, włączam ponownie,...
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...
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...
Wygląda na problem z zasilaniem, pamięć eeprom jest niestety dość czuła na tym punkcie. Próbowałeś włączyć Brown-out detection z ustawieniem na odpowiedni poziom napięcia?
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...
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...
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...
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...
Dam Ci jeszcze coś z czym sie możesz przespać (nie dosłownie) po prostu przemyśleć jak to obsłużyć :D hahahaha Podczas programowania procesora najczęściej pamięć Eeprom jest czyszczona i zapisywana wartościami &HFF dla każdej komórki. Wtedy kiedy dla każdej z ośmiu pozycji będziesz chciał wczytać zapamiętane wartości to wczyta dwa FFFF czyli 65535 Zadana...
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...
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,...
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, Próbuję napisać program do wymiany danych z zewnętrznym EEPROMem 24LC16B. Zapis raczej działa - w podobny sposób udanie komunikuję się z przetwornikiem PCF8591. Natomiast podczas odczytu pamięć zwraca mi wysłany przeze mnie ctrl_byte (adres na magistrali) w trybie Current Address Read, lub 0xFF w trybie Random Read. Kod: [syntax=C]void eeprom_read(...
Witam! Mam problem z zaprogramowaniem kości 24c32. Jest ona podłączona do atmegi8 do lini sda i scl. Pozostałe linie eepromu są: a0, a1, a2, wp, vss do masy i vcc do plusa. Atmega odczytuje tylko 255 więc komunikacja chyba jest ale oczywiście pamięć pusta, a gdy próbuje coś wpisać to to samo.. Przykładowy program: 'początek i2cstart i2cwbyte 160 'adres...
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("...
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...
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...
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...
Dataflash ma SPI z fmax 40MHz, a atmega przy kwarcu 16MHz może mieć SPI z fmax 8MHz więc odczyt danych 8-bitowych będziesz miał trochę poniżej 1MHz (co 512 bajtów trzeba wysyłać jeszcze rozkazy odczytu/zapisu strony chociaż jak dobrze pamiętam jest tryb continous read). A tak wogóle to czy Ty czasem nie potrzebujesz RAM? A i 32IO to trochę mało żeby...
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ś...
Witajcie, Zaczynam dopiero programować AVR-y w C i pozwólcie że zadam takie banalne pytanie: Jak zapisywać poszczególne bajty w pamięci. Nie chodzi mi tu o zapis z poziomu programu, tylko wklepanie pliku .hex do pamięci przy pomocy Pony Prog-a. Np coś takiego: Adres: dane: 00 0xA4 01 0x45 02 0x02 03 0xA4 ... i tak dalej do pewnego adresu. W...
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...
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! 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...
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ęć...
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.
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ć...
Oki pomylilem sie chodzilo mi o pin WP czyli write protect. Jest tez jeden problem otoz programem do zczytywania adresow magistrali odczytywal mi kilka adresow a nie jeden jak pin A2 wisial w powietrzu a po podpieciu go do plusa adres zmienial sie na jeden 168. Wczesniej zczytal mi adresy 160, 162, 164, 166, jednak adres 162 gryzlby sie z adresem PCF8583....
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...
Witam, mam taki problem podłączyłem sobie równolegle na I2C zegar czasu rzeczywistego PCF8583 oraz eeprom 24C16. eeprom ma adres pierwszej strony 160 dla zapisu, dla odczytu 161, kolejne strony to 162/163, 164/165 itd. - łącznie 8 stron pamięci. rtc ma też adres 160/161 ewentualnie 162/163. Początkowo nie zauważyłem, bo jeden adres miałem zapisany szestnastkowo...
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_...
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...
Witam serdecznie! Mam wielki problem z bascomem i magistralą i²c. Otóż kiedyś, gdy miałem bascoma 1.11.7.7 magistrala i²c działała bez problemów, teraz mam Bascoma 1.11.9.5 i nie mogę się skomunikować z żadnym układem i²c. Zegar i pamięć eeprom w ogóle nie odpowiadają, testowałem na 2 płytkach (jednej własnej konstrukcji, druga BASCOM...
Gdybym opisał program wszystko stałoby się oczywiste :D Użycie IF ELSE bez END IF zawsze warte jest omówienia bo potem nikt nie może się doliczyć END IF :D Chodzi o to że jeśli tylko jedna instrukcja jest od jakiegoś warunku zależna to można ją zapisać w jednej linii. Jeśli z powodu jakiegoś warunku musza juz być zmienione dwie zmienne lub wykonać się...
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]...
W obecnym układzie znajduje się EEPROM 24C64 (8kB). Cała pamięć jest bajt po bajcie odczytywana i na jej podstawie ustalane są wartości podawane cyklicznie do układów w sieci. Zapis konfiguracji odbywa się właściwie jednorazowo. W tej chwili cykl pracy systemu wynosi ok 3 sekund a w nowej wersji chciałbym go skrócić do max 0.5 - 1 sekundy. Chciałbym,...
Sądzę, że jest to bardzo bardzo duża ilość. W końcu procesor musi odczytywać pamięć wielką ilość razy podczas normalnej pracy i nie ma z tym problemów.
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...
Co ciekawe, błąd TWI pojawia się tylko przy zapisie do AT24c1024, co ciekawsze - po wystąpieniu błędu i zresetowaniu TWI w atmedze pamięć ta dalej trwa w "zawieszeniu", wystarczy jednak odczytać inny układ na magistrali (np. odczytać czas z PCF8583) i pamięć wraca do życia. Prawdopodobnie robi to warunek STOP.
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...
...Czy moje rozumowanie jest poprawne? Nie do końca. Jeżeli piny A1=A2=0, to pamięć ta przy zapisie, będzie "widziana" pod adresami 0xA0 i/lub 0xA2.
Wiem wiem, pamięć wewnętrzna - ogólnie chodzi tu o naukę. W docelowym układzie będzie zewnętrzna, choć zapisy będą realizowane 1 dziennie. a swoja drogą jaka jest żywotność eepromu wewnętrzengo? Co do kodu, posiedziałem i pogłówkowalem i powstało coś takiego. oczywiście to przykład który teoretycznie można rozbudować do spokojnie 8-10 WY '8 MHz/256/31250...
Jakoś udało mi się zmusić do działania eeprom_write_word, po zczytaniu .eep dostaję wpisaną przez program liczbę w kolejności little endian, czyli to się zgadza, ale już z odczytem nie jest tak fajnie, daję: [syntax=c]cykle_w=eeprom_read_word(0xaa)... Potem przy pomocy itoa wysyłam zmienną int cykle_w na LCD, wpisana wartość testowa: [syntax=c]eeprom_write_word(0xaa,...
bo niszczysz pamięć niepotrzebnie. Rozwiązanie jest prostsze niż myślisz, zwłaszcza gdy - jak mówisz wartość zmiennej to max 48. Zrób funkcję do odczytu tych zmiennych: uint8_t eeprom_get_var(...) { uint8_t var; var = eeprom_read_byte(...); if(var > 48) var = 0; return var; } I problem nie istnieje. 4\/3!!
Witam. Od pewnego czasu zacząłem się bawić w programowanie eepromu w atmedze i już napotkałem kilka nieprzyjemnych doświadczeń. Zacznę może od zapisywania pamięci eeprom. Mam kilka pytań z tym związanych, więc je ponumeruje :). 1. Jak to jest zapisałem do eepromu jakiś znak, potem go odczytałem. Żeby sprawdzić, czy wszystko gra wyświetliłem go na LCD....
Bardzo dziękuje za informację. ...... A gdzie może tkwić problem, że po dołączeniu zasilania od procesora ta pamięć jest zerowana. Prawdopodobnie ta 'pamiec' nie zostala faktycznie wpisana do okreslonej lokacji, zatem wiec odczyt jej jest "oryginalnie" zerowy. e marcus
Witam mam program obsługujący pamięć AT24C64D, nie udało mi się zrobić to sprzętowo więc trzeba było programowo. Udało się wysłać do pamięci jeden bajt i odczytać na wyświetlaczu wszystko wygląda tak jak powinno. Teraz chcę utworzyć funkcję Zapisu i odczytu: void EEPROM_zapis(unsigned char adres, unsigned char dane) unsigned char EEPROM_odczyt(unsigned...
Ciekawe rozwiazanie ale liczy sie w mojej pracy miejsce. Zrobie chyba jednego eeproma (dostep prosty - malo roboty) i polacze z kompem przez ft232 na czas zgrywania danych. Kiedys podlaczylem mmc i zapisywalem dane i odczytywalem ale juz fata nie mielem sily robic :)
Pod warunkiem że nie ustawiłeś lock bitów możesz wykonać polecenie: avrdude-p m8 -c stk500v2 -P avrdoper -u -U flash:r:read.hex:i -U eeprom:r:read.eep:i Będziesz mógł powielić urządzenie, ale o zmianach raczej zapomnij, no chyba że jesteś hardcorem :D Pozdrawiam
Pamięć jest nieulotna, czyli informacja nie zniknie po wyłączeniu zasilania. Natomiast pamięć ta jest zapisywana i odczytywana z poziomu programu, (program pisze i czyta) natomiast dane do zapisu możesz przesłac po RS-ie ale te dane odbierze program i dopiero on może je zapisać lub odczytać i wysłać.
Pamięć 24C daje sięprogramowac bez problemu w ukłądzie, tylko pamiętaj że lutując ustawiasz jej adres {sprawdź w nocie katalogowej nóżki A0, A1 , A2.!} Co do gadania do mikroprocka daj sobie na razie spokój z wysyłaniem znaków . Poszukaj w domu pilota z kodem RC5 najlepiej jakiegoś Philipsa lub LG. I napisz program, który po naciśnięciu wybranego klawisza...
5. Jeśli chodzi o mikrostyki. Czy jeśli zastosuje taki układ jak na poniższym rysunku to będzie ok? Trzyma on wejście w stanie wysokim a po wciśnięciu przycisku generowany jest impuls (chwilowe przejście do stanu niskiego i powrót do wysokiego). Zastanawiam się tylko czy zdążę po otrzymaniu informacji o wystąpieniu przerwania (przejście ze stanu wysokiego...
Nie mam jtaga. Ale zrobiłem pewny eksperyment: Stworzyłem zmienna statyczną od "liczby zapisów" (potem te zmienna mogę odczytać). Jeśli "paluchem" zewrę układ R20, vcc_det,vcc i gnd(czyli to co opisywałem wcześniej-zapis wtedy działa) to za każdym razem następuje 2 krotny zapis zmiennych, licznik pętli zapisu zwiększa się o 2, jest to pewnie wynikiem...
Witam Chciałbym zapisywać liczby z zakresu 200 - 400 w pamięci EEPROM 24C02. Mam zestaw EVB4.3 i tam pamięć ma nogi A1, A2 do +5V, A0 do GND. Na początek chciałem ustalić, czy dobrze obliczyłem adres - korzystając z Datasheet'a - strona 11 1 0 1 0 A2 A1 A0 R/W R/W R- 0, W -1 1 0 1 0 1 1 0 0 odczyt 172 1 0 1 0 1 1 0 1 zapis 173 Czy organizacja pamięci...
No właśnie tak jak poznałeś :) Nie ma innej możliwości. Zabezpieczenie działa także pod kątem odczytu lockbitów, czyli nie da się odczytać nawet ich. Aby je skasować (lockbity) należy wykonać chep erase, co jednocześnie kasuje pamięć FLASH: Lock Bits ... can be cleared by a chip erase command only. ... The Chip Erase will erase the Flash and EEPROM(1)...
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 Przy dostępnych obecnie pamięciach...
Dawno nie programowałem, i z tego co pamietałem jeszcze z C++ nie miało to znaczenia w którym miejscu znajdowały się funkcje. Pamięć płata nam różne figle. W reklamach polecają ginkofar. Albert
Witam!... Piszę ten post, ponieważ nie mogę poradzić sobie z (prostym pewnie da Was) problemem zapisu i odczytu plików graficznych *.bmp lub *.bgc do i z zewnętrznej pamięci EEPROM, np. 24LC256... Chce zapisać w niej kilkanaście obrazków np. 132x100 pikseli (wystarczą 256 kolorowe), potem odczytywać i wyświetlać na LCD... Odczyt/ zapis z pamięci Flash...
Pod tym względem Bascom 8051 i AVR nie różni się wogóle, poza tym w helpie do bascoma AVR jest przykład jak zapisywać i odczytywać akurat 24C04, a skoro masz ten kurs to masz tam wszystko ładnie objaśnione, już dalej pod nos się podsunąć nie da...
http://obrazki.elektroda.pl/9589280700_1... HPS 2014 Hybrydowy laboratoryjny zasilacz sieciowy. Parametry użytkowe zasilacza w skrócie: 1. Wykorzystanie tanich i łatwo dostępnych elementów. 2. Wydajność prądowa min 3A (dla niskich napięć może dochodzić do 5A). 3. Rozdzielczość DAC 12bit. (filtrowany PWM 4.9kHz) 4. Rozdzielczość ADC...
Witam, Staram się napisać własny bootloader który ma odczytywać plik z karty SD. Ale nie mogę uporać się z problemem, jak wrzucić bootloader pod odpowiedni adres w pamięci. Na elektrodzie znalazłem że w AVRStudio (4.X) robi się to przez Project->Configuration Options-> Memory Setings i tam wpisuje: Memory Type: FLASH Name: .bootloader...
Witam. Posiadam tylko programator USBasp przez który nie mogę odczytać tokenu karty RFID. Pomyślałem więc, że zapiszę ten token do pamięci EEPROM, a potem odczytam tą pamięć przez programator. Problem w tym, że coś mi nie wychodzi.. Kod który odczytuje token rfid przyłożonej do czytkina karty i zapisuje pod zmienną: :20000000000000000300000000000000000...
Szesnastkowo FF, lub - jeśli wolisz 0xFF Pamięć EEPROM jeśli jest pusta zawiera właśnie taką wartość. FFh to takie przyzwyczajenie - przepraszam, jeśli wprowadziłem w błąd...
Witam. Problem mój polega na tym, że potrzebuję pewne dane umieścić w pamięci eeprom atmegi32. Do tej pory robiłem to w programi głownym za pomocą instrukcji : while(eeprom_is_ready()==0); eeprom_write_block((uint8_t*)text1,(uint... Pozwalało to na prawidłowy odczyt.Problem jest jednak że te dane dalej zajmują miejsce a chciałbym je na stałe...
Ja też dopiero zaczynam się uczyć programować pamięć eprom ale według mnie w tym kodzie jest błąd //odczyt z eeprom uprzednio zapisanej wartosci twistart(); twiwrite(0b10100000); twiwrite(2); twistart(); twiwrite(0b10100001); j = twiread(0); //O - NOACK twistop(); Tam gdzie masz podany adres pamięci...
Nie nie ma tam karty SD ;). Co do tego czy piszę kod niechlujnie, to może sam ocenisz. Co w programie się znajduje to: obsługa lcd (z bussy flag), 2 termometry ds18b20 na jednej linii z możliwością rozbudowy do znaczniejszych ilości ;), odczyt kodów RC5, zapis danych do wewnętrznego EEPROM'u, wchodzenie w stan uśpienia oraz dość rozbudowane menu, jak...
Jak mam pokazać, to jest już duży program (zajmuje prawie całą pamięć 32-tki) w całej swojej objętości zmienia te rejestry a w głównej pętli sprawdza kolejny rejestr czy nastąpiła w nim zmiana zmiana i jeśli tak to zapisuje do EEPROM-u. Pytałem o konkretny jego fragment. Skoro zajmuje Ci to 4s to znaczy, że masz błędny algorytm, bo nie sądzę, by był...
Witam, od 2 dni próbowałem zmusić do działania jedną napisanych przez siebie funkcji - odczyt danych z pliku tekstowego na nośniku SD/MMC sformatowanym w FAT32. Funkcja ma za zadania przypisanie do zmiennych wartości z pliku tekstowego. Do obsługi FAT32 wykorzystałem bibliotekę http://obrazki.elektroda.net/82_12517521... Tutaj status po kompilacji,...
Męczę się z tym już ponad tydzień i nie umiem sobie poradzić. Mam na płytce zaprogramowaną pamięć (są tam zapisane WAV'y) Flash EN29LV640T http://wstaw.org/m/2011/02/10/schemat_pn... #define F_CPU 4000000UL #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <avr/eeprom.h> int main(void)...
Witam. Dzisiaj chciałbym Wam zaprezentowć moją najnowsza aplikację - NAvr. Jest to już wersja 2.0a. Program NAvr® v.2.0a służy do graficznej obsługi znanego nam wszystkim programu avrdude. Obsługuje masę różnych procesorów oraz programatorów. Co można zrobić za pomocą tego programu? 1. Wgrać z dysku plik *.hex do pamięci flash 2. Ściągnąć na dysk...
No dobra - małe podsymowanie do czego doszliśmy z "Liściastym" (wielkie dzięki za pomoc i poświęcony czas!!!). Do programowania używaliśmy PonyProgVersion 2.02c Beta do ściągnięcia za strony http://www.LancOS.com, programowany procesor - Atmega16 umocowany w zestawie uruchomieniowym z Nowego Elektronika (programator STK200/STK300 - zestaw do montażu...
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
"opóźnienia związane z przetwarzaniem danych" chodziło mi o to że mikrokontroler zanim przygotuje te dane i je wyświetli minie trochę czasu. Ja w danej chwili nie potrzebuje idealnie dokładnego czasu, ale żeby po tygodniu nie rozjechał się o kilkanaście sekund, bo po roku będzie to opóźnienie kilku minut, a zamierzam zastosować dla PCF'a podtrzymanie...
Case`ów nie dotykaj. Napisz wszystkie a program określi które wyświetlić a które pominąc ;) Zapis tylko jednej zmiennej do Eeprom. Za to po przepisaniu z eeprom do SRAM możesz sprawdzać każdy bit z osobna. Na dodatek numer bitu może być zmienną czyli jeśli zmienna ma 16 bitów to drugą zmienną możesz określić o który bit Ci chodzi. Jeśli zmienna Menu...
Widze żę kolega chce wykorzystać dodatkową pamięć EEPROM, ale po co(może nie doczytałem i potrzebujesz więcej) skoro ATmega8 ma już wewnętrzny EEPROM 512B.W Bascomie wystarczy zadeklaować zmienną np tak: Dim X as ERAM Byte at 1 W jakim formacie odczytywane są dane z odbiornika GPS? Jakiś czas temu zabieralem się do zrobienia urządzonka zczytującego...
Witam. Przecież w wylistowanym programie masz zapis i odczyt pamięci EEprom. teedd
Próbowałem coś takiego i męczę się cały czas ,ale i tak mi wychodzą głupoty. :( [syntax=basic4gl]Sub Gettime() 'pobieranie czasu z PCF8583 'początek petli I2cstart 'inicjalizacja magistrali I2C I2cwbyte 166 'podanie adresu PCF8583 dla zapisu I2cwbyte 2 'wybranie drugiego rejestru (sekund) I2cstart 'powtórna inicjalizacja magistrali I2C I2cwbyte 167...
Dzięki wader_669 i emarcus , to mi wyjaśniło a właściwie skomplikowało rozwiązanie, dzielenie modulo 8 i reszta to nr bitu. czy możecie jesze podpowiedzieć , jak po każdym uruchomieniu w petli FOR/NEXT wpisać do eepromu 0 w bajty o adresie 1 (druga komórka pamięci) do 420?
W momencie zapisu (konkretniej w jednym jego kroku) trzeba wyłączyć przerwania, bo pamięć EEPROM wymaga ściśle określonej liczby cykli. Jest to opisane w datasheecie np. ATmega8. Nie wiem czy funkcje w Bascomie to realizują, ale można sobie napisać je samemu i to bez stosowania wstawek assemblerowych, Bascom umożliwia przecież operacje na rejestrach...
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.
musze stworzyć tablicę uint8_t 16KB, kiedy mam tylko 2KB pamięci { uint8_t tab[128] = {0,...,127}; uint8_t i=0; while(i<128){ if(zbocze_opadające){PORTC=... } } {//tutaj zmniejszam zasięg zmiennej uint8_t tab[128] = {0,...,127}; uint8_t i=0; while(i<128){...
Po pierwsze to zajrzyj do pdf'a odbiornika IR, bo na Twoim schemacie brakuje konda i rezystora przy podłączeniu TSOP'a. http://pdf1.alldatasheet.com/datasheet-p... Ma być w programie: Wygaszacz (godzina + temperatura), - Czasomierz najprościej na programowym RTC: str. 244 w książce Wiązni, zaś temperatura - str. 293. Wszystko...
Witam. Jestem raczkujący jeśli chodzi o technikę Mikrokontrolerów. Od miesiąca posiadam zestaw EVB 4.3 z kursem AND-Tech. Zrobiłem prymitywne urządzenie do sterowania lampy. Potrzebuję je wzbogacić o funkcję zliczania czasu przebiegu tej lampy ( po to by wiedzieć ile już świeciła). Lampa ma ograniczony czas żywotności więc funkcja jest pożyteczna (pozwoli...
A w jaki sposób sprawdzasz odczytane dane z eeprom? Miej na uwadze fusebit EESAVE. Bo domyślnie ten fusebit jest wyzerowany ( mam tu na myśli ATMEGA8), więc za każdym razem gdy wgrywasz program do mikrokontrolera pamięć EEPROM jest kasowana. Sprawdziłem Twój kod w symulatorze no i działa.
Napisałem program do obsługi TWI pod atmega8. SDA i SCL mam podciągnięte pod +5V przez rezystory 10kohm. Wydaje się, że jest wszystko dobrze jednak 2 dni nie mogę tego uruchomić. Niżej zamieszczam pełny program do obsługi TWI: rcall i2c_init rcall i2c_start ldi r16,eeprom_adres_zapis;adres eeprom rcall i2c_wyslij ldi r16,0 ;starszy adres pamięci rcall...
Mam sobie taką o to tablicę w epromie: P.S. Wiem, że pisze się uŻytkownik, ale chcę wiedzieć czy prowadzący przeglądają kody programów w raporcie:P
Witam, Mam do Szanownych Kolegów pytanie: Czy odczyt danych z pamięci EEPROM wpływa na jej trwałość (jeśli tak, to w jakim stopniu), czy też pamięć ta zużywa się tylko poprzez zapis i kasowanie? W datasheecie producent podaje tylko informacje odnośnie ilości gwarantowanych cykli zapisu i kasowania (chyba, że coś źle poczytałem), tak jakby odczyt nie...
http://obrazki.elektroda.pl/8151453000_1... Opis Urządzenie wykonane dla hodowcy papug z gatunku Lorysów. Projekt został zrealizowany już dosyć dawno bo w 2008r i był moim pierwszym poważnym projektem opartym na mikrokontrolerze. W skrócie; układ umożliwia trójstrefową klimatyzację oraz zaplanowanie oświetlenia na konkretne godziny.Sercem...
odczyt pamięć eeprom atmega odczyt eeprom odczyt eeprom atmega
pendrive transfer kolimator dioda laserowa podgrzewanie spryskiwacza
saeco granaroma mikrokomputer cobra1
Domyślny kod instalatora dla central DSC Podłączenie WLZ w puszce pomiarowej instalacji odgromowej