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.
Spróbuj z Instrukcją CONFIG I2CDELAY
NIE wolno robić czegoś takiego żeby zmienna co chwile była zapisywana do EEPROM-u dlatego że on ma określoną ilość zapisów minimum 100.000 / + . Ja bym si polecił jakiś SRam na i2C albo SPI z podtrzymaniem bateryjnym może być nawet zegar RTC PCF8583 . Co do karty i komunikacji z PC tu [url=http://www.dharmanitech.com/2009/01...
Skoro program utyka w jakimś miejscu to znaczy że czekasz w pollingu na stan, który się nie pojawia. Po pierwsze dodałbym time out, który przerwie pętlę oczekiwania zanim układ zostanie zresetowany przez watchdog. Dodatkowo w przypadku wystąpienia takiego timeoutu trzeba by obsłużyć jakoś błąd magistrali: http://obrazki.elektroda.pl/2162467700_1...
Nie mylisz się a dokładnie powinno tak to przebiegać 1wreset 1wwrite &HCC 'reset magistrali 1wwrite &H4E 'zapis do scratchpad 'zapisuje trzy bajty do scratchpad zawsze obowiązkowo i nie można zapisu przerwać resetem 1wwrite &H00 '1bajt 1wwrite &H00 '2bajt 1wwrite &H7F '3 bajt Wait 1 1wreset ' reset 1wwrite &HCC 'skip ROM 1wwrite &H48 ' zapis do EEPROM...
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....
To będziesz musiał się trochę napocić. Po pierwsze jak używasz watchdoga w programie, to musisz w jakiś sposób sprawdzić czy reset aby na pewno służył do upgrade'u. Możesz to zrobić np przez zapis do eepromu jakiejś wartości, odczyt i odczyt jej bootloaderze (pamiętaj żeby bootloader ją resetował). Dobry by był też mechanizm który by pozwolił na zrezygnowanie...
Ta sama sytuacja. Sprawdziłem oba zapisy warunku sprawdzającego stan portu i też to samo.
Zrobić jedną tablicę jednowymiarową i zapisywać kolejno po sobie po 7 tych zmiennych, następnie odczytywać z "offsetem" tablica(x + y*offset) daje to pseudo 2 wymiarową tablicę. tablica(0 + 0*7) = tablica(0) tablica(1 + 0*7) = tablica(1) tablica(2 + 0*7) = tablica(2) .... tablica(0 + 1*7) = tablica(7) tablica(1 + 1*7) = tablica(8) itd....
Dołączam gotowy projekt komunikacji avr z zew. pamięcią eeprom. Mam nadzieję że umiejętnie go wykorzystasz.
No np mozesz zrobić cos w tym stylu: Dim T(4) as byte Dim i as byte For i = 1 to 4 writeeprom T(i), i next i W T(1) - T(4) umieścisz sobie dane (mintuty, godziny czy co tam jeszcze chcesz)
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ć...
Witam wszystkich Chcę wysyłać i odczytywać obrazki BGF do/z eepromu. Procesor Atmega 32, eeprom at24c32. Wyświetlacz DMF5005N. T6963C. Ewentualnie skorzystałbym z EEpromu atmegi 644p. Czy posiada ktoś sprawdzoną procedurę zapisu i odczytu grafiki.? Próbowałem na przykładzie gotowca z helpa BASCOMA, ale miałem tylko czarne tło. Pozdrawiam i proszę o...
Próbowałem 200kHz, 100kHz, 50kHz. Za każdym razem efekt ten sam. To może spróbuj zajrzeć do PDF-ka tej pamięci i zainteresuj się mechanizmem PAGE WRITE, bo to on jest źródłem Twoich kłopotów.
Przedstawiłem tylko sposób zapisu zmiennych w EEPROM'ie (zamiast używania Writeeeprom). Wszelkie obliczenia robisz na zmiennych w RAM a na końcu zapisujesz w EEPROM. [syntax=BASCOM]Dim Year_ram As Word Dim Year_ee As Eram Word [...] Year_ram = Year_ee 'kopiuj z EEPROM'u Year_ram = (a + b) * c 'jakieś modyfikacje Year_ee = Year_ram 'zapsz do EEPROM'u...
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...
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...
Schemat poprawiłem. Zmieniłem w pierwszym poście. Faktycznie, aż miło popatrzeć. Sam czasem się wkurzałem szukając ścieżki. Pomierzyłem jeszcze prądy: Atmega + SD - 220 mA Atmega bez SD - 140 mA atmega bez LCD i bez podświetlania - 84,9 mA Atmega z LCD bez podświetlania - 88 mA W założeniu ma to być: - pomiar z siedmiu DS18B20 - pomiar z dwóch czujników...
witam wszystkich. W jaki sposob moge zapisywac szereg zmiennych w eepromie avr'a pod jakas tam nazwa a potem je odczytywac. np. mam trzy akwaria "A" "B" "C" i w akwarium A mam trzy zmienne temperatura dawka jedzenia czas swiatla. kazde z tych trzech akwariow ma inne parametry i chodzi mi o to by po przeniesienu urzadzenia z akwarium A do akwarium B...
Spróbuj do każdej wartości dodać znak % na końcu: [syntax=basic4gl]Data 7848% , 7748% , 7652% , 7559% , 7468% , 7380% , 7294% , 7211% , 7129% , 7048% [/syntax]
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,...
. Język BASCOM BASIC oferuje wiele instrukcji obsługujacych wyświetlacz LCD. Aby jednak mieć całkowitą kontrolę nad wyświetlaczem można stosować procedury w języku asembler. Poniżej znajduje się przykład: $asm Ldi _temp1, 5 'załadowanie kodu rozkazu do R24 Rcall _Lcd_control 'prześlemy do LCD jako komendę Ldi _temp1, 65 'załadowanie do R24 kodu znaku...
Witam Jak dokładnie wygląda układ który masz - oprócz Atmega8 i LCD masz chyba jakiś odbiornik RF? Jeśli tak to jak on jest podłączony do Atmega8? Jeśli pilot wysyła sekwencję np 2-3 bitów i jest ona stała - to nie ma problemu z nauczeniem proca poprzez zapis w eeprom ale jeśli kod jest zmienny będzie to dużo trudniejsze - trzeba znać algorytm zmiany...
(at)tadeko, dużo przykładów w asm jest zawartych w datasheet mikrokontrolerów atmela. Między innymi jest ten o który pytasz, jest również odczyt. Dodano po 9 Daj sobie spokój. Jeśli kolega Tadeko chce uczyć się asemblera, to należałoby mu pomóc i nakierować w odpowiednim kierunku. Przede wszystkim musi zrozumieć, że porównanie asm z bascom nie ma sensu....
Chodzi oczywiście o lock bity (lock - blokada). Swoją drogą skoro programujesz swoje avrki to jak możesz nie wiedzieć jeszcze nic o tych bitach ? Jak programujesz swoje AVRy ? Po pierwsze to nie są bity ustawiane z poziomu programu. PonyProg, AvrDude, AvrStudio, Bascom wszystkie pozwalają na ustawienie lock bitów. A blokując Flash lub EEPROM blokujesz...
Problem dotyczy wszystkich języków programowania i wszystkich mikrokontrolerów. Chodzi o uszkadzanie się zawartości pamięci eeprom kiedy program idzie w krzaki. Zauwzyłem, żę kiedy traktuję atmegę zakłoceniami emc potrafi o ona zacząć wykonywać inny fragment kodu (bascom), jakby skoczyła pod jakiś przypadkowy adres. objawia sie to czasem podwójnym pisaniem...
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
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...
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...
Strasznie szybko sobie zjedziesz EEPROM - ma przecież tylko 10 000 razy cykl zapisu gwarantowany, czyli po 10 000 zmian możesz mieć poważne problemy - komórka padnie. Albo zmieniaj co jakiś czas komórki, albo zapisuj dane przy wyłączeniu urządzenia - dodaj większy kondensator podtrzymujący zasilanie i jak wykryjesz spadek napięcia zasilania przed kondensatorem...
http://obrazki.elektroda.pl/3637756900_1... http://obrazki.elektroda.pl/6313868300_1... Zrealizowałem w tym roku swoje postanowienie jeszcze sprzed zeszłej zimy i zrobiłem sobie wreszcie własny sterownik pieca CO. Na początek pytanie "dlaczego"? Otóż oryginalny dostarczony z piecem przede wszystkim miał 6 poziomów nadmuchu...
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...
program pisze w bascomie (poniewaz narazie taki język znam, dopiero uczę sie C), w wersji prostej mial to byc zwykly sterownik do urzadzenia wentylacyjnego (pomiar cisnienia i sterowanie dmuchawą itd.), jednak z biegiem czasu zostały dodawane dodatkowe funkcje, a najwiecej miejsca zajmuje "historia modyfikacji" zapisywana do eepromu, ponieważ w bascomie...
Jeśli się nie myle to np. w bascomie można wyłączyć żeby podczas resetu nie czyściło sram i ramu. Wg. specyfikacji atmegi wewnętrzną pamięć eeprom możesz zapisać 100000 razy, więc przy zapisie co 1h starczy to na jakieś 11 lat, a co potem ? no chyba że zegarek nie wytrzyma tak długo ;)
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ę...
Witam kolegów, Postawiłem sobie pewne zadanie do wykonania i wygląda na to, że będę potrzebował jakiejś rady kogoś kto lepiej zna problem. Chodzi o komunikację mokrokontrolerów ATMEGA przez interfejs SPI. Programuję w BASCOM, gdzie są już gotowe instrukcje do tego. Cały problem wygląda tak: - Mamy 2 procesory ATMEGA8 - Mam tablicę 10 elementową X (elementy...
Witam - Pamięć typu EEprom wydaje się wystarczająca - pytanie tylko - czy łatwo obsłużyć dostęp do niej w bascom ? Czy dobrze zrozumiałem z datasheet że ta pamięć komunikuje się przez I2C ? Pozdrawiam
Chyba znalazłem błąd, który robi nas bambuko z tym EEPROM. Przy dekoracji zmiennej adresu pamięci znalazłem mały Bug. Zmień tę linijkę i sprawdź, sądzę, na 99% że teraz pójdzie jak trzeba. Dim Adr_eep As Word At &H69 'Taka nietypowa zmienna Dim Adr_low As Byte At &H69 Overlay 'jest jedna?, mimo iz Dim Adr_hi As Byte At &H6A Overlay 'To zmieniłem Napisz...
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...
No właśnie jeśli w programie przed pętlą główną nadam wartości zmiennym w eeprom np. zm_eeprom = "jakis tekst" to po resecie program wystartuje od nowa i zapisze z powrotem wartości początkowe w programie do eeprom ? posłuchaj - jeśli potrzebujesz zapisać domyślnie zm_eeprom = "jakis tekst" to robisz to tylko wtedy jeśli wszystkie komórki tej zmiennej...
Czytaj helpa od Bascoma tam znajdziesz coś takiego jak polecenia val,mid itp...
Zastanów się, ile czasu zajmie użytkownikowi zadanie urządzeniu stu tysięcy zmian stanu wyjść. Pomyśl też nad żywotnością przycisków pilota.
Witam. Jak zapisuje się dane do eeprom w avrgcc? W bascomie wystarczyło zadeklarować zmienną jako zmienna typu ERAM, później zapis w programie wyglądał tak: zmienna_eeprom = zmienna analogicznie odczyt: zmienna=zmienna_eeprom Czy da się posługiwać zmiennymi tak jak powyżej w avrgcc? Wiem, że można użyć min.: eeprom_write_byte ( *adres, val) - zapisuje...
Trochę masz to dziwnie napisane jeśli chodzi o odczyt temperatury. Co jak czas masz odświeżanie pętli głównej ?. Używanie rozkazu Skip Rom to lipa trochę. Jeśli masz ochotę to popraw to trochę tzn. warto odczytać przy starcie numery seryjne termometrów jak masz dwa i nie chce Ci się implementować procedury automatycznego przeszukania to poprostu odczytaj...
witajcie!! Problem wyglada tak: mam 24c08 i zapakowalem do niego plik: FFFFFF070707070F0F1F7FFFFF00FFFFFF3F1F0F... 03030303C3C3C3C3C38303030383C3C3C3830303... 3C3C3C38303C3C3030303C3C303030303FFFF000... 00080C0FFFF00FFFFFF8000000000000000FFFFF... 070793F1F001F3F7070703F1F00007F7F6060600...
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...
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...
K_o_n_r_a_d, jeżeli masz trochę czasu to przedstaw mi swój sposób zapisu/odczytu danych do/z EEPROM. Z góry dzięki. Ja to robię tak mniej więcej: Dim pomocnicza As single At 700 Dim X As Eram Single At 100 X=pomocnicza 'zapis do eeprom pomocnicza=X 'odczyt z eeprom Zrobiłem już dużo sterowników i innych urządzeń ale jeszcze nigdy nie używałem zmiennych...
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...
Kartę mam HAMA 2GB w FAT16 jeśli chodzi o rozmiar alokacji to był ustawiony podczas formatu na domyślny. Jeśli chodzi o karty to bardzo dużo kart nie działa. Ja osobiście przerobiłem 6 kart za nim ruszyło. Wcześniej były błędy. Ściągnąłem z elektrody kod w bascom z tematu "Najprostsze odtwarzanie wav" po czym zacząłem każdą kartę formatować na FAT16...
Zakałdam, że droga komunikacji będzie eeprom<-atmega<-PC(plik txt). Nie mogę doszukać się w bascomie procedury czytania pliku txt na dysku twardym PC.Czy istnieje w ogóle taka możliwość?
Można, tylko co jak podczas gdy jest wyłączony układ poruszysz wałem serwa? Poza tym układ nie wie, kiedy będzie odłączony, toteż musiałby ciągle zapisywać. Przy ciągłym zapisie wymarnujesz cykle R/W komórek pamięci EEPROM. Chyba że dasz przełącznik do wyłączania, który zachowa przez chwilę napięcie na AVR i da znać prockowi, by ten zapisał wartość...
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...
Próbowałem, już mnóstwa rzeczy, ale dalej nic. Sprawdziłem na bascomie, czy da rady zapisać do kostki i można. Dlaczego więc w asemblerze nie mogę zapisać. Czy ktoś mi pomoże?
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...
Temat rozwiązany.Jak się okazało błąd był bardzo prosty.W listingu który odczytuje wszystkie parametry po kolei pomiędzy dzientygodnia a ACK nie było przecinka.Co ciekawe Bascom nie zgłaszał błędu.Wpadłem na to przy nauce zapisu i odczytu pamięci EEPROM która jest na tym samym module co zegar.Reasumując przy odczycie po I2C pomiędzy parametrem odczytywanym...
http://www.elektroda.pl/rtvforum/topic14...
Po pierwsze :) , tak jak kolega już mówił: "obsługa wyświetlaczy powinna być zrobiona w przerwaniach". Po drugie, jak na mój gust ;) funkcja Writeeeprom w Bascomie jest lekko skopana. Funkcja zbyt wcześnie wyłącza przerwania np. przy takim kodzie: [syntax=basic4gl]Writeeeprom A , 10 Writeeeprom B , 11[/syntax] Pierwszy zapis do eepromu wygląda tak:...
witam, Na tą chwile menu wydaje się już być opanowane :) Zmieniłem tytuł tematu gdyż obecne moje pytanie nie dotyczy menu.... wycinek z kodu: Dim Write1 As Eram Byte Dim Read1 As Byte ... Write1 = 44 Writeeeprom Write1 , &H0A Readeeeprom Read1 , &H0A Lcd Read1 Zapisuje sobie wartość 44dec do int eeproma pod adres H0A i tu jest dobrze, gdyż w eepromie...
Witam!! Napisałem sobie taki prosty programik do zapisu i odczytu z Eeprom'a - po to by poznać jego obsługę. Niestety program ten na wyświetlaczu wyświetla "50 50" Nie wiem dlaczego dubluje te 2 inne zmienne. Szukałem przyczyny w jak to się mówi 'literówkach' ale albo jestem ślepy bo nic nie znalazłem.. Co jest przyczyną w/w problemu? Mój kod: $regfile...
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...
up, pamiec 24xx oraz max232 bedzie chyba najlepszym rozwiazaniem. mozesz zapisac wszystkie nr kart i przyporzatkowac im nr 0-255 (co zajmie jeden bajt) date i godzime mozesz zapisywac w postaci ilosci sekund ktore uplynely od 01-01-2000 (w bascomie jest zmienna typy long - 4 bajty, ktora zapisuje czas w ten sposob),takze zapis do eepromu zajmie 5bajtow....
Chce teraz tak zaprogramowac atmela by np jednym przyciskiem wybierałbym sobie dowolne wyjscie drugim np wejscie a trzecim akceptował i puszczał całość. Skorzystaj ze zmiennych które to zmieniać +/- będziesz przez przyciski, a jak naciśniesz trzeci klawisz to program zawartość tych zmiennych wyśle jako gotowe ciągi 0 1. Oczywiście bity które nie mają...
Uruchomiłem to rozwiązanie w następującej konfiguracji: Windows XP SP3 AVRStudio ver4 i 5, Bascom Port virtualny - eterlogic (Com4), (COM1 i 2 na płycie gł) FTDI - FT232RL Procesor ATMEGA 8 W każdym przypadku mogłem zgrać program do pliku, wgrać program i zweryfikować. Przy EEPROM mam dwa problemy: 1. Wgrałem Bascom'em STK200 do EEPROM pierwsze 3 bajty...
Hej, Ahaaaaa.... i jeszcze raz AHAAAA ! Dziękuję :-) No tak, czytałem o tym poleceniu SOFT, ale nie bardzo wiedziałem jak można go użyć. Niby działa, ale Atmega wysyła mi ciągle czas 00:00:00. Nic nie zlicza. Czy możecie sprawdzić czy dobrze zapisałem wytyczne do zapisu przy zaniku zasilania? Nie wiem też czy dobrze zainstalowane są kondensatore podtrzymujące...
Skoro masz aktualny czas to pewnie jest w układzie jakiś zegar czasu rzeczywistego... Urządzenie wystawia po uruchomieniu stan wysoki który ty odbierasz na uC i odczytujesz aktualny czas i zapisujesz go sobie do jakiejś zmiennej... Kiedy urządzenie się wyłącza znika stan wysoki a ty odczytujesz znowu aktualny czas... Wyliczasz jak długo urządzenie pracowało......
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...
Witam. Walczę z obsługą magistrali I2C łączącej procesor Atmega324p i czujnik DS1624. Chcę zapisać na karcie SD póki co dwa surowe bajty z rejestru temperatury, jednak prawie za każdym razem otrzymuję wynik 255, czyli same jedynki w bajcie. Piszę "prawie", gdyż przy ostatniej próbie z jakiegoś powodu była to liczba 151. Podobny efekt daje próba zapisu...
Czy to aby nie działa tak, że po każdym resecie wprowadza ci do eproma domyślny kod? Czyli jak zmienisz haslo i zresetujesz to znów wraca na domyślne?
Witam buduje pewne urzadzenie i mam takie pytanie bo po zaniku zasilania kasuja sie zmienne (licznik itp.) wiec trzeba to jakos zabezpieczyc. EEPROM odpada bo ma ograniczoną ilosc zapisu. Myslalem zeby zrobic detekcje zaniku zasilania i pradem pozostalym w kondensatorach zapisac do tego EEPROMU co wy na to?? W sumie musialoby braknac pradu ok 100'000...
Czuję się powalony na łopaty..... Piotrek ja nie wiedziałem, że do wewnętrznego eeprom-u można tak bezpośrednio zapisać zmienną SINGLE. Ciągle czytałem o konieczności rozbiórki, a nikt do tej pory takiej prostej rzeczy nie napisał.... Nawet w Pomocy BASCOM-a (tłumaczenie na polski) tego nie ma, ba nawet w książkach na temat AVR "tysz ni ma".... To jest...
Bascom Atmega Jak zapisać domyślne wartości w eepromie pod wskazanym adresem? Tworzenie zmiennych w kodzie, które mogą wskazywać, pod jaki adres ma ona wskazywać zajmuje miejsce w kodzie programu. Jeżeli zadeklarujemy to w ten sposób to wszystko jest zapisane w pliku epp i nie zajmuje miejsca w kodzie programu. Ale jak wskazać że przykładowo etykieta...
To co to za proc? Z jakim zegarem? To musi działać nawet na kwarcu 1Mhz(avr) i z prędkością 57,6Kb/s. Jak coś to wrzucaj do pamięci ram mikrokontrolera bo może to transmisja po i2c zwalnia(atmega >=8?) - tylko do testów. Spróbuj jeszcze sprawdzić ten drugi sposób z odliczaniem do dwóch znaków i i przetwarzaniem na żywo(po drugim znaku)
Weź taki mikrokontroler, który będzie miał wystarczającą pamięć do pomieszczenia wszystkich aplikacji, o jakich marzysz. uC z 512 KiB Flash kosztuje jakieś 30 zł. Inna opcja - to karta microSD. za 10..20 zł masz 8..16 GB, do tego płytka z mikrokontrolerem z 64 KiB Flash i 20 KiB RAM za 10 zł, no i płytka z gniazdem microSD za 5 zł. Najgorzej będzie...
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...
ustawiłem I2CDelay = 10 czyli 100 KHz dałem też więcej ms w podprogramie zapisu Mógłbyś sprawdzić, czy zmienne są właściwego typu ? Wszędzie w przykładach zapisywana zmienna jest typu Byte , a ja używam Integer , Byte nie przepuści powyżej 255 ( czyli u mnie temp 25,5 ). Jak robiłem dzielenie przed zapisem i łączenie przy odczycie to wyniki były inne...
jak podłączyć zewn. pamięć do mikrokontrolera Jaką pamięć? RAM, Flash, EEPROM, ROM, EPROM, kartę SD? Jaki interfejs - równoległy/szeregowy (I2C, SPI, ...)? EEPROM atmegi8 ma ograniczoną liczbę zapisów i kasowań. Nie wiem jak to jest we Flashu. Podobnie. Wszystko jest pięknie napisane w Datasheet. Zajrzyj do niego. czy mógłby ktoś podać mi jakieś linki...
Tyle że ja chcę zrobić to na zewnętrznym eepromie. Mógłby ktoś napisać mi kawałek kodu, (w bascomie) który zapisywał by zmienną string przez i2c do zew. Eepromu?
Prawdopodobnie mam ten sam problem... Jestem (szczęśliwym?) posiadaczem laptopa bez portu LPT ani COM. Posiadając jedynie prostą przejściówkę USB->RS232 poskładałem programator z tej samej strony ale na bazie ATmega8. Program napisałem całkowicie w C, wzorując się na wersji w asemblerze. Problem w tym, że zarówno oryginalny program (poprawiony i skompilowany...
hmmm ciężko coś wywnioskować ze względu na małą czytelność kodu ( nazwy zmienny) ciężko wyczaić za co one odpowiadają, ale mimo to w zasadzie nie ma sie czego przyczepić jedyne miejsce w którym mogły by być jakieś zgrzyty to If P2 = 0 And I = 0 Then I = 1 Incr G Locate 1 , 1 Lcd G ; " - temperatura " End If If G > 35 Then G = 22 jednak...
Zły pomysł... Tak można czytać z eeprom a wpętli... nie, NIEMOŻNA pisać do eeproma w pętli. (skońoczna liczba zapisów). Przy starcie systemu odczytaj z eeproma do jakiejś zmiennej ustawienia (zmiennych) i porównuj następnie z nimi... Łukasz. P.S. Odczyt jest dużo szybszy niż 1sekunda... DUŻO SZYBSZY. Łukasz.
Witam. Atmega to dla mnie nowość. A jak to bywa z nowinkami są problemy. Problem polega na tym, że nie potrafię zapisać nic do EEPROM. Napisałem program w BASCOM, który ma ustawioną zmienną na 125 i za pomocą przycisków S1 oraz S2 można ją zmienić a przycisk S3 ma zapisać do EEPROM, a tego nie robi. Proszę o pomoc w rozwiązaniu tego problemu i nie wylewania...
Witam mam takowy problem. Niewiem dlaczego odczyt eepromu nie może odbywać się w petli do loop. Może ktoś mnie oświecić? Jeżeli zapisuje i odczytuje w ten sposób jest ok: Dim Eskret As Eram Byte At 1 Eskret = 12 Dim Egaz As Eram Byte At 2 Egaz = 26 Dim Skret As Byte Skret = 0 Dim Gaz As Byte Gaz = 0 Readeeprom Skret , 1 Readeeprom Gaz , 2 Cls Locate...
Jeśli chodzi o konwerter to zgodzę się i znam go... Działa ok... Ale jak wspomniał TMF - po co używać atmegę do ładowania obrazków do zewnętrznego eeprom (bo wewnętrzny i flash ich nie pomieści w moim przypadku) skoro można załadować eeprom gotowymi plikami obrazków i je tylko odczytywać, przekazując w wybranym momencie na LCD...
Witam mam pewien problem i nie moge sobie z nim poradzić jak zrobić by na wyświetlaczu mozna było wybierać "piny" np pinb.4 wprawiać go stan 1 a następnie po np 200 ms wyłączał sie sam i była mozliwość uruchomienia drugiego np pinb.0 i w jaki sposób zapisać to do eepromu bo zalezy mi by cykl załaćzania tych pinów był zapamietany i wykonywany pętli jak...
Rozumię, że chodzi o zapis do pamięci EEPROM a potem odczyt z pamięci. Aby dokonać zapisu do EEPROM-u należy: Dim x as long 'definicja zmiennej "x" typu Long x = .... 'wpisać wielkość tej zmiennej writeeeprom x , 1 'zapisanie zmiennej "x" do komórki "1" EEPROM-u Aby odczytać z EEPROM-u: readeeprom x , 1 'odczyt zmiennej "x" z komórki "1" EEPROM-u Uwaga:...
Witam, Zapoznałem się z tym tematem: https://www.elektroda.pl/rtvforum/topic2... Niestety jest zamknięty, więc musiałem otworzyć nowy. Szukałem wielu porad w tym temacie i ostatecznie napisałem program w BASCOmie i działa, aczkolwiek z pewnym problemem z częstym błędnym odczytem CRC. Teraz powoli przeprowadzam się na C i z podanego tematu ściągnąłem...
Witam. W pewnym miejscu programu potrzebuję zamienić zmienną word w zmienną byte, (chociażby po to by móc ją zapisać za pomocą polecenia writeeeprom w pojedynczej komórce pamięci eeprom / nie marnować pamięci eeprom). Na początku obliczenia wykonywane są na dużych liczbach - Getadc dla przetwornika 10 bit zwraca wartość 0...1023 (word) ale różnica powinna...
Projekt fajny, choć ubolewam, że napisany w Bascom a nie w C. Ja też ubolewam nad tym bo C w porównaniu do Bascoma jest o wiele szybszy i ma ponadto inne zalety. Bascom jest intuicyjny od niego zaczynałem zabawę z mikrokontrolerami. Teraz uczę się programować w C. Czy wyznaczanie dnia tygodnia opiera się o algorytm wiecznego kalendarza Zellera czy...
Witam. Naskrobałem coś takiego: Dodano po 33 Aha, jeszcze dwa pytania. Czy DS może być blisko kwarcu? Mam go wlutowany ok. 1cm od kwarcu. Jaka jest żywotność pamięci eeprom w DS? 100000 zapisów jak w przypadku Atmega, czy więcej? Odczytuję temperaturę co pięć sekund i martwi mnie obecność eeprom w DS.
Witam. http://obrazki.elektroda.pl/6241741000_1... Znalazłem ciekawy materiał opisujący pojemnościowy miernik poziomu cieczy. Z opisu wykorzystałem tylko układ wejściowy na układzie 74HC14, który zamienia pojemność czujnika wejściowego (dwa równoległe przewody w izolacji), na częstotliwość którą mierzy Atmega. Na szybko napisałem prosty...
Nikt poważnie w bascom nie programuje, stą zapewne niewiele takich przykładów znajdziesz. Może koledzy coś wskażą. Co do logiki - jeśli zapisujesz dwa bloki danych i padnie zasilanie to albo masz już zapisany pierwszy blok i pada podczas zapisu drugiego, albo pada podczas zapisu pierwszego i masz do dyspozycji stare dane z drugiego bloku. Co do twojego...
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.
Witam, proszę o pomoc w rozwiązaniu problemu w tym programie, bo już nie wiem co jest nie tak. Program ma sprawdzać stan portu pind.2 do którego podłączony jest odbiornik podczerwieni w odstępach 444µs i zapisywać wyniki do eepromu w bajtach. Zrobiłem to tak: $regfile = "m8def.dat" $crystal = 16000000 Config Lcd = 16 * 1a ' lub Config...
Witam. Mam pytanie i prośbę o pomoc zarazem. Mam w zamyśle "stworzyć/odszukać" w Borlad C++ pulpit, w którym uzupełniało by się tabele albo poprostu pola edit. np.: Nr. Wartość (0-255) 001 - 123 002 - 035 003 - 224 --- --- --- Następnie tak uzupełnioną tabele po kliknięciu w button poprzez RS232 chciałbym umieścic w pamieci eeprom mojej atmegi8, z zachowaniem...
Witam niestety jak pisałem i sprawdzałem program nie posiadałem ds 2430 i zapis nie działa jak na ds 2433. Więc podaję sprawdzoną procedurę zapisu danych do pamięci oczywiście fragmenty . Sub Zapisuj_tablice 1wreset Pina , 7 1wwrite &H33 , 1 , Pina , 7 Id(1) = 1wread(8 , Pina , 7) For I = 1 To 1 Step -1 C = Id(i) Next '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\...
Powód jest prosty :) Cały czas się uczę bascoma i chcę dowiedzieć się jak najwięcej. Wiem że można to zrobić zapisując w eepromie procka ale chciałby wiedzieć jak to się zapisuje do eepromu zewnętrznego. Przypuśćmy że są takie układy w których bardzo często zapisuje się nowe ustawienia i wtedy najlepszym rozwiązaniem jest zapis do pamięci zewnętrznej,...
Sporo tego ( obsługa SD, PCF8563 + menu do ustawiania daty, obsługa PCF8574 w przerwaniu INT1 )- ale nie ma problemu - zmieniła się tylko zawartość podprogramu Pomiar była taka, jak w pierwszym poście oraz wyłączyłem w wyświetlanie na LCD tych wartości wskazań z DS18B20, oczywiście dostosowałem pozycje wyświetlania do LCD 4*20 - załączniku spakowany...
Witam, W moim sterowniku, który oparty jest na ATmega32 dość często zapisują się dane do eeprom'a przez co żywotność wbudowanej pamięci jest zbyt mała. Postanowiłem więc poszukać czegoś "zewnętrznego" i okazuje się, że zewnętrzne pamięci eeprom mają lepszą żywotność bo aż 1mln zapisów - chyba, że ktoś zna jeszcze lepsze to proszę o podpowiedzi. Przeszukałem...
Witam. Układ budowałam etapami, sprawdzając działanie sterowania kolumnami i wierszami, obecnie zwierając w podstawce - oczywiście bez procesora - między 22 nogą a kolejnymi bazami tranzystorów piny 12, 13 itd. powoduję świecenie diod w jednym rzędzie. Podając sygnały na wejścia AB 74164 oraz CLK powoduję świecenie poszczególnych kolumn. Można uznać,...
bascom eeprom zapis bascom zapis eeprom zapis eeprom atmega
kamera własna chmura codesys control yamaha ciszej
czujnik ciśnienia spalin mercedes auris hybrid
Aktualizacja firmware OTA w Optoma CinemaX P2 Czy piszczące cewki mogą same przestać piszczeć?