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...
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...
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...
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.
Tak to da się zrobić. Godziny 5 bitów, minuty 6 bitów, miesiąc 4 bity, dzień 5 bitów, rodzaj x bitów. Razem 20 bitów + x. Kodowanie: Dim temp as long '.... temp = godziny shift temp, left, 5 temp = temp OR minuty shift temp, left, 6 temp = temp OR miesiac Działa jak widać dodajemy przesuwamy o odpowiednią ilość bitów i następną zmienną dodajemy w puste...
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ć...
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...
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...
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]
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...
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...
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
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...
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...
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...
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...
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 ;)
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...
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ę...
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....
Czytaj helpa od Bascoma tam znajdziesz coś takiego jak polecenia val,mid itp...
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 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...
witajcie!! Problem wyglada tak: mam 24c08 i zapakowalem do niego plik: FFFFFF070707070F0F1F7FFFFF00FFFFFF3F1F0F... 03030303C3C3C3C3C38303030383C3C3C3830303... 3C3C3C38303C3C3030303C3C303030303FFFF000... 00080C0FFFF00FFFFFF8000000000000000FFFFF... 070793F1F001F3F7070703F1F00007F7F6060600...
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.
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...
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, 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...
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...
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...
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ść...
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...
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...
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...
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ą...
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...
W jakim Bascom? Jakiego pliku na PC?? Bascom to język programowania procesora, a jedyne co procesor potrafi to skomunikować się z PC. Po stronie PC musi stać drugi program i to wcale nie napisany w Bascom (Delphi, C, VB, itp.). Jeden program odpowiada za odczyt pliku i wysyłkę danych (ten na PC), drugi (ten w AVR) za przyjęcie danych i ich zapis w eeprom.
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...
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...
Małe pytanko a obsługa wyświetlania multipleksowanego jest wykonana w przerwaniu czy w pętli programu po ustawianiu zmiennej F4ms? EDIT: Nie rozumiem, zapis do eepromu wykonuje się 20 razy (zmienna Autoret = 20)
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...
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...
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)
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...
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...
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...
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...
Więc aktywować warto bo nie zaszkodzi a może pomóc. Rozumiem, że jak aktywuję BODEN i BODLEVEL dla AT32 to reset zostanie uruchomiony po obniżeniu napięcia poniżej 4V - dobrze wyczytałem? Swoją drogą to chciałbym jeszcze podpytać odnośnie dwóch rzeczy - dotyczy programowania w Bascom. 1. Kwestia wear leveling przy zapisie do eprom w Bascom - zupełnie...
No i właśnie tak jak w temacie napisałem sobie program taki w którym wpisuje się hasło i drzwi sie otwierają i można też zmienić hasło. Program działał bez zarzutu ale postanowiłem zrobić tak żeby zmienna z hasłem była przechowywana w eeprom no i dodałem kilka linijek kodu które miału takie właśnie zadanie. I właśnie według mnie wszystko jest dobrze...
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.
... chciałbym żeby zmienna w EEPROM przy starcie miała wartość np 100 a na razie ma 255. Może jakieś porady? Zaprogramuj ją programatorem lub na początku programu zapisz ją do EEPROM.
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...
Nie. Jedynie mozesz wczytac program do flash i uruchomic. Teoretycznie mozliwe, ale sądzac po pytaniu jeszcze dalece nie dla Ciebie. Bascom raczej odpada. Musisz napisać bootloader (albo dostosować jakis) ładujacy program z zewnetrzengo eepromu. Nie wiem czy mozna tak skompilować program w bascomie aby było to mozliwe.
Witam Mam pytanie czy istnieje możliwość zapisania zmiennej tekstowej w zewnętrznej pamięci eeprom obsługiwaniej przez i2c? Mam zamiar napisać taką aplikacje w bascomie. Dodano po 48 Ps. Próbowałem to zrobić, ale mi się nie udało.
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...
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......
Pisząc o adresowaniu nie masz na myśli ID czujnika, bo każdy DS18B20 ma unikatowy ID. Czujniki są na jednej linii, ale odczyt jest prawidłowy. Jeśli dobrze Cię rozumiem, to chodzi o to, aby mu bardziej "doprecyzować", który czujnik ma reagować na którą temp. Co prawda myślałem, że wykona proste porównanie wartości T1 z T_max i T2 z T2_max. Możesz mi...
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...
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...
Witam! Programuje se w Bascomie i mam taki problem: podczas działania programu do wewnetrznego EEPROM-a Atmegi32 sa zapisywane dane i jak resetne uP to jes ok dane zostają a jak odłącze zasilanie to dane w EEPROM-e znikają (a dokladnie czesc znika a czesc zostaje). EEPROM nie jest zajechany bo uP jest nowy i dane nie są czesto zapisywane! czyzby uszkodzony?
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...
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...
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:...
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...
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...
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...
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.
Ale się uparliście o ten kalendarz :P A takie pytanie. Czy po zapisie flasha, jeśli w eepromie siedzi jakaś wartość od PWM-a, to trace tą wartość - eeprom się zeruje? Normalnie zawartosc wew. eeprom'a pozostaje bez zmian chyba, ze masz ustawiona opcje kasowania podczas zapisu flash'a...
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 '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\...
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ć,...
Co znaczy zresetować pamięć? Jeśli to zwykła pamięć I2C to po prostu zapisujesz do niej nowe wartości.
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...
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?
Witam Jestem w trakcie tworzenia projektu mającego na celu zczytywanie temperatury z magistrali 1Wire i przesyłanie dalej za pomocą Ethernetu (Wiznet w3100a). Udało mi się skonfigurować Wizneta, pingował się świetnie. Ponieważ miałem problemy z utworzeniem serwera postanowiłem dodać kilka diodek za pomocą których mógłbym debugować program. Kiedy wgrałem...
Suchaj na nic kombinacje, naturalnie kondziora musisz dodać ale ja proponuję abyś zrobił sobie taki mały rejestrator z zapisem do eeproma wewnętrznego przecież to chwilę roboty a może Ci się przydać. 1. Koniecznie przy błędnym CRC zapisuj datę i godzinę zdarzenia. 2. Sprawdzaj tzw. timeout z czujnika jeśli masz 12 bitowca to max czas chyba jest coś...
Ja uważam, że nie ma to jak zacząć poznawać dowolną rodzinę procków za jaką się zabieramy właśnie od asemblera. Warto go nawet bardzo dobrze poznać bo później gdy trzeba zrobić jakieś krytycznie-czasowo ważne wstawki to wiadomo - asm ;) Natomiast w większości projektów jak sam zobaczysz nie jest aż tak istotne to jaka jest objętość kodu wynikowego....
Stworzyłem nowy program działający dokładnie tak jak chcę. Obsługa rc5 jest w pętli a nie na przerwaniu. $regfile = "m8def.dat" $crystal = 10000000 Config Pinb.0 = Output Config Pinb.1 = Output Config Rc5 = Pind.2 , Timer = 2 Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10 Dim Address As Byte , Command As Byte Dim I As...
Witam. Mam problem z prawidłowym odczytywaniem danych z eepromu atmega 8. Dzieje się to po kilkunastu startach procesora, zamiast np. 90 wskakuje mi 10 lub inne głupoty... do procka mam podłączony kwarc 8MHz z każdego +5V 100nF, reset podciągnięty do +5V przez 5,1k i kondensator 100nF do masy, fusy mam ustawione na CKOP = 0 , kwarc zewnętrzny czyli...
Na początek proponuje darować sobie TSOP1736. Chyba, że masz gwarancję że w okolicy nikt nie będzie używał żadnych pilotów podczerwieni. Wszystkie chodzą na 36 kHZ i będą wzbudzać lub zakłócać twoje urządzenie. Lepiej zastosować jakiś układ IRDA i zestawić prostą komunikację szeregową na UART. Masz wtedy jeden port szeregowy w PC i drugi port szeregowy...
Zapisuj sobie to do eeproma wtedy zapamiętasz na stałe. Jak wykonać? Hmm za pewne wykorzystując jakiś warunek :)
wlasnie chodzi o to ze w atmega to dziala bez problemu ale 89s8253 nie jest AVR ale juz dalem rade okazalo sie ze jednak musi byc podany adres gdzie ma to zapisac ale dzieki wszystkim za pomoc.
bascom eeprom zapis bascom zapis eeprom zapis eeprom atmega
wekta centrala kostki kierownicą passat prądnica pierścieniowa
kosiarki spalinowe najlepsze kosiarki spalinowe najlepsze
Yihua 706 - Lutownica nie nagrzewa grzałki Sinotrack nie wysyła SMS o starcie zapłonu i wstrząsach