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...
...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
(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....
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...
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...
Witam, problem jak w temacie. Program się kompiluje ,Bascom nie wyrzuca żadnych błędów ,ale nie działa zapis i odczyt z EEPROMU??? Programik testowy mający na celu zaznajomić się z obsługą wewnętrznej pamięci eeprom ,w przyszłości chciałbym ją wykorzystywać do bardziej zaawansowanych rzeczy (typu zamki szyfrowe, pilot programowalny ,itp.) ,ale pierw...
W trudnym środowisku można na wszelki wypadek inicjalizować wyświetlacz co jakiś czas (a nie przy każdej pętli). Pin WR umożliwia odczyt z wyświetlacza. BASCOM używa go do odczytu flagi zajętości. Bez niego czeka maksymalny czas, w którym sterownik powinien wykonać instrukcję. O żadnym związku tego pinu z zakłóceniami w dokumentacji nie ma. Jeśli w...
Witam! Z racji tego że nie można tworzyć tablic wielowymarowych w Bascomie proszę o pomoc w rozwiązaniu mojego problemu. Potrzebuje (w sterowniku czasowym - tygodniowym) przypisać do 10 czasów załączania i wyłaczania oraz sterowania dla każdego dnia tygodnia. Nie mama pojecia jak to rozwiązać. Z grubsza do pamięci eeprom musze zapisać: Bit_X, D_tyg,...
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:...
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.
Witam, Ważna uwaga: typ long jest całkowity, nie ma części ułamkowej, trzeba użyć single lub double. Mała wskazówka z helpów (polski ubogi pełny po angielsku w programie) Pamięć ERAM. Większość procesorów serii AVR posiada wbudowaną pamięć EEPROM. Pamięć ta może przechowywać dane nawet po wyłączeniu zasilania. Jak podaje producent nawet do 10 lat. Pamięć...
Ponownie witam Dzięki za odpowiedź ale nie chodziło mi o odczyt danych z eeprom'a i porównanie ale o zapis w jednej pętli wszystkich elementów tabeli. Odczyt ID pastylki do tabeli napisałem tak: 1wreset ' Reset magistrali 1wwrite &H33 ' Odczytaj ID For I = 1 To 8 Ar(i) = 1wread() ' Wpisz do tablicy numer ID Next Mam teraz problem z...
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...
Witam, przeszukałem już cały portal i nie znalazłem odpowiedzi. mam kod obsługi 3 x DS18X20 z numerami układów zapisanymi w EEPROM i jeżeli chcę odczytać właściwy ROM to muszę użyć sekwencji jak w kodzie w sekcji 1 (bez skoku do podprogramu) 'program odczytujący obecność układów 1WIRE i sprawdzający ROMy z EEPROM $regfile = "attiny2313.dat"...
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...
rj1307 napisał: I drugie pytanie, jeśli dobrze zrozumiałem, nie mogę adresować xram'u od 0 tylko od adresu powyżej końca pamięci wewnętrznej mikrokontolera. Jak więc zapisać pełne 64kB? Bezpośrednio sie nie da. W kontrolerze trzeba ustawić adresowanie 32 kB. Pamięć trzeba podzielić na dwa obszary po 32kB. Linią adresową A15 (nie musi to być PC7) wybieramy...
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...
Reg_no(i) = 1wsearchfirst() For I = 1 To 8 Writeeeprom Reg_no(i) , 10 Next tego całkowicie nierozumiem, najpierw zapisujesz dane do tablicy pod indexem którego nawet nieznasz (zmienna 'i' niejest zainicjalizowana) oraz nierozumiem zapisu 8 bajtów, wszystkie pod ten sam adres w pamięci eeprom, pierwsze 7 bajtów zostanie nadpisane i ich nieodzyskasz....
Co jest źle? [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 8000000 $hwstack = 64 $swstack = 64 $framesize = 32 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.3 , Rs = Portc.2 '********************* Konfiguracja magistrali I2C Config I2cdelay = 5 ' domyślnie tryb Slow Config Sda...
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,...
Niestety próbowałem sam, ale juz nie mam siły. Przeczytałem tematy na forum jednak nie widze w nich rozwiązania problemu, dlatego zacząłem nowy temat. Problem tkwi w tym, że otrzymuje z układu DS18B20 po dokonaniu odczytu z rejestrów wynik w postaci FFFF. Program piszę pod ATMega48. Czujnik połączony jest z zasilaniem z stabilizatora 7805. Najpierw...
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...
Witam... Kolego <PiotrzePitucha> troszeczke nie rozumiem zapisu... nie spotkałem się jeszcze z takim zapisem.... mógłbyś mi to wytłumaczyć..?. Chciałbym jeszcze dodać kawałek kodu o który właściwie toczy się moja batalja.. Otóż chciałbym móc ustawiać zmienną SINGLE i zapisywać tą wartość do pamięci eeprom. Kod programu: Sub U_termostaty Cls Lcd...
Tak ściągnąłem ten plik, i wyrażanie tam pisze, że jest to tylko główna pętla programu, czyli fragment. Brakuje tu deklaracji zmiennych, i jest to funkcja programu, wskazuje na to pierwsza linia SUB MAIN, oraz końcowa END SUB. Ten fragment kodu to tylko odczyt danych konfiguracyjnych klawiszy na pilocie, odbieranie komendy z pilota, jej interpretacja,...
Da sie to zrobić? Bo robie projekt na atmega8515 (mam ich kilka więc nie będe kupował nowego) a on nie ma TWI a potrzebuje dołączyć pamięć EEPROM Jak to zrobić pod bascomem o ile sie da Witam wszystkich. Ostatnio spotkałem sie z podobnym problemem. Musiałem odczytać i zapisać zawartość 24c08 (1024 bajty). Niestety :( programy przykładowe załączone...
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)...
Witam Mam płytkę Loggera GPS + SD + PCF8563. Jeśli chodzi o GPS i zapis na SD wszytko jest OK. Problemem jest ( i to pierwszy raz się z czymś takim stykam ) odczyt danych z z układu PCF8563. Otóż dla pewnych wartości sekund, odczytana wartość czasu - godziny jest większa o 40 ( czterdzieści ). Czyli jeśli czas jest 22:40:02 to jest wyświetlany poprawnie,...
1) Dopisałem, to pomogło. Właśnie przez to się procesor wieszał. 2) To akurat jest dobrze, bo temp służy do obliczania dziesiątek i jedności. 4) Można, jednak nigdy nie korzystałem z SPI, a to jest mój pierwszy samodzielnie pisany program. Problem jaki teraz mam to zmienna "Adres". Mianowicie jest ona jako "word" (16bitów). Niestety jednak układ wywala...
ditomek -> masz rację,że ta dyskusja nie ma celu. Dodatkowo powiedziałbym, że ani kolega Balu ani nikt inny w tym ja nie chce zrobić z ciebie ostatniej "lamy" jak to określasz... .... to raczej ty sam rozbisz z siebie to co oznacza to dziwne określenie, ponieważ już kolega Balu podpowiada ci, że nie można traktować zmiennych eram jak zwykłych zmiennych...
Witam podaję kod, który działa poprawnie, oczywiście należy go dopasować do swoich potrzeb. [syntax=vbnet] 'Sterownik swiatel V2.2 '10-06-2015 'Roman Biadała $regfile = "m128def.dat" $crystal = 11059200 '$lib "fp_trig.lbx" '******** Ustawienia portów ****************************************... '******** Sterowanie 74HC541 - przekaźniki *************************************...
Witam Piszę program w Bascomie na Atmega32 do sterowania ogrzewaniem w warsztacie i mam problem. Jest zegar RTC, zewnętrzny Ram, Timer, Menu i to wszystko działa bez zarzutu - dokładnie tak jak bym chciał. Chciałem dołożyć czujnik temperatury i wykorzystać do tego celu wejście ADC. Problem pojawia się w momencie jak w podmenu "Start_webasto" dodaję...
Witam, jeszcze proszę praktyczne rozwiązanie takiego problemu, gdyż program jest praktycznie ukończony, ewentualnie drobne poprawki kosmetyczne:), ale w obecnej wersji odczyt i zapis wykonywany jest z poleceniem "wait", przez co wskazywane temperatury nie są czasem poprawne - wyskakuje BRAK ds'a. Już nie mam pomysłu jak to zrobić, proszę tylko o jakieś...
Mam sobie niżej pokazany programik w bascomie ale niestety nie wiem jak dopisać obsługę pilota :| Programik jest na 89c4051 ;) $large Config Lcd = 16 * 2 Config Timer1 = Timer , Gate = Internal , Mode = 1 Config Sda = P3.1 Config Scl = P3.0 Dim Licz As Byte Dim I As Byte Dim Nast(5) As Byte Dim St As String * 7 Dim W_reg As Integer Dim Wielk1...
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.
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)
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_...
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...
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...
Moim zdaniem tylko opóźnienie przy zapisie powinno wystarczyć i to mniejsze np. 10ms. Przy odczycie bez opóźnienia lub dużo mniejsze 1...5ms.
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...
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...
Przejrzystosc w kodzie przede wszystkim. :D Pozniej latwiej jest zlokalizowac ewentualne bledy i samo poruszanie sie w kodzie jest znacznie latwiejsze. W kazdym razie wracajac do tematu to ja osobiscie nie lubie etykiet wiec wolalbym to rozwiazac np. w ten sposob: Sub Czytaj_id_klucza() 'tutaj wstawiasz kod odczytu End Sub i pozniej tylko: Call...
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...
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.
. 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!... Piszę ten post, ponieważ nie mogę poradzić sobie z (prostym pewnie da Was) problemem zapisu i odczytu plików graficznych *.bmp lub *.bgc do i z zewnętrznej pamięci EEPROM, np. 24LC256... Chce zapisać w niej kilkanaście obrazków np. 132x100 pikseli (wystarczą 256 kolorowe), potem odczytywać i wyświetlać na LCD... Odczyt/ zapis z pamięci Flash...
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...
$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 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...
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...
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...
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...
Każda wersja programu działa poprawnie, tak jak myślałem masz czujniki podpięte na długich przewodach i to jeszcze połączone każdy innym przewodem, czyli topologia gwiazdy. Nie dziw się że to źle działa, ale to nie tak sie robi. Jeśli chcesz by każdy czujnik był na osobnym długim przewodzie to lepiej by każdy był podpięty do innego portu, wtedy będzie...
Oczywiście sytuacja tyczy się też odczytu - czy w trakcie wyłączyć przerwania?
Dziękuje ... wpis i odczyt działają a jak mam przechodzić po po szczególnych zapisach bo jak dodam wyświetlanie [syntax=basic4gl]Plus: '/reczna incrementacja czestotliwosc poczatkowej freq_0 = freq_0 + 200 Locate 1 , 1 : Lcd Freq_0 Return minus: '/reczna decrementacja czestotliwosc poczatkowej Freq_0 = Freq_0 - 200 locate 1,1:lcd freq_0 return[/syntax]...
daj schemat - może coś wyjaśni (dorzuć też kod - przynajmniej fragment konfiguracji, fragment zapisu i odczytu)
Ale chodzi mi o kod źródłowy do BASCOMA AVR żeby wyświetlił zawartość pamięci nie chodzi mi o zapis do EEPROM'A.
Co do adresów, to na elektrodzie znalazłem, że niższy ma być do odczytu, a wyższy do zapisu. W helpie jest przykład i tam jest niższy do zapisu, wyższy do odczytu. Sprawdzę wieczorem.
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...
Z tym, że tablice musiałbym wcześniej wpisać w program, a mi chodzi o to, by "uczyć" tego robota danego zadania. Jeśli zmieniłbym odległośc punktu A od B i znowu postawił przeszkode, w którą by robot uderzył, to wtedy ponownie musiałby zapamiętać nową trase. Przy czym jeśli działałbym w obrębie pamięci RAM, kasowałbym ją po prostu resetem zasilania....
Przede wszystkim proponuję zrezygnować z funkcji writeeeprom i readeeprom, jeśli w Bascomie dostępne są lepsze metody na dostęp do eeprom'a ;) Proszę zapoznać się z możliwością zdefiniowania od razu zmiennej w EEPROM DIM Id1(8) As Eram Byte czy jakoś tak (mogę już dokładnie tego nie pamiętać) i potem chulaj dusza - z odczytem i zapisem do niej prawie...
Witam Jestem młodym elektronikiem. I nie potrafię wykorzystać mojej pamięci eeprom. Piszę w Bascomie. Mam polską wersję, helpu z Bascoma, ale tej nie rozumie. Skoro nie rozumiesz po polsku ;) , to w jakim języku mam Ci to wytłumaczyć :?: Spróbuję jednak po ... polsku ;) Oto próbka kodu, który mi nie działa. $lib "mcsbyte.lbx" $regfile = "2313def.dat"...
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?
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.
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...
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...
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...
24C64 to pamięć eeprom a nie flash, a co do pytania, to pamięć się adresuje bajtowo i jeśli zaprojektujesz funkcje która przeliczy numer "paczki danych" na adres komórki (np 4 sąsiednich komórek) to możesz ją wykorzystać zarówno przy zapisie jak i odczycie. PS Tak naprawde to ja nie wiem w czym tkwi Twoja wątpliwosć.
Co do twojego pierwszego problemu, to najprościej jest czytać ciąg nie z określonego miejsca, a za określonym znakiem. Wszystkie dane masz przedzielone przecinkami. Zakładam że tych przecinków jest stała ilość. Po prostu czytaj łańcuch po 7 przecinku do następnego przecinka i już i wtedy długość wcześniejszych danych nie ma znaczenia. Co do eepromu...
Mam ten sam problem z kartą 4428. Przeszukałem różne fora i nic. Jest wiele informacji ale mało konkretów. Czy może w końcu ktoś napisać aplikację w BASCOM-ie z odczytem i zapisem tej karty?
Dim zmienna2 As Eram Integer At 10 Dim zmienna3 As Eram Integer At 20 Dim zmienna4 As Eram Integer At 30 Dim zmienna5 As Eram string * 10 At 40 dim zmienna as integer do gosub zapis gosub odczyt loop zapis: zmienna2 = zmienna return odczyt: zmienna=zmienna2 return zapis_text: zmienna5= " czesc " return i analogicznie odwrotnie......... na początek wystarczy,...
Bascom AVR na pewno potrafi sobie poradzić z konwersją przy zapisie i odczycie do/z eeprom. Nie wiem jak '51
Czy w Bascomie, przy odczycie danych z wewnętrznej pamięci EEPROM, należy wyłączać przerwania - np. Timery je zgłaszające, czy nie ma to znaczenia i dane po odczycie, nawet jak ów proces zostanie przerwany, będą nieuszkodzone? Czy przerwania wyłączają się automatycznie, tak jak przy zapisie, tj. WRITEEEPROM var , address czy nie? Polecenie odczytujące...
...potem zmieniam program i chce ta wartosc z eepromu wpisac do zmiennej b, czyli... a co to znaczy zmieniam program u ciebie ???? wgrywasz nowy skompilowany wsad do procka? czy co???? a jeśli wgrywasz drugi - to czy zadbałeś o to aby przy tej okazji nie był kasowany eeprom ? czy nie dasz rady dokonać takich testów za pomocą jednego programu w procku...
marekmarszal i romantv ---> to zrozumiałe, że ktoś może "toszkę klikać" w Bascoma ale nie być biegłym. Jednak jesli ktoś już wam podaje jak na talerzu rozwiązanie (żeby już dobitniej tego nie nazwać) Dim Aeeps(10) As Eram Word At 1 oraz sposób zapisu i odczytu takiej zmiennej Zapis: zmienna1 = 1244 Odczyt: zmienna_RAM = zmienna1 co jak widać...
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
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...
Zapisać np: tak Lcd "Zapis danych !!!" Writeeeprom Hist , 1 Writeeeprom T_pompy , 2 Writeeeprom Hist_pompy , 3 A odczytać tak: Rem * * Odczyt Konfiguracji * * Readeeprom Hist , 1 Readeeprom T_pompy , 2 Readeeprom Hist_pompy , 3
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.
Witam Chciałbym skonsultować temat. Adesy i komendy klawiszy w kodzie RC5 mam zamiar przechowywać we wbudowanej eeprom mikrokontrolera Atmega16. Czy (po odebraniu kodu RC5) w celu porównania odwoływać się za każdym razem do danej zawaetej w EEPROM (oszczędność pamięci ram, krótszy, łatwiejszy kod, ale za to częsty odczyt pamięci EEPROM) czy stworzyć...
google naprawde nie gryzie : $regfile = "m128def.dat" $crystal = 14745000 $baud = 115200 'set the baud rate for the first hardware UART. $baud1 = 9600 'set the baud rate for the second hardware UART. Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0 Config Com2 = Dummy , Synchrone = 0 , Parity...
Witam, mam sterownik który co kilka minut zapisuje w pamięci AT24c1024 jeden z 4 parametrów, są to 3 wartości typu Byte oraz jedna typu Word. Niestety raz na 1-2 dni występuje problem z zapisem, "zacina" się komunikacja i sterownik najczęściej zostaje zresetowany przez watchdog'a, jeśli wyłączę watchdoga sterownik przestaje reagować. Na magistrali jest...
Ja robię to np tak: Lcd "Zapis danych !!!" Writeeeprom Hist , 1 Writeeeprom T_pompy , 2 Writeeeprom Hist_pompy , 3 a odczytuję tak: Rem * * Odczyt Konfiguracji * * Readeeprom Hist , 1 Readeeprom T_pompy , 2 Readeeprom Hist_pompy , 3 Jak narazie działa bez problemu, nie wiem do końca czy jest to poprawne użycie tej funkcji. Nie należy zapisywac pierwszego...
Fajnie w końcu zrozumiałem zapis do pamięci 24c32 wielkie podziękowania Panu Andrzejowi. Pamięć e2prom będzie kolejnym układem peryferyjnym w moim urządzeniu oraz nauka obsługi pamięci szeregowych Data flasch at45db011b i eeprom 93c64 ,ekspander wejścia- wyjścia na i2c poznałem . Ala wiem teraz do kogo się zwrócić . Dzisia Postaram się jeszcze napisać...
Zapisuj sobie to do eeproma wtedy zapamiętasz na stałe. Jak wykonać? Hmm za pewne wykorzystując jakiś warunek :) Aha, czyli mam sobie przyswoić wiedze na temat zapisu/odczytu z eeprom. Tego mi brakowało :) Dzięki za odpowiedź.
tmf: dzięki, faktycznie jest rozbieżność. Dopiero zaczynam naukę programowania w uC w języku C (wcześniej BASCOM) i troche opornie mi to idzie. W BASCOMie pisałem programy mało wiedząc co robie, co się dzieje w uC (nie było to potrzebne) pisząc w c trzeba się bardziej orientować...
Witam, i jak tam ? udało się koledze Villen poukładać i sprawdzić ten kod od roku w pcf8583 ? jeśli tak to prosiłbym o kod (najlepiej całość z godzinami,dniami,rokiem - żeby nie było znów jakichś niedomówień ;) ) bo na sieci znalazłem tylko takie coś Villen ładniej potrafi opisać co i jak w kodzie za co odpowiada :)
Witam Wszystkich. Mam problem, taki mały raczkujący problem. Posiadam kostke ds2431, 128bajtowego eeproma. Moje pytanie odnosi się do sposobu adresowania komórek pamięci i przesyłania danych. Jeśli ktoś byłby w stanie opisać procedure zapisu "czegoś" , a potem odczytu tego "czegoś" , byłbym wdzięczny. mam tylko numer ID tej pamięci. pozdrowienia.
Odpowiadam z sporym opóźnieniem, ale faktycznie problem tkwił w wersji BASCOMA-AVR. Teraz mam wersję i co zauważyłem to, że przy tym samym kodzie, zapis do eeprom przy pomocy zmiennych zdefiniowanych jako Eram jest prawidłowy. Obsługa RTC przy pomocy zdefiniowanego zegara: Config clock = soft, też działa sprawniej (tzn, działa wogóle;))
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....
Witam, zrealizowałem program oraz układ który wyświetla napisy na czterech wyświetlaczach 7-segmentowych. W programie napisy chciałem umieścić w pamięci eeprom a następnie z niej odczytywać. Niestety po załadowaniu programu układ działa tak że zapalają się wszystkie wyświetlacze (bo na początku są wszystkie zapalone - wyświetlacze 7 seg ze wspólna anoda)...
Witam! Noszę się z zamiarem zaprojektowania urządzenia w którym to wyświetlana będzie spora ilości napisów na LCD-ku w związku z powyższym myślę że w tym przypadku idealna okazała by się pamięć eeprom. I tutaj kieruje pytania do Was drodzy forumowicze: 1. Czy odczyt tej pamięci jest tak samo długi jak jej zapis? Myślałem o tym aby pobierać dane z kostki...
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...
Zapis rób przy wyjściu z menu, odczyt przed pętlą główną, a bieżące zmiany od razu podczas pracy menu ładuj do PWM - nie ma sensu robić czegoś takiego: Nastawa->EEPROM; EEPROM->PWM. Zamiast tego: Nastawa->PWM i zaraz potem Nastawa->EEPROM; Pamięci AT24CXX zorganizowane są bajtami - w jednej komórce zatem przechowasz 1 bajt.
Long to zmienna zajmująca 4ry bajty. Jeśli więc potrafisz zapisać w EEPROMie pojedyncze bajty, to możesz zamienić Long na 4 poszczególne bajty i zapisać je kolejno do pamięci. Można chyba też ustalić adres, pod jakim fizycznie zapisywane są zmienne, więc możesz też skopiować te 4 bajty z pamięci wewnętrznej do zewnętrznej.
Mój sposób zapisu do EEPROM'u jest kompletny i nie trzeba już używać Readeeprom i Writeeeprom. Tablicy zadeklarowanej w Eram używasz jakby była zadeklarowana w RAM'ie z tą różnicą, że zmiennych w Eram nie można stosować w sposób bezpośredni w wyrażeniach, itp. Musisz daną wartość z Eram skopiować do zmiennej tymczasowej w RAM'ie, wykonać działanie i...
Zamieszczam tu kawałek kodu z BASCOMA, który opracowałem sobie do testów. Myślę że jest czytelny 'Zapis Sub Write_eeprom(byval Adres As Byte , Byval Value As Byte , Byval Strona As Byte) I2cstart 'start I2cwbyte Addressw 'adres zapisu pamieci np. 160 I2cwbyte Strona 'strona pamięci I2cwbyte Adres 'adres I2cwbyte Value 'wartosc do wyslania I2cstop...
Tak wczytanie do eeproma dzięki $eepromhex już działa poprawnie - dzięki. Ale dlaczego po próbie zapisu i odczytu zmiennej ( debounce dla pind.0 i 1) Układ się resetuje - tak mniemam bo licznik "ekran" nagle liczy od 0. Próbowałem wpisywać poprzez readeeprom i writeeeprom i to samo restart. Coś źle robię ? Pozdr. Rafał
Nie pomogę, ale się pochwalę Chwalipięta :D Szkoda, że nie pomożesz w C bo widzę BASCOM (mój ulubiony nadal). Ale funkcji furtki u Ciebie nie widzę:) Chcę, naprawdę chcę się tego p.......o C nauczyć, ale jak na razie to porażka. Nic poważniejszego nie działa. Prosty przykład, zapis i odczyt EEPROM: Funkcje read i write pobrałem z tego: https://www.elektroda.pl/rtvforum/topic2...
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...
bascom zapis odczyt eeprom eeprom bascom zapis odczyt zapis odczyt eeprom
ciśnienie kompresorze schemat połączenia przekaźnika przebieg samochodu
skoda octavia kontrola akumulator marshall zasilanie
Jak grają kolumny Onkyo SC-550? Onkyo A-35 z Altus 140 - Czy to dobre połączenie?