Witam Mam problem z obsługą wewnętrznej pamięci eeprom w WinAVR. Mam wersję z 2004 r. i niestety umieszczona tam biblioteka eeprom.h nie obsługuje mojego procka. Po przegladnieciu dokumentacji znalazlem funkcje eeprom_wtite i eeprom_read. Potrzebuje również funkcji zapisywania i odczytywania bloków eeprom_write_block i eeprom_read_block działających...
Znalazłem podobny temat , ale za bardzo nie mogę zrozumieć odpowiedzi (późna godzina może). Jaki adres ukłądu w końcu powinienem użyć? Poniżej daję kod, który nie działa (funkcja zwraca false). Prośba o spojrzenie, co robię źle. Z pamięciami eeprom pierwszy raz się spotykam. Od razu pytanie odnośnie adresowania pamięci - rozumiem, że adres to wskazanie...
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...
Problemz rejestrem adresowym i zapisem do EEPROM polega na tym, ze taka sytuacja moze wystapic przy wylaczaniu zasilania, szczegolnie kiedy nie masz ustawionego BOD. Empirycznie sprawdzilem to w ATMega8, czyli stosunkowo nowym procku. Ustawianie EEADR na nieuzywana komorke po prostu jest bezpieczne i zalecane przez Atmela. Co do zapisu to chyba standardowe...
Programowanie i odczyt eepromów działa na przejściówce usb-com ,ale bardzo wolno. Gorzej jest z picami, bo ten sam programator (też parę oporników i chyba 4 diody) na sprzętowym com śmiga aż miło a na przejściówce dochodzi do połowy i wywala błąd. W każdym razie eeprom odczytasz i zapiszesz.
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...
Tyle że ja chcę to zrobić programowo, bez użycia sprzętowego TWI.. Dodano po 16 Problem rozwiązany, wystarczyło dłużej poczekać na zapis do eepromu.. Zamieszczam poprawny kod, może komuś się przyda ;) #include <avr/io.h> #include <avr/interrupt.h> #include <inttypes.h> #include <stdio.h> #include <stdlib.h> #include <util/delay.h>...
Cześć, chciałem sobie podłączyć zewnętrzny eeprom do atmega8 przez interfejs TWI, napisałem procedury ale niestety nie działają i nie wiem w czym jest problem. Linie NC eepromu pozostawiłem bez połączenia, A1 i A0 zwarłem do masy, piny te służą do zaadresowania max 4 kostek eeprom na interfejsie TWI i tutaj dla pewności zapytam czy jeśli zwarłem je...
Procek usypia i od razu się budzi, a nie powinien... A nie masz włączonego WDT? A tak wogóle to po cóż go usypiasz do głębokiego uśpienia? Zrozumiałbym jeszcze gdybyś miał zrobiony na tym procku RTC, ale wtedy musiałbyś go usypiać do PowerSave. Takie coś najprościej zrobić na wewnętrznym komparatorze. Po otrzymaniu przerwania od komparatora natychmiast...
Problem jak w temacie, potrzebuję w eeprom zapisać kilka wartości, niestety nie mogę użyć większej liczby niż 255. Prubuję to zrobić przez: [syntax=c] eeprom_write_word(adres, zmienna_do_wpisania); zmienna=eeprom_read_word (adres); [/syntax] Nie działa, a skoro słowo to powinienem mieć 16 bitów na liczbę, niestety jest tylko 8 i nie umiem tego przeskoczyć....
Witam. Mam problem z układem i nie mogę sobie z tym poradzic. Mam prawie działający układ oparty na ATmega8-L, który ma zapisywac zmienną do pamięci EEPROM po wyłączeniu zasilania. Problem polega na tym, że układ działa tylko wtedy, gdy odłączy się tylko jeden z biegunów zasilacza (np sam plus). Gdy wyłączy się z prądu cały zasilacz, Atmega nie zapisuje...
Ok, czyli w moim przypadku, przy zapisie co minutę, muszę się liczyć żywotnością ok 1600 godzin. Kod ma za zadanie zliczać czas pracy urządzenia w godzinach z dokładnością 1 minuty. Jeżeli można jeszcze w tym temacie, to zerknijcie proszę na poniższy zapis. Coś merytorycznie musiało mi umknąć. Moduł podłączyłem na czas dokładnie 2 godziny i 3 sek. Po...
Mam pytanie co do programowania pamięci 24C64 przez procka Atmega8 i odczyt. Program do zapisywania jest nastepujący $crystal = 1000000 $regfile = "M8def.dat" Config Sda = Portc.4 Config Scl = Portc.5 Declare Sub Write_eeprom(adres As Byte , Value As Byte) Dim Adres As Byte , Value As Byte Dim R As Byte Restore Dane1 For R = 0 To 255 Read Value Call...
Witam, i sprawa wydaje się poważna. Otórz podpinałe mikrokontroler do programatora (mam taki prowizoryczny na LPT), i przez przypadek mogłem zewrzeć "+" i "-" razem (nie zauważyłem że miałem włączone zasilanie do procka). PonyProg mi go nie wykrywa (tego programu używam), nie wiem czy ten procek ma jakieś zabezpieczenie przeciwzwarciowe czy nie i czy...
Ja to robię tak: Odczyt zmiennej z komórki 3 EEPROM (trzeciego bajtu) do zmiennej T_ZAD: T_ZAD=eeprom_read_byte((unsigned char *) 3); Zapis zmiennej T_ZAD do 3 komórki EEPROM: eeprom_write_byte((unsigned char *) 3,T_ZAD) . Rzutowanie (unsigned char *) zrobiłem tylko dlatego, żeby kompilator (też używam avr-gcc w VMLab...
Witam państwa i znowu problem z eeprom(taki jak w tytule) nie mogę zapisać odczyt mi działa o to kod. Może znajdziecie jakiś błąd. A biblioteki to rklibavr #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include "lcd.h" #include "uart.h" #include "onewire.h" #define key_pin PINB #define...
Pozwolę sobie pociągnąć dalej... Wszystko było by łatwiejsze gdybym miał RS232 w laptopie - ale nie mam jak to laptop. Więc jestem zmuszony (chcę) wykorzystać do transmisji danych port USB. Tak jak kolega powiedzmy że będzie to woltomierz (niech będzie na razie woltomierz). Pozwolę sobie olać tutaj kwestię jak co z czym aby uzyskać wynik bo to już mam...
Witajcie, jestem dość początkujący jeśli chodzi o jakąkolwiek pracę na mikrokontrolerach i nie mam doświadczenia. Podłączyłem dziś swoją nową atmegę8 do programatora USBasp zgodnie z opisem i odpaliłem mkrAVR Calculator. Zgodnie z opisem instalowałem wcześniej sterowniki itp. Wykryło mi moją atmegę i wszystko wyglądało ok. Odpaliłem później eXtreme...
A google nie działa?. Twój problem jest problemem twoim i indywidualnym. Wybudzać procek możesz również Uartem. Na niewielka ilość danych to tak jak tmf powiedział fram lub nawet eeprom..
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...
Witam. Chciałem się pobawić eepromem i zaserwowałem sobie taką zabawę, że hej. Mam problem z odczytem. Najlepiej wkleję troszkę kodu. clr r16 ldi r16, (1 << TWPS0) out TWSR, r16 ldi r16, 12 out TWBR, R16 sbi PORTC, PC5 sbi PORTC, PC4 rcall twi_start rcall twi_set_write ldi TWI_REGISTER, 0x50 rcall twi_send_device_address ldi r17, 0x00...
1. 0x0f to 15 (ten pierwszy to hex a drugi to decymalny) No ja to wiem. Tylko pytam czy wpisanie ich do EEPROMU zajmuje tyle samo pamięci? I czy w ogóle hex (0x00) to też uint8_t czyli char ? 2. Jak to dlaczego? W czasie działania urządzenia zapisuje do EEPROMu kilka wartości, po wyłączeniu zasilania i ponownym włączeniu urządzenie pracuje z zaprogramowanymi...
Witam wszystkich, Mam układ, który po I2C zapisuje mi do pamięci 24c256 16 bajtów jeden po drugim. Robi tak co 3 minuty, procedura wygląda w ten sposób, że odczytuje adres zapisany w 4 i 5 komórce, zwiększa go o 1 po każdym zapisie a potem zapisuje do komórki 4 i 5." W komórce 1 i 2 zapisana jest ilość pozycji, pod koniec procedury zapiszdane wartość...
Witam Serdecznie Zlecę napisanie aplikacji na PC w Visual Basic Express lub Visual C# Express oraz części kodu na uC za pomocą, której chcę komunikować się (USB-UART naz układzie FTDI z sygnałem RTS) z Atmega8A i wysyłać wsad do zewnętrznej pamięci eeprom (np. 24C256, 24C512) na szynie I2C. Wsad do eeprom posiadam zapisany w standardzie Intel HEX lub...
Witam Mam problem z odczytem danych z 24C02. Program piszę w bascom, procesor to atmega8 taktowany wewnętrznie 1MHz. Zapisuję do eeproma zewnętrznego 3 zmienne Byte, są to liczby w zakresie 1-31; 1-12; 1-40. Wszystko ładnie się zapisuje do eeproma w menu. Po przejściu z pętli głównej do procedury nazwijmy ją "czytanie" za poierwszym razem pojawia się...
Witajcie. Napisałem programik zliczający energię w kWh. Super działa do czasu wyłaczenia z prądu - wtedy się resetuje i od nowa prawidłowo nalicza. Są wbudowane funkcje w eeprom.h które próbuję zmusić do działania i nic z tego nie wychodzi - ciągle kompilator wywala błędy. Zapisywanie do EEprom chcę zrobić funkcją eeprom_write_float ../main.c:387:5:...
Czy to jest nowy czujnik ? Zrób mu skanowanie SA w całym dostępnym zakresie adresów, przy którym otrzymasz prawidłowe wartości (inne niż 255 i 0). Może w EEPROM'ie ma zapisany inny adres.
Mam nadzieje, ze nikt sie nie obrazi ze odgrzewam starocie. Mam nadzieje, ze ktoś mnie poprawi jak źle rozumiem co tu jest: -kod wklejony tutaj jest dla trybu master i zadaniem jego jest wysylanie danych -dane pobierane sa z EEPROMu. -żeby sie nie zapętlał w i2c_gotowy wystarczy zmienić lds r16, TWCR na in r16,TWCR. Zgadza się? Da sie to teraz łatwo...
Witam. Zrobiłem sobie prosty układzik który reaguje na sygnał z modelarskiego odbiornika RC i w zależności od długości impulsu zapala diodę lub ją gasi. Układ jest programowany przyciskiem podłączonym między PD2 a masę. Wywołuje przerwanie które zapisuje czas trwania stanu wysokiego. Bez zapisu tego czasu do EEPROM można go wielokrotnie programować...
spoko... w sumie to jest to dobry pomysł... czy pomozesz mi w realizaci tego? zagadaj do mnie na gygy koło 22... proszę. Dodano po 4 mowisz o czyms takim? Dodano po 32 znalazlem jeszcze to.. wydaje mi sie ze jest to o czym mowisz... odczyt zapis... (wnioskuję po schemacie.. ) ale lookne wiczorkiem dokładnie... bo teraz spadam....
Witam piszę z prśbą o pomoc w realizacji programu do tranfmisji tekstu za pomocą UART (z pc) do Atmegi8 ktora wysle odebrany tekst do -> eepromu I2C (kazdy bajt w kolejnej komórce) Problem jest o tyle skomplikowany poniewaz tekst bedzie miał długość w porywach do 5 000 bajtów, a podobno na Uarcie występują zakłócenia. Podczas rozmowy z userem Jdsul...
Witam,dzieki za odpowiedź :) Leszku, substr4 to oczywiscie blad przy przepisywaniu. jesli chodzi o id_! i id_2, to probowalem porownywać je wlasnie w taki sposob, ale nie idzie...ale wtedy nie wywala warninga za to. pamieci przydzielonej dynamicznie nie zwalniam i jak widać jest kaszana.tylko jak rozumiem musialbym to zrobić poza funkcją substr? 1)...
Witam, mam do rozwiązania problem zapisu do pamięci pewnych danych a później wysłanie ich do innego urządzenia więc kilka pytań: 1. którą pamięć wykorzystać? wiem że EEPROM jest typem pamięci nieulotnej i w czasie idle (sleep) dane nadal są przechowywane ale wadą jest ograniczona żywotność. SRAM z tego co udało mi się przetłumaczyć nadaje się bardziej...
Odświeżam temat. Czy ktoś wykonał ten projekt? Ciekaw jestem jak działa ten traker. Aktualnie mam prawie oblutowaną płytkę oraz dwie nieobsadzone elementami, czyste PCB. Mam mały problem. Nie mogę skompilować HEX'a do EEPROM'a z zapisanym znakiem, ścieżką itp. Może ktoś kto już to robił pomoće? Z C to u mnie nie bardzo...
Jest tylko jedno ale ten program powyżej 512B programu jest płatny, a ja myślałem o czymś za free, poza tym ten bootloader można upchnąć w 238B (odczyt + zapis Flash), albo w 366B (odczyt i zapis FLASH, EEPROM + zapis LockBit'ów) lub wiele innych kombinacji (wybierane #define ... 0 (wyłączone) lub #define ... 0x.. (włączone). Chcący dopasować się do...
Witam! Mam problem z prawidłowym zapisem danych do pamięci 24c32. Poniższy program teoretycznie powinien zapisać dane w 9 kolejnych bajtach, adres jest zwiększany o 10. Ale tak nie jest. $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3...
Witam Mam nadzieje i liczę na waszą pomoc a nie tylko że to było gdzieś tam to sobie poszukaj,,, albo poczytaj tam --> a tu sam język angielski. Jak wiecie prawie wszystko można samemu zrobić i samemu do tego dość. Ale, no właśnie, ale to będzie długo trwało... Dlatego piszę tutaj zakładając nowy temat ponieważ szukając na elektroda.pl znalazłem strzępki...
Jest to Atmega8, zapewne lepiej ale sensowniej jest się czegoś nauczyć przy tym.
Witam Program to termostat który wyświetla dane na wyświetlaczach 7 segmentowych LED i problem polega na tym, że wyświetlacze zaczynają migotać gdy dołożę zapis ustawianej zmiennej do eeprom. Pętla główna [syntax=basic4gl]Do If F4ms = 1 Then Reset F4ms If Ust = 0 Then Wysw = T Else Wysw = Tu Gosub Wyswietl_zmierz End If If F100ms = 1 Then Reset F100ms...
Dokładnie. Napisanie tego co napisałeś (odczyt temp.) w C to pare linijek, do tego dodasz sobie np. PetitFS i problem z głowy. Z drugiej strony, to musi być karta pamięci? Może lepiej zwykły zewnętrzny EEPROM i dodać jakiś interfejs komunikacyjny, np. RS232 i to potem odczytywać?
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...
osobiście proponowałbym koledze zrobić sobie detektor zasilania na transoptorze i podłączyć go od strony LED do napięcia jeszcze niestabilizowanego, tak aby zanik zasilania był natychmiast wykrywany poprzez jego zmianę na wyjściu kolektora tranzystora w transoptorze. Osiągniesz tym samym pełną izolację galwaniczną od zasilania. Natomiast w części stabilizowanej...
Witam wszystkich! Tak jak w tytule mam problem z wykonaniem operacji WRITE na pamięci EEPROM. Problem polega na tym iż parzyste wartości mogę zapisywać bezproblemowo, nieparzysych nie mogę wogóle zapisać. Pamięć jest podłączona do ATmega8 (piny w listingu). Od trzech dni główkuję nad tym co może być nie tak... Operacja zapisu działa chyba poprawnie....
Oto i źródło, może Wy zauważycie coś dziwnego... [syntax=c] // PINY WEJŚCIOWE #define ZIELONA PIND5 #define CZERWONA PIND6 #define DEBUG_PORT PORTD #define DEBUG_DDR DDRD #define ZOLTA PIND3 #define KL_PORT PORTC #define KL_PIN PINC #define KL_DDR DDRC #define LEWO PINC0 #define DOL PINC1 #define PRAWO PINC2 #define GORA PINC3 #define LEWY PINC4 #define...
Witam. Niedawno rozpocząłem swoją przygodę z Atmegą8. Chciałem sprawdzić jak działa interfejs TWI. Na podstawie książki pana Cezarego Klimasza zakupiłem układ 24c16wp i napisałem program. Niestety program zamiast wyświetlać mi w terminalu liczby od 255 do 0 wyświetla bliżej nieokreślone sekwencje znaków. Czy mógłby mi ktoś pomóc znaleźć błąd w moim...
oto schemat: [syntax=c]#include <avr/io.h> #include <util/delay.h> #include <avr/pgmspace.h> #include <avr/interrupt.h> #include <string.h> #include <avr/eeprom.h> #include <stdint.h> #include <stdlib.h> #include "MK_RFM70/rfm70.h" #include "MKUART/mkuart.h" #include "LCD/lcd44780.h" #define BUZ_PIN (1<<PD3)...
Witam ponownie. Aby licznik spełniał wszystkie moje oczekiwania, chciałbym aby po odebraniu każdej kolejnej paczki impulsów, stan licznika został zapisany w eeprom, tak aby po ponownym włączeniu zasilania,ostatni stan licznika był wyświetlany na LCD. Ponieważ robię to pierwszy raz efekty są marne; po podaniu paczki impulsów zapisuje się jakiś dziwny...
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...
Witam! Na początku zaznaczę że w dziedzinie programowania uC jestem nowy, jednak programowaniem na PC zajmuje się już prawie od 10 lat, świetnie orientuje się w asm, języku basic czy C, jednak jestem kompletnie zielonym elektronikiem. Aktualnie piszę w C (WinAVR) na Atmega8. Mój problem dotyczy eepromu CSI 24WC64, jako że nigdzie nie mogłem znaleść...
Witam, Nie widzę problemu. Czytasz dane z portu szeregowego (bądź z bufora) w pętli. Gdy odczytasz 0xff, to w następnej pętli porównujesz kolejne 6 znaków z tymi, które masz po kolei zapisane w EEPROMie. CRC nie jest problemem, bo przy tym samym numerze seryjnym powinieneś dostać cały czas to samo CRC - można je ew. zweryfikować przy zapisie nowej karty...
Tak i nie :) mam tak ustawione TWBR, że nie potrzebuje preskalera. Wymieniam PCF może to da jakiś efekt... Bo tak logicznie mysląc jeżeli by TWI nie działało to by się nie komunikowało z pamięcią. A wiem że pamięć działa bo napisałem szybki programik co zapisuje, a potem odczytuje i wyświetla na LCD. Pozdrawiam o dziwo jak wysyłam do PCF jakąś wartość...
Już dość dawno temu powstał kod na Atmegę8, dla migania LED. Kod troszkę toporny, jak to zazwyczaj początkujący pisze. Generalnie działa. Ostatnio dodałem jakąś nową opcję. Wprawdzie światełka działają jak trzeba, lecz chciałbym troszkę poprawić kod w fragmencie współpracy z eepromem. Mam z tym problem gdyż poszedłem w kierunku większych prądów i samemu...
witam, zaprojektowałem mój pierwszy układzik do sprawdzania temperatury i wilgotności oparty na atgmega8 (zew. kwarc 8mhz) i czujnik firmy sensirion zlutowałem 4 dolne wyjścia, piszę to gdyż mój czujnik ma 5 wyjść(jak na zdjęciu) a nie 4 jak w dokumentacji. może tu leży problem.. problem polega na tym, że po przerobieniu /***************************************...
Z powodów techniczno-ekonomicznych Atmega8L. Czy do pamięci ram mozna zapisywać dane po jednym bicie? Czy mogę zarezerwować wyłączny dostęp do 420 bajtów RAM? 1. Tak i nie: Nie mozesz zapisywac po jednym bicie bo nie ma mozliwosci adresowania pojedynczych bitow. Mozesz jednak uzyc RMW (Read-Modify-Write); czyli czytac zmienna do np. zmiennej temp,...
Witam :) Prezentowany w tym temacie projekt jest realizacją pewnej idei - elektronicznego długopisu ściągi z wbudowanym wyświetlaczem, pamięcią itp. Długopis powstawał w czasie od września do grudnia 2008. Projektu nie będę rozwijał, niedokończonego kodu nie udostępnię. Kontynuacji nie będzie, ale mam nadzieję że komuś spodoba się ta idea, postanowi...
W procku są zapisane wartości kalibracyjne wewnętrznego oscylatora, które są zależne od częstotliwości jaką wybierzemy. W momencie startu do rejestru osccal jest zapisywana wartośc dla częstotliwości pracy równej 1MHz. W przypadku wyboru innej częstotliwości trzeba ten rejestr samemu zapisać. Podczas programowania odczytuje sie te wartości z procka...
Stwórz sobie własny protokół żeby procek odbierał komendy i dane Przykład wersji uproszczonej komenda ( np #200 zapis do eepromum #201 odczyt itp) długość ( długość danych) dane i wysyłasz #200 ( kod komendy) #10 ( długość danych) #adr_hi ( adres do zapisu) #adr_lo ( adres do zapisu) #dana1 (dane do zapisu) #dana2 #dana3 #dana4 #dana5 #dana6 #dana7...
Cóż, jestem lekko zaskoczony tą sytuacją z EEPROM, bo przygotowałem sobie plik, który wgrywa do pamięci same 0xFF. Pierwsze 225 komórek nie zostało zapisanych poprawnie (były tam śmieci). Następnie wgrywamy do pamięci 0x00 - tym razem zapis i weryfikacja poprawne. Potem wgrywam znów same 0xFF i tu największe zaskoczenie - tym razem cała pamięć ma wartość...
Witam. Mam programik napisany pod procesor atmeg8. Ponieważ chcę go rozbudować postanowiłem przenieść do pod procesor atmega168. Program napisany jest w BascomAVR. Wykorzystuje w nim kilkanaście zmiennych zapisywanych do pamięci EEPROM. I tutaj pojawia się problem... Podczas kompilacji wyskakują błędy dotyczące zmiennych zapisanych w EEPROM. Problemów...
Hmm, to ciekawe. My (ja z kolegą) też mieliśmy taki problem ale w ATmega8. Do tej pory nie znaleźliśmy rozwiązania. Zdaje się, że kolega w końcu zrobił zapis do flash-a ale głowy nie dam. Po prostu raz na jakiś czas zawartość epromu diabli brali.
1. Co minute zapis do eeprom, nie wiem czy to dobry pomysl. Wiesz, ze eeprom posiada mala ograniczona ilosc zapisow? Lepiej dodaj jeszcze warunek, ze jak naprawde minute pozniej ta temperatura sie zmieni wtedy dopiero zapisuje. AD1 wiem ze eeprom ma ograniczona ilosc zapisow, tylko gdzie zrobilem cos nie tak ze zapisuje co minute wartosc do eepromu...
Udalo mi sie odratowac klocka:D Kupilem drugi uC i wklepalem do niego program wyzej podany i juz dziala:) Dziekuje wszystkim za pomoc:) Nie chcac zakladac nowego tematu zapytam sie o eeprom. Chcialbym zapisac 3 wartosci zmiennych typu float w eepromie jednorazowo, aby za kazdym kolejnym resetem urzadenia one juz sie nie zapisywaly na te z gory ustalone,...
Witam Od dłuższego czasu pracuję nad własnym sterownikiem bramy przesuwnej. Może ktoś pamięta jak stawiałem pierwsze kroki w tym kierunku ;) W zeszłym roku opracowałem teraźniejszą wersję sterownika - dodałem SOFT-START, SOFT-STOP (wykorzystując PWM). I wszystkie aktualne problemy kręcą się w zasadzie w okół tego. Po pierwsze, nie mogę ustawić częstotliwości...
Cześć! Od jakiegoś czasu próbuję połączyć się przez i2c z eepromem. Problem w tym, że Atmega się zawiesza zanim jeszcze cokolwiek zrobi. [syntax=vbnet]$regfile = "m8adef.dat" $crystal = 8000000 $baud = 19200 Config Scl = Portc.5 Config Sda = Portc.4 Config I2cdelay = 10 I2cinit Dim Eep As Byte Const Adrw = 160 Const Adrr = 161 Do Eep = 233 I2cstart...
Witam. Chciałem zrobić sterownik wzmacniacza audio na bazie kitu AVT2829. Szczególnie zależy mi na uczeniu się dowolnego pilota. Zrobiłem płytkę przystosowałem do niej program, użyłem większego procesora (atmega8) no i program działa ale strasznie ułomnie. Procedura zapamiętania kodów z pilota przebiega jak należy ale już samo działanie jest strasznie...
chce wyeliminowac ten przycisk i zeby zawsze po wlaczeniu sprawdzal numer czujnika z numerem czujnika zapisanego wczesniej w pamieci eprom. Rozumiem tylko żeby sprawdzał nr użytego teraz i zapisanego w eepromie to najpierw musisz zapisac tam ten nr (wlasnie po to jest ten przycisk). Proponuje: zaspisac raz w eepromie nr czujnika, po zapisie go w eepromie...
char jeden EEMEM; char numer=0; char wybrany[6]; int main(void) { LCD_Initalize(); //poczatek losowania numer, odczyt, zapis numer=eeprom_read_byte(&jeden); LCD_GoTo(5,0); itoa(numer,wybrany,10); LCD_WriteText(wybrany); if (numer>41) {numer=1;} else {numer++;}...
Udało mi się trochę odchudzić program. Wykorzystałem tablice + inkrementacja numeru komórki w tablicy. Chciałem wykorzystać FOR - NEXT, ale coś nie działa jak trzeba Do Locate 1 , 1 Lcd A Locate 1 , 7 Lcd B Locate 2 , 1 Lcd C Locate 2 , 7 Lcd D Locate 1 , 13 Lcd E Locate 1 , 19 Lcd F 'If Szukaj = 0 Then Call Przeszukaj_i2c 'End If Loop End '***********************...
Chip erase.. i nie ma problemu, możesz ponownie zapisywać. A warto dodać, że to samo uzyskasz po prostu od razu programując procka nowym wsadem. Przed programowaniem nowym wsadem zawsze trzeba wykonać Chip erase. Z noty katalogowej ATmega8: "The Chip Erase will erase the Flash and EEPROM(1) memories plus Lock Bits . The Lock Bits are not reset until...
Dzień dobry. Na początek zaznaczam, że jestem absolutnie początkującym amatorem bez wykształcenia związanego z prądem Wink. Mam w domu oświetlenie załączane włącznikami bistabilnymi. Niestety nagminnie się sypią więc postanowiłem je wymienić. Urodził się więc pomysł wielokanałowego włącznika z możliwością załączania w trybie bistabilnym, astabilnym,...
Poniżej źródło w którym mam: -pomiar ADC -pomiar szerokości impulsu PWM wysterowanie przekaźnika -USART Mikrokontroler ma spełniać funkcję sterownika do ledów jako oświetlenie samolotu z wyróżnieniem wszystkich etapów startu jak kołowanie włączenie silników itp. [syntax=c] #include <avr/io.h> #include <inttypes.h> #include <util/delay.h>...
Witam. Układ zamka na karty chipowe zaprojektowałem i wykonałem w sierpniu 2012r. Było to urządzenie wykonane w jeden dzień wliczając w to wykonanie płytki i napisanie programu. Dlaczego więc postanowiłem to teraz tu opublikować? Projekt przedstawiłem na mojej stronie i miałem dość dużo pytań o program. Jednak w programie na stałe miałem wpisane id...
Potrzebny ci będzie jakis programator np stk200/300 1. podłączasz programator przez lpt do kompa i do procka 2. odpalasz ponyprog2000 a. klikasz na setup-> Interface Setup... b. ustawiasz wszystko tak jak na rysunku w załączniku 3. potem klikasz Device->AVR micro->i wybierasz procka 4. ładujesz plik z programem file->open device file a. jak masz dane...
:arrow: projektavr EESAVE działa tylko podczas kasowania układu przez programator (odcina sygnał kasujący od EEPROM-a). Starsze wersje AVR'ów miały tą wadę, że podczas wahań zasilania w czasie zapisu EEPROM zerowany był rejestr adresowy EEARH:EEARL, co powodowało zapisywanie do zerowej komórki pamięci. Pomijając zastosowanie układu BOD, poleca się nie...
Mam problem bo mam juz 5 stron kodu a jeszcze mi nie dziala :D.Chcialem prosic o rade (gdyz jestem poczatkujacy) jak najpiej sprawdzic na ledach (bez ruszania portu D) czy mi dziala zapis do EEprom? Tzn ja wykabinowalem to tak : while(1) { Write_to_eeprom(0xAA,adress); //np adres 0xAA; przy daress=0; liczba = Read_from_eeprom(adress); //zwraca mi liczbe...
zrobilem sobie taki zegarek RTC na I2C i LCD 16x2 na zestawie uruchomieniowym zl2avr jednak nie wiem jak sie zabrac za podlączenie LCD pod I2C myslalem zeby uzyc pcf8574 tylko nie wiem jak podlaczyc LCD do tego ukladu i czy nie trzema jakiejs dodatkowej biblioteki ?? co by to obslugiwala ?? oto moj programik jaki mam do tej pory bez LCD na I2C : $regfile...
miałem podobny problem , jednorazowo zapisywałem do eproma 6 bajtów w pętli , i zawsze po odczycie były jakieś bzdury , podzieliłem zapis na 6 osobnych podprogramów i w końcu zadziałało , wydaje mi się że to z bascomem jest coś nie tak . Sub Zapis_pam For N = 1 To 4 For Dev_adr_wr = 160 To 172 Step 4 'Pom = Tab_wzg(n) 'Msb_zap = High(pom) 'Lsb_zap =...
Zle mnie zrozumieliście Panowie. Nie chodzi mi o sam zapis i odczyt bo to prosta sprawa ale o to, że pamieć składa się z komórek które mają rozmiar 1 Bajta, tak wiec do kazdej komórki można zapisać maksymalną liczbe 256. A ja chce zapisac liczbe typu 17352965 i kiedy to chce zrobić bascom wywala błąd "Value doesn't into BYTE" co jest całkowicie zrozumiałe...
Ja nie chcę zapisywać w eeprom nadlatujących SMSów tylko fragmenty ramki PDU. które będę wysyłał. A chcę je tam zapisać by mieć możliwość szybkiej zmiany, kiedy sobie napiszę program do zmiany zawartości eeprom. Staram się napisać program tak elastycznie, by zmiana danych w eeprom, była przez program w uC "do przełknięcia, Czyli jeśli nawet zmienię...
Witam! bardzo serdecznie. Chciałem zrealizować w oparciu o mikrokontroler ATmega8 odtwarzacz dźwięku. Jest to tylko układ realizowany w celach edukacyjnych, więc chciałem dane zapisać najpierw w pamięci EEPROM (ATmega8 ma 512b). Ma być to jeden krótki dźwięk odtwarzany po włączeniu mikrokontrolera. Dźwięki chcę odtwarzać za pomocą głośnika przez PWM....
zapisz obrazki, tablice, stale itp. do pamieci eeprom. Jak nie starczy ci wewnetrznego eepromu to powieksz, na jakims zewnetrznym np. 24cxx.
Użyj sprawdzonych bibliotek do zegara. Pamiętaj o rezystorach podciągających. [syntax=c] void TWI_inicjacja(void) { // Czestotliwosc TWI(i2c) = 100kHz (max 100kHz) -> atmega8 taktowana wewnetrznie 8MHz (RC=8MHz) // ----------------------------------------... /* TWSR = TWS7 TWS6 TWS5 TWS4 TWS3 - TWPS1 TWPS0 */ TWSR =0b00000000; // Preskaler =...
Ten program ci kompletnie do niczego. No Ok, ja rozumiem niechęć do polskich programów albo nawet konkretnie do mojego i polską "życzliwość inaczej" - ok, na to się nic nie poradzi, więc nawet nie będę komentował tej wypowiedzi, tym bardziej że za chwilę słyszymy, szok! PonyProg jest fajny i dopóki nie ruszasz fusebitów i nie dokonujesz zapisu to nie...
Poczytaj co-nieco o typach zmiennych, bo to jak widać stwarza Ci problemy. Za pomocą tej biblioteki możesz zapisywać zmienne jednobajtowe - zmienna typu int (znana jako int16_t) zajmuje 2 bajty. Żeby ją zapisać powinieneś najpierw ją rozbić (najlepiej np. za pomocą unii) na 2 bajty i potem każdy z tych bajtów zapisać np. w 2 kolejnych komórkach eeprom....
Witam forumowiczów, zacząłem realizować projekt zegarka, kalendarza i termometrów z owego linku: Proszę o porady i sugestie jak można rozwiązać ten problem :P
Z zamków szyfrowych mam na swojej stronie sejf który "tyka" jak prawdziwy :D Kod wprowadza się enkoderem kręcąc w obydwie strony, kod w eepromie. Najlepsze jest że kodu nie trzeba znać. Jak zapomnisz to zakładasz słuchawki jak Egon z gangu Olsena i słuchasz jaki jest szyfr ;) Dzwięk też zapisany jest w eepromie.
Co znaczy zresetować pamięć? Jeśli to zwykła pamięć I2C to po prostu zapisujesz do niej nowe wartości.
Witam, na bazie ATmega8A-PU zbudowałem moduł zapłonowy do motocykla Junak i Ural. Generalnie wszystko działa poprawnie jeśli odległość samego modułu czy przewodu sygnałowego z czujnika halla od przewodu wysokiego napięcia jest powiedzmy co najmniej 5 cm. Testując filtry przeciwzakłóceniowe zbliżam ekranowany przewód sygnałowy do przewodu WN tak, że...
Do celów wskazania bieżącego czasu najlepiej użyć scalonych układów RTC komunikujących się przez szynę I2C. Dla przykładu popularnego PCF8583 firmy Philips. Potrzymanie zasilania tylko układu RTC bateryjką (np. CR2032) lub specjalnym kondensatorem o pojemności kilku faradów będzie gwaranować ciągłość wskazań zegara. W kwestii odliczania pkt. 1 i 2,...
Czy AVR Studio potrafi poprawnie symulować zapis do EEPROM w debugerze? Mam z tym problem. Pamięć zapisuje tak jak to jest podane w pdfie Atmega8 (jest tam kawałek kodu). Niestety po otwarciu okna Memory Window lub odczytaniu pamięci wszędzie zapisane jest FF a nie moje wartości. Odczyt jest poprawny bo gdy zmienie wartość zapisaną w jakiejś komórce...
Tak, zaprogramowane Lock 1 i Lock 2 uniemożliwiają odczyt jak i weryfikację zapisanego programu w Flash i Eeprom.
Witam Pytanie jak często będzie ta pamięć wykorzystywana ? Na początek można polecić albo coś z pamięci typu EEPROM np. 24Cxx lub pamięci Flash np. AT45DB. Noty tych pamięci można znaleźć na stronie www.elenota.pl -- pozdrawiam
Witam wszystkich serdecznie ! Oto kolejny zegarek z wyświetlaczami LED oparty na ATmega8. Znowu ?? Tak, a czemu nie. Konstrukcja powstała jako odpowiedź na zapotrzebowanie na naścienny zegarek z dużymi cyframi widoczny w nocy. Wymiary całości to 180x70x18mm. Zegarek wyświetla tylko godziny i minuty, mruga dwukropkiem oraz posiada automatyczną regulację...
Witam, można by było zrobić aby jakaś atmega (np. atmega8) odbierała dane (plik txt) po przez podczerwień i zapisywała zawartość pliku na zewnętrznym eepromie (24c)? Plik byłby wysyłany przez podczerwień w telefonie. W pliku znajdowałby się tekst.
Tak jak w temacie, chce zapisać zmienną typu string 80 znakową do 24c16, czy musze to jakoś konwerterować, czy eeprom "przyjmie" stringa ? Procek to atmega8
Proponuję coś takiego: 1. na przerwaniu, na zbocze narastające włączasz timer; 2. Jeśli wystąpi przepełnienie licznika, zmieniasz preskaler i czekasz na następne zbocze narastające. 3. na przerwaniu, na zbocze opadające zapisujesz wartość np. do eeproma. Nie wiem Jakie orientacyjnie czasy będziesz miał do mierzenia, ale jak to rozwiązanie będzie zbyt...
Witam, Zacznę od tego, że przeszukałem forum, w prawdzie znalazłem interesujące mnie rzeczy lecz u mnie coś nie działa. Zacznijmy od początku. Mam dwa ds18b20 na jednej linii w Atmega8. Chciałbym z nich odczytać numery seryjne. Tutaj zaczynają się schody. Oto kawałek kodu, za pomocą, którego odczytuję dane z linii onewire: //jesli jakies urzadzenie...
Zapisz ją w EEPROMie.
Witam serdecznie - jestem początkujący i próbuję uruchomić termometr na atmedze8 Atmega ma podłączony wyświetlacz alfanumeryczny 2x16 znaków DS podłączony normalnie - nie pasożytniczo pisząc program opierałem się na: oraz chwilkę później ponieważ pierwsze rozwiązanie nie działało: to bardzo podobne rozwiązanie - które podobnie nie działa: Próbowałem...
Mam w swoim urządzeniu taki patent jak proponuje lotnick. Atmega8 na wewnętrznym oscylatorze 8MHz, dioda schotky za stabilizatorem 5V i kondensator podtrzymujący 100uF. Przy zaniku napięcia wywoływane jest przerwanie w którym zapisuję do eeprom cztery bajty (zmienna typu single). Nie przeprowadzam jakichś dodatkowych zabiegów programistycznych ograniczających...