Przy zapisie do EEPROMU w Bascomie nie musisz wyłączać przerwań. Funkcja WRITEEEPROM robi to sama, ale READEEPROM już nie wyłącza przerwań :)
Przy zapisie eepromu należy brać pod uwagę że przez 1-5 ms trwa zapis i nic wtedy nie odczytasz/zapiszesz. A tutaj gotowiec: https://github.com/jnk0le/AVR-I2C-libs/b...
Czy jeżeli w Bascomi-e, w przerwaniu, ............ ......... czy zapis będzie trwał, a procesor w tym czasię będzie już wykonywał inne rozkazy? Zapisywana jest zmienna bajtowa. Wpis wartości zmiennej do EEPROM nie odbywa sie samoczynnie, jak powiedzmy przesączanie wody przez lejek(!). Tego wpisu dokonuje processor; nie ma tam pośrednika (chyba jedynie...
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.
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.
...Nawiązując do sugestii kolegi wrzuciłem linijki do programiku i na nieszczęście nawet wyświetlacz lcd przestał wyświetlać, a tylko mruga pierwsza linijka. Nie no , jasnowidzem to nie jestem :D Poza tym , to tylko "pomysł na ..." , a nie gotowiec.Pokaż(załącznik) cały kod , to może cosik się zaradzi :D Piotrek
Jakiś użytkownik też miał z tym kiedyś problem, rozwiązał to w taki sposób: Pinb.0 = 0 ' pin RW Waitms 100 Initlcd Nie sądzę, że jest to potrzebne, gdy pin został skonfigurowany w config lcdpin . Co z tą częstotliwością? W symulatorze raczej jest podany czas wykonywania kodu (sprawdź bez $sim ). Nie podałeś, jaki masz kod, ile się wykonuje na mikrokontrolerze,...
Nie jestem pewny o co tak naprawdę koledze chodzi. Czy to jakoś pomoże? Dim tekst as eram string*30 Najprostszy sposób na zapis stringa w pamieci eeprom. pozdrawiam Tomek
Dlaczego pokazuje -1 na wyświetlaczu a nie np 255 jak jest dla zmiennej typu Byte. Bo Integer to zmienna ze znakiem, FFFF to właśnie -1. Byte jest zmienną bez znaku (zawsze dodatnią). Dwubajtowa zmienna bez znaku to w Baskomie "Word". Na wyświetlaczu po resecie będzie wówczas 65535. 2. Czy taki zapis eeprom będzie poprawny przy pierwszym sprawdzeniu...
Poza tym funkcje Readeeprom i Writeeeprom są chyba niezbędne? Wypróbuj propozycje zmian i sam się przekonasz.
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...
zapis writeeeprom zmienna , adres odczyt readeeprom zmienna , adres Musisz pamiętać ile bajtów zajmuje zmienna którą zapisujesz i o taką wartość zwiększyć adres przy zapisie / odczycie następnej zmiennej Jeśli zmienne typu Byte , adres zwiększasz o 1 Jeśli zmienne typu Word , adres zwiększasz o 2 Jeśli zmienne typu Integer , adres zwiększasz o 2 Jeśli...
Składnia: rezultat = LOW( zmienna ) Przeznaczenie: Zwraca młodszą cześć (bajt MSB) podanej zmiennej. gdzie: rezultatzmienna do której zapisana będzie młodszy bajt zmiennej, zmiennazmienna której młodsza część ma być określona.
http://www.elektroda.pl/rtvforum/topic14...
Po prostu deklarujesz zmienne i robisz tak: Dim Eeprom(128) As Eram Byte 'i potem zapis o odczyt: Eeprom(1) = 123 Jakas_zmienna = Eeprom(128)
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]
Jak to nic nie robi jak realizuje przerwania od przepełnienia liczników T0 i T1? :) Zreszta program tak do końca nie robi nic. Gdy załaduje program to zapalane sa wszystkie wyświetlacze tak jak powinno być a następnie zamiast wyswietlac kolejne litery i przesuwac je w lewo, zgaszane są kolejno wyświetlacze, co wygląda tak jakby program działał poprawnie...
Konwersje byte->string otrzymuje się przy użyciu funkcji Str. W drugą stronę działa funkcja Val.
Są oczywiście takie moduły zespolone z pamięcią. Mozna tam zapisywać i czytac po bajcie, ale można też sekwencyjnie całe łańcuchy i tablice nawet serializatorem. Dwie pierwsze funkcje podpowiem. Wygląda na to ze działaja ;) Możnaby dodać jakieś zabezpieczenia na wypadek braku komunikacji. https://obrazki.elektroda.pl/8549538400_...
Czas zapisu Eepromu wynosi typowo 2,5-4ms. W tym czasie nie powinny byc dokonywane zadne inne operacje na pamieci Eeprom. Informacja o zakonczonym zapisie znajduje sie w rejestrze Eecr (bit 1). Wyzerowanie tego bitu = koniec zapisu Po instrukcji writeeeprom mozesz dac polecenie: bitwait Eecr.1, reset wtedy program bedzie zatrzymywany jedynie na czas...
to ze przez odpowiednie adresowanie pamęci można do niej zapisywać kolejne bajty to wiem, ale chodzi mi konkretnie o to jak dopisywać kolejne bajty, np: w basic dla dosa było to chyba tak: Open "plik.txt Append As#1 Zmiennna Close #1 Append o ile sie nie mylę dopisywało do pliku kolejne bajty Możliwe ze cos pomylilem teraz z ta składnią dla basica,...
Możesz rozwinąć to "systematyzować". Warto jedną(dwie) komórkę poświęcić by wskazać na której pozycji jest ostatni zapis lub ma być następny. Jeśli wystąpi zdarzenie to należy odczytać tą komórkę wykonać zapis np. 4 kolejnych komórek po czym zwiększyć i zapisać wskaźnik.
tak, stosuj tablice. Ulatwi ci to robote.... ALE pamietaj zeby NIE ZAPISYWAC DANYCH W KOMORCE EEPROMA O ADRESIE 0. Jesli zaczniesz deklarowac zmienne w bascomie to : ...jakies zmienne... .... .... .... 'EEPROM dim foo as eram byte 'to ci zalatwia komorke 0, bo tu bascom umiesci tą zmienną, i z niej niekorzystasz dim tablica1(3) as eram byte dim tablica2(3)...
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. Nie ma tutaj nikogo kto spotkał się z takim problemem..?. Same "łebskie" chłopaki, a nikogo kto by coś zasugerował..?. Nawet Piotrek zamilkł... Ja próbuję coś wymyśleć, ale nijak mi się nie udaje... skąd ten minus u mnie...? Pozdrawiam
Możesz zrobić podtrzymanie zasilania na kondensatorze i monitorować stan na jakiejś nóżce przed tym układem-tam zniknie zasilanie najpierw i wtedy wykonać procedure zapisu stanu do eeprom.
Wazniejszy będzie odczyt na początku i stwierdzenie które dane są aktualne Robisz sume z bufora 1 i porownujesz z zapisana w buforze 1 , tak samo dla drugim buforze i ten z wadliwa suma odrzucasz , gorzej gdy oba maja poprawna sume to wtedy albo na podstawie analizy danych stwierdzasz które są nowsze albo na podstawie indeksu dodanego do danych tylko...
Dołączam gotowy projekt komunikacji avr z zew. pamięcią eeprom. Mam nadzieję że umiejętnie go wykorzystasz.
Nie o to chodzi. Chodzi o to, że w EDW zrezygnowano z obliczania MSB, LSB A gwoli ścisłości - to o co tobie chodzi, czyli zapis do kostek serii 24c02...24c16 powinien wyglądać tak: Zapis_24c16: 'ustalanie w ktorym bloku ma lezec dana Blok = Adres / 256 'oblicznie adresu do zapisu jednej z grup danych Adr = 160 'tylko 1010 0000 Shift Blok , Left...
RTFM! Wszystko jest w polskim helpie do Bascoma. Po za tym wewnętrzny eeprom czy zewnętrzny?
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 ? W takim przypadku, po każdym resecie zmienna będzie nadpisywać nową ( taką samą ) zawartością. Jeżeli przewidujesz 1 reset co kilka dni,...
Tylko dlaczego wybieranie ma powodować zapis? Albo dlaczego wybieranie ma być dokonywane przyciskiem zapisu?
Witaj, Po pierwsze w Bascomie możesz zadeklarować programowy bufor USARTA w dodatku z wieloma sygnałami sterującymi Twoją ramką a po drugie pamięć EEPROM możesz zapisywać stronami bodajże po 32 bajty co oczywiście nie zmienia faktu, iż zapis strony potrwa tyle co zapis bajtu, nie mniej. Pozdrawiam... robiw
Dim Empty As Eram Byte At 0 Dim Tzap1 As Eram Single Dim Ua As Eram Byte Dim Ub As Eram Byte Dim Uc As Eram Byte Dim Ud As Eram Byte Czy to jest wszystko co powinienem zrobić.?. Czy powinienem jeszcze używać dyrektyw typu np $eeprom i $data ?. Czy wręcz odresować bezpośrednio tą pamięć zapis/odczyt?. A powinno być takie proste, ale nie jest, więc w...
[url=http://bascom.dxp.pl/bascom_dyrekty... opisane dyrektywy miedzy innymi $eeprom i $eepromhex.
... W ten sposób mogę skakać po całej pamięci. Po każdym zapisie bajtu jest przerwa 10ms. Myślę, że podobnie można to zrobić w Bascomie. Policz ile czasu zajmie prockowi zapisanie 8192 bajtów(24c64).Spoko można się zdrzemnąć :D Piotrek PS O pamięci 24c1024 , wogóle nie wspomnę :(
Tak.
Wydaje mi się że jak byś nie zrobił i będzie działało to tak jest dobrze ;] ilu programistów tyle podejść do tematu... Jeżeli już zadeklarujesz taką dużą tablicę to tak czy siak będzie ona zajmowała jakąś przestrzeń w pamięci więc czemu nie użyć jej i odczytać z eeprom wszystkiego na raz. Kiedyś robiłem podobny sterownik do CO ze sterowaniem temperaturą...
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...
Spróbuj z Instrukcją CONFIG I2CDELAY
Jeżeli je zczytujesz to pakujesz je do jakiegoś rejestru jak odczytasz 8 to zapisujesz ten bajt do pamięci i tak 16 razy. W jakim języku to piszesz ?
Pamięć większa być może ale nie ta... HT27C512 to OTP czyli jednokrotnego zapisu, a Ty musisz podstawić pamięć dającą się kasować i zapisywać wielokrotnie... poszukaj EEPROM np. Winbonda 27Exxx lub 27Cxxx pozdr KN
Witam, czy ktoś wie jak napisać taki kod w Bascomie aby zapisywał zmienne do eepromu wewnętrznego-zewnętrznego przed wyłączeniem urządzenia
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...
Jeśli korzystasz z RTC masz tam do dyspozycji RAM na przechowanie zmiennej, ewentualnie zewnętrzna pamięć SRAM z interfejsem SPI (np. 23X256).
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ść...
zapis: i2cstart i2cwbyte adres_i2c_pamieci for i =1 to 8 i2cwbyte dane(i) next i i2cstop przy zapisie trzeba zobaczyc ile fizycznie pamiec i2c ma buforu (do szybkiego zapisu bajt po bajcie odczyt: i2cstart i2cwbyte adres_i2c_pamieci i2cstart for i=1 to 7 i2crbyte dane (i), ack next i i2crbyte dane(8), nack i2cstop odczyt jest...
Prosiłabym o wyrozumiałość i pomoc w nakierowaniu mnie na rozwiązanie problemu. Spróbuję nakierować :) Jeśli zapis ID do eeprom ma być jednorazowy, w kodzie programu deklarujesz (wcześniej innym programikiem i LCD odczytane) ID $eeprom Termometr2: 'nr seryjny termometru 1 Data 40 , 25 , 0 , 133 , 2 , 0 , 0 , 196 Termometr1: 'nr seryjny termometru...
Przede wszystkim skoro to idzie na dedykowany LCD to wyrzuciłbym te bmp, na PC skonwertowałbym to do gotowego pliku binarnego do wrzucenia prosto na LCD - po co męczyć się z programem, który zrobi dokładnie to samo, ale na mikrokontrolerze?
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...
Witam, Proszę o podpowiedź jak zapisać zmienną typu single, konkretnie wartość np. 1.23458 do komórek pamięci eeprom. Chodzi o zapis w Bascomie. Jeżeli wpiszę dim zmienna as single zmienna= 1.23458 Writeeeprom zmienna , 1 to przy odczycie Readeeprom zmienna , 1 na lcd ukazuje się 1.234580037
Witam, nie wiem jak napisać kod w Bascomie zapisu i odczytu zmiennej LONG do pamięci , popularnych kostek 24C
A czekasz aż kostka skonczy zapis do komórki?
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.
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...
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...
daj schemat - może coś wyjaśni (dorzuć też kod - przynajmniej fragment konfiguracji, fragment zapisu i odczytu)
Only one variable? What if you actually not set value of the variable? Should LCD display something else (like switching main screen/menu screen)? Do the buttons should have autorepeat or just one press = +1 You should be more precise
Doszedłem do ładu z tym, cała funkcja jest napisana prawidłowo i skrajne zakresy zawsze powinne się pokrywać niezależnie od obliczeń na liczbach całkowitych. Błąd był jedynie w zapisie złych zmienny do eepromu...
Odczyt: 1wwrite &H33 id_klucza(1) = 1wread(8) // tu usunalem twoja petle i zrobilem to krocej For I = 1 To 8 Call zapisz_do_eeprom(Licznik , id_klucza(i)) Incr Licznik Next I Return No fajnie fajnie, ale to będzie za każdym razem pisać pod ten sam adres;) Więc to info dla autora tematu, PS, pamiętajcie, że eeprom ma ograniczenie ilości zapisów;)
Komenda Print nie wyświetli ci zmiennej na lcd :) 'Program wykonujący zapis do pamięci EEPROM Sub Write_eeprom(byval Adres As Byte , Byval Value As Byte) I2cstart I2cwbyte Addressw I2cwbyte Adres I2cwbyte Value I2cstop Waitms 10 End Sub 'Program wykonujący odczyt z pamięci EEPROM Sub Read_eeprom(byval Adres As Byte , Value As Byte) I2cstart...
Niemniej nawet taki prosty bootloader wygląda na coś poza możliwościami autora Dlatego napisałem "teoretycznie mozliwe" . Do tege ten bascom
Ja nie sprawdzałem Twojego projektu pod względem działania, tylko czy działa zapis do eepromu w czasie programowania procesora.
Zapis w EEPROM w Bascomie jest faktycznie lekko poroniony :) Tak jak zrobiłeś, czyli sprawdzenie czy A1 różne od A i jeśli różne to A=A1 jest jak najbardziej prawidłowe. Nie musisz natomiast używać komendy writeeeprom. Samo przepisanie A do A1 spowoduje zapis do pamięci nieulotnej. Sprawdzone wielokrotnie na prockach "większych", czyli A32 w górę, ale...
Witam Jeśli dobrze rozumiem zdanie: "na zmienienie wartości string odczytanej z eeprom na zwykły tekst" masz na myśli zamianę liczby (zapisanej w kodzie ASCII ?) na jej odpowiednik znakowy. Program, który wykorzystałeś bazuje na kodach ASCII znaków, (komentarz przed tabelą znaków Fontlookop), dlatego też po mojemu niepotrzebnie stosujesz zapis: Czytaj_str...
tych procesorów się nie programuje poza fabryką, mają PROM jednorazowego zapisu, ich pamięć stanowi zewnętrzny EEPROM
Narazie próbuje tylko odczytac dane. Wymieniłem procesor i nadal to samo... Czy to możliwe że w najnowszej wresji BASCOM AVR jest cos nie tak?
x i y sa zadeklarowane normlanie w RAM'ie (bez wpisu ERAM) Troche dziwne to ze w petli nie moge wykonac zapisu do eepromu bo strasznie mi sie kod programu powiekszy.
Nie można zapisać zmiennej single (aż 4 bajty) do jednego bajtu. Poza tym zapisuj do eeprom co jakiś czas tylko uważaj na ilość zapisów, eepromy są ograniczone. Nie musisz przypisywać wartości zmiennej na początku. Dałem taki przykład bo coś musiało być zapisane inaczej miałbyś 0 w eepromie.
czy ten zapis: Readeeprom Txt , 0 spowoduje że Bascom sobie przeczyta cały text "napis1" ?
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...
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...
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...
$eeprom - dyrektywa kompilatora, która informuje go, że od tego miejsca dane będą trafiać do pamięci EEPROM. Faktycznie dane te trafią do pliku EEP, którego zawartość podczas programowania zostanie przelana do wewnętrznej pamięci EEPROM układu. Napisa: - Etykieta dla polecenia READEEPROM. Jest to przyjazny zamiennik adresu pod którym dane w tej pamięci...
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...
Ciekawy format zapisu i kompresji kodów ma TV-B-Gone, poczytaj sobie - http://www.ladyada.net/make/tvbgone/desi...
ja bym rozwinal problem jeszcze o liczby zmiennoprzecinkowe w bascomie
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?
wystarczy ci (writeeeprom b, 1) tylko niezapisuj do komurki 0 bo w przypadku wystąpieniu resetu zostanie wyzerowany rejestr adresu i zapis zostanie dokonany na komurce 0. jeżeli dane zapiszesz do eeproma to po wyłączeniu zasilania nietracisz danych.
Po pierwsze to zajrzyj do pdf'a odbiornika IR, bo na Twoim schemacie brakuje konda i rezystora przy podłączeniu TSOP'a. http://pdf1.alldatasheet.com/datasheet-p... Ma być w programie: Wygaszacz (godzina + temperatura), - Czasomierz najprościej na programowym RTC: str. 244 w książce Wiązni, zaś temperatura - str. 293. Wszystko...
Niestety nic mi to nie mówi.. Case z krokami jest potrzebny do zapisu położenia po zmianie pozycji serwa, bez tych kroków zapis nastepowal by cały czas bez sensu i ze szkodą dla pamięci eeprom. Kilka bajtów, no właśnie. Program zajmuje 99%, tu toczyła się bitwa o te kilka bajtów. Już jest i działa.
(at)emarcus Dziękuję za odpowiedź, ja to widzę ( w Bascomie ) że puste komórki mają FF. (at)tos18 Dziękuję za odpowiedź, sprawdzę Twój zapis. Arduino IDE w tej linii: EEPROM.commit(); pokazuje błąd.
Powinieneś skonfigurować SDA i SCL w programie. Nie napisałeś w jakim będziesz pisał bo np w BASCOM 8051 robi się to tak: Config Sda = P1.1 Config Scl = P1.0 i wówczas możesz dowolnie wybrać porty . Przydaje się to przy projektowaniu płytki. A0 i A1 ustawiasz adres do zapisu pamięci albo (+) albo GND
Witam, To, że piszesz w bascomie to widać - WYŁĄCZ CAPS LOCK.
Do 30 Hz po zmianie. Filtr fc=35Hz. Obecne próbkowanie: f= 125Hz (więcej nie dam, bo wtedy dokładność W takim razie musisz się liczyć z przekłamaniem sygnału na granicach pasma. Możesz to próbować kompensować w sofcie mnożąc otrzymane fft przez funkcję odwrotną do ch-ki amplitudowej filtru (kolejne mnożenia), ale weź pod uwagę, że z racji rozrzutów...
Pomóżcie proszę zamienić 2 fragmenty programu w Bascom'ie na wersję w Ascii. Ten program w Bascom jest na pewno w ASCII. Jeśli ktoś wie jak to zrobić, to uprzejmie proszę o informację na pocztę: tadeko(_at_)poczta.onet.pl To jest publiczne forum i jeżeli ktoś będzie chciał odpowiedzieć (co prawda nie wiadomo o co pytasz) to zrobi to tu aby inni w przyszłości...
Zrób tak: Dim Temp As Byte Dim Reserved As Eram String * 8 Dim Zmienna As Eram Byte Dim Status As Eram Byte If Status <> 123 then Reserved = "Reserved" Zmienna = 100 'Ustawienie wartości po programowaniu Status = 123 End If Temp = Zmienna 'Odczyt zmiennej z EEPROM'u do RAM Temp = Temp + 22 'Modyfikacja Zmienna = Temp 'Zapis nowej wartości...
Help BASCOM-a mówi : ERAM Most AVR chips have internal EEPROM on board. This EEPROM can be used to store and retrieve data. In BASCOM, this data space is called ERAM. An important difference is that an ERAM variable can be written for a maximum of 100.000 times. So only assign an ERAM variable when it is needed and not in a loop Co oznacza że raczej...
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?
Proszę. Jest to przykład zapisu i odczytu zarówno zwykłych bajtów jak też łańcuchów tekstowych inaczej mówiąc napisów w Eeprom. Program i funkcje działają z małymi pamięciami których adresacja mieści się w jednym bajcie. Do tego przykładu użyłem 24C04 Jeśli ktoś chce to może po prostu wpisać sobie jakieś dane do buff(1), Buff(2) itd i tak zapisać. Potem...
Jak wyłączysz procek w trakcie zapisu eepromu to nie dziwota że zapisze go źle... Czy przypadkiem nie robisz tak że naciskasz menu i zaraz go wyłączasz?
Do programowania używam BASCOM AVR i tak jak podałem powyżej zapisałem do EEPROM-u liczbę 320000000 i potem odczytałem bez problemów. Definiując zapis "Long" następuje automatycznie zajęcie odpowiedniej ilości komórek - sprawdzałem są zajęte cztery komórki.
Procek ma tylko zapisać wartość w EEPROMIE oraz po jakimś czasie odczytać. Chyba za szybko nie jest , 10ms przerwy po zapisie chyba wystarczy... Spróbuję jeszcze zwiększyć czas.
Siemka! A ja mam troszkę inną propozycję dla Ciebie. Nie zapisuj numerów czujników w pamięci programu. Poza tym lepiej jest mieć uniwersalny termometr gdzie jak uszkodzi się jeden czujnik, to z łatwością można zastąpić go innym. Zadeklaruj sobie takie zmienne: dim dsid(40) as eram byte ' zmienna tablicowa (EEPROM) dla 5 czujników dim...
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...
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...
Mam mały problem - nie potrafię przenieśc kodu z bascoma do avr c (eclipse). Tzn, wiem ze nie przeniosą go 1:1 chodzi mi raczej o ogólne zasady, szkielet: chodzi o zapis do pamięci eeprom stanu licznika - licznik sie zmienia przy pomocy przycisków góra/dół - przy wyłaczeniu zasilania oczywiście jego zawartośc jest kasowana. Oczywiście zapis przy każdej...
Witam. Progamując nie korzystałem z EEPROM, a jeśli już to z zapisu i odczytu i to w bascomie. Tam sprawa jest prosta 2 komendy. Pisząć w asemblerze na AVR chciałbym aby program pobierał dane z pamięci EEPROM. Zdeklarowałem w pamięci EEPROM miejsce od którego mają być dane zapisywane. Następnie muszę wpisać dane - tylko nie wiem w jaki sposób to umieścić...
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...
Nie do końca wiem o co Ci chodzi , hm mógłbyś jakiś przykład dać? Myślałem jeszcze o użyciu pamięci EEPRom tylko pewnie na długo by nie wystarczyła zapis/odczyt przy codziennym użytkowaniu
bascom eeprom zapis bascom zapis eeprom eeprom bascom zapis
bezpiecznik zasilacza komputera czujnik poziom oleju miska pacifica czujnik
Wahania palnika w piecu gazowym Termet Silver Pro Radio Blaupunkt nie czyta płyty CD-ROM GPS