Poza tym funkcje Readeeprom i Writeeeprom są chyba niezbędne? Wypróbuj propozycje zmian i sam się przekonasz.
http://www.elektroda.pl/rtvforum/topic14...
...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
Dim zmienna As long ,long1 as byte at long overlay, long2 As Byte At long + 1 Overlay, long3 as byte at address + 2 overlay, long4 as byte at address +3 long=1 do WRITEEEPROM long1 , 1 WRITEEEPROM long2 , 2 WRITEEEPROM long3 , 3 WRITEEEPROM long4 , 4 loop end
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...
Program się zawiesi bo na czas zapisu program jest zatrzymywany w pętli oczekującej na zakończenie zapisu (tak robi BASCOM a domyślam się że mówisz o BASCOMowej funkcji zapisującej a nie jakiejś własnej). Kolejne przerwania od Timera będą wywoływane tuż po poprzednim a więc program główny będzie praktycznie stał w miejscu. O zajeżdżaniu pamięci EEPROM...
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ą...
Mam wrażenie że przy obecnie wybranym algorytmie nie da się przyspieszyć. Gdyby dane o adresie zapisywane były w ciągu z reszta to ujdzie i nie trzeba czekać ale tak to niestety: 1. ładujesz adres początku 2. wysyłasz dane po koleji 3. czekasz te 10ms 4. zapiszujesz pod 5000 zmienną adresu 5. czekasz znowu 10ms I tak powinien wyglądać fragment zapisywania....
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...
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...
Witam, W urządzeniu kontroluję zanik zasilania głównego (urządzenie jest nadal podtrzymywane zasilaczem buforowym) i w momencie jego zaniku zapisuję kilka zmiennych do wewnętrznego eeproma. Zrealizowałem to tak jak poniżej i wszystko funkcjonuje ok. PYTANIE: Kod znajduje się w pętli głównej - zastanawiam się czy pomiędzy zapisem kolejnych zmiennych...
witam! chce zrobić zapis do pamićcie eeprom 24c512 "podobno są takie" Chodzi konkretnie o to aby zapisywać ciąg znaków takich jak: R260120071330100 na końcu tego stringu będzie znak powortu karetki enter Z260120071345100 na koncu tego stringu będzie znak powortu karetki enter ale ten enter nie jest tak ważny jak to żeby mi te dane program napisamy w...
https://obrazki.elektroda.pl/8025280500_... Witam! Przedstawiam wam w pełni automatyczną domową windę osobową! Jest to mój największy, najbardziej skomplikowany, i najdroższy projekt którym chwaliłem się jakiś czas temu w dziale „DiY w budowie”. (https://www.elektroda.pl/rtvforum/viewt... Na początku...
(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....
:arrow: GienekS pisze w Bascomie Dzieki zumek wlasnie o takie cos mi chodzilo, nie wiedzialem ze jest taki zapis Set Wynik(1).i ale teraz juz wiem o co chodzi, jutro bede probowal jesli macie jakies inne pomysly to piszcie na wyparek jak by z tym byly jakies problemy Dzieki all Bardzo prosze. Tylko jeszcze mała uwaga. Uzywając indeksu do ustawiania...
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...
https://obrazki.elektroda.pl/2034175900_... Wczoraj wczesnym rankiem (tj. niedziela) tak sobie leżałem oglądając TV i pomyślałem, że przydałoby się zaświecić światło w pokoju, ale strasznie nie chciało mi się wstawać… Tak powstał pomysł na oświetlenie sypialni sterowane pilotem IR. ;) https://obrazki.elektroda.pl/6206372600_...
(at)stozek - normalnie w Bascom nie jest potrzebna komenda Start Timer0 bo jest on uruchamiany od razu podczas konfiguracji. Używa się tej komendy tylko jeśli poprzednio zatrzymałeś Timer poprzez Stop Timer0. Rozumiem, że zatrzymujesz timer. Tak więc zatrzymywanie timera to zabranie mu źródła taktowania. Bascomowe komendy moża wiec rozumieć tak: Start...
OK, jeśli dobrze rozumiem to chodzi o zapis 32 bajtów, czyli strony. Sprawdziłem program z zapisem od adresu 0 do 3200 z krokiem 32 i wszystko działa, ale w ten sposób tracę niepotrzebnie 23 bajty na każdą zapisaną stronę (ponieważ zapisuję 9). Czy jedynym sposobem jest zapis jednego bajtu, zwiększenie adresu o 1, zapis kolejnego bajtu, zwiększenie...
W konfiguratorze LCD ten pin nie występuje w ogóle, więc w sumie nie wiem jak zadeklarowac, że go sie w ogóle używa.... config lcdpin Z częstotliwością nic nie grzebie, więc jest fabryczna, w kodzie mam polecenie " $crystal = 8000000 " . Oscylator rzeczywiście ma 8MHz, ale fabrycznie jest włączony dzielnik... Pomigaj diodą. Zrób prostą pętlę - zmień...
Czy jak w Bascomie Avr, zapisuję zmienną X do pamięci EEPROM, to muszę wyłączyć przerwania. ? Bo to wygląda tak , że kręci się pętla główna Do...Loop. Jeżeli w tej pętli zostanie wykryta zmiana stanu zmiennej, to jest nowa wartość wpisywana do pamięci. Dodatkowo działa Timer0 do obsługi wyświetlaczy, przerwanie co 4ms Jeżeli w czasie zapisu do pamięci,...
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...
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...
I2cwbyte &B1010_0000 To zapis binarny dopuszczalny przez BASCOM (spotkałem w kilku przykładach), można też oczywiście zapisać adres szesnastkowo i dziesiętnie (160). Rozumiem Twoje zdziwienie, bo sam tak zareagowałem... ale kompiluje się bez problemu. Poniżej zameszczam zmodyfikowany program... jednak też nie działa prawidłowo... niektóre liczby wyświetlane...
Hello to all programmers, Can anybody hint me with a routine for Bascom AVR ? Here is the idea: LCD 16x2 is connected and must display the choice Menu for selecting a constant (i.e variable constant) by UP/DOWN buttons - from 1 to 150 , and then store it with third button.Constant is displayed as number, which is increased or decreased by the buttons....
Niemniej nawet taki prosty bootloader wygląda na coś poza możliwościami autora Dlatego napisałem "teoretycznie mozliwe" . Do tege ten bascom
Witam wszystkich *********** Wielka prośba o pomoc *********** Napisałem w Bascom'ie na procka AT89c2059 mały programik zamka obsługujący pastylkę Dallas'a. Odczytuje pastylkę i porównuję ze wzorcami które wpisałem w program na stałe i to wszystko działa. Tutaj mam pytanie jak odczytany numer z pastylki który jest w tablicy (8 elementowej) zapisać...
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...
Witam po przerwie. Ćwiczę teraz zapis do pamięci EEPROM i mam problem. Chcę, żeby po wyłączeniu urządzenie pamiętało ostatnią nastawę. Po każdym naciśnięciu przycisku program zwiększa i zapisuje zmienną X do pamięci EEPROM Po wyłączeniu i włączeniu odczytuje zmienną, ale działa to tylko dla X=2 i x=3 Jeśli x=1 i wyłączę i włączę zasilanie lub zresetuję...
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...
...Ps. Tak, już dla ścisłości to skoro do tej pory nie używałem tej pamięci to czas to zrobić. A przy okazji to czy zmienną typu STRING też tak samo łatwo tam zapiszę...? To działa ze zmienną dowolnego typu :D Ijeszcze jedno podejście do tematu.. Napisałem kod z uwzględnieniem Twoich uwag Piotrek tzn: Dim x As Eram Single Kod się skompilował i jest...
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ęć...
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.
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ć...
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:...
Wyraźnie ci pisze "I2cwbite" czyli zapis jednego BAJTU.. w EEPROM'ie I2C komórka ma 8 bajtów.. jeśli chcesz zapisać jakąś zmienną która zajmuje więcej niż bajt to niema zmiłuj sie.. musisz podzielić na bajty... np takie coś: dim A as word A = 12345 '--------- I2cstart I2cwbyte adresw I2cwbyte adres_komórki i2cwbyte hi(A) I2cstop '--------- I2cstart...
Hej wszystkim. Pytanie moje dotyczy przechowywania kilku zmiennych w pamięci ulotnej i ewentualny zapis wartości tych zmiennych do EEPROM w określonym momencie. Program napisany w Bascom i póki co nie mam ochoty przerzucać go do C więc muszę rozwiązać to na aktualnym etapie Otóż mam sobie 3 zmienne: [syntax=vbnet]Dim Czas_sekundy As Byte Dim Czas_minuty...
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...
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...
To ciekawe ale mam identyczny przypadek. Bascom zapisywał poprawnie - czyli hardware ok. W C (avr-gcc) zgodnie z przykładem producenta nie szło nic zapisać, natomiast po poprawce jak wyżej śmiga... :| PS. Zmarnowałem na znalezienie rozwiązania dwie noce i pewnie myślałbym dalej nad tym, co jest nie tak gdyby nie ten post... Dzięki! :)
Witam. Przeglądam właśnie dyskusję. Kolega Ucy74 słusznie zwrócił uwagę na coś co zostało pominięte w ferworze waliki z impusami,jak zauważyłeś ma być niby robiony zapis do pamięci ale nie przez 0,5 mS tylko co 0,5ms..... a to juz jeśli chodzi faktycznie o eeprom makabra,biorąc pod uwagę czas samego zapisu do eeproma no i biorąc pod uwagę jego żywotność,mam...
Witam. Sprawdziłem. bascom wersja 2.0.5.0. program się kompliluje i wyświetla "no errors found", ale poprawiłem deflcdchar na wersję bez nawiasów. Bawiąc się na zestawie uruchomieniowym zauważyłem, że pomimo wyłączonego kursora, czasami się on pojawia. Zawsze jest widoczny w przypadku odmierzania czasy pracy gdy odmierza jednostki sekund. Jest na przykład...
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,...
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 wszystkich . problem mój polega na tym że z nieznanych przyczyn w moim urządzeniu kasuje się zawartość pamięci eeprom . urządzenie zbudowane jest na tiny25 , stabilizowane 78L05 , filtrowane po stronie wtórnej c=470 nF i pracuje w samochodzie . po jakim czasie zawartość pamięci eeprom jest cała FF . to samo urządzenie jeśli odczytuje dane z flash...
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,...
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"...
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...
1) Attiny13 ma tylko 64 bajty eeprom = 64 komórki, więc zapis czegoś powyżej nigdy nie zadziała 2) Podczas programowania procesora sprawdź czy fusebit od eeprom jest ustawiony aby zachował jej zawartość (tzn nie kasował) 3) Zamiast overlay użyj HIGH i LOW aby dostać się do połówek zmiennej typu word 4) Zobacz niżej że to syf, może to zadziała ale nie...
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...
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...
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...
Case`ów nie dotykaj. Napisz wszystkie a program określi które wyświetlić a które pominąc ;) Zapis tylko jednej zmiennej do Eeprom. Za to po przepisaniu z eeprom do SRAM możesz sprawdzać każdy bit z osobna. Na dodatek numer bitu może być zmienną czyli jeśli zmienna ma 16 bitów to drugą zmienną możesz określić o który bit Ci chodzi. Jeśli zmienna Menu...
ATTiny13, do pinu 2 (PB3) podłączony jest dzielnik napięcia mierzący napięcie zasilania. Po spadku napięcia poniżej zadanej wartości powinna nastąpić sygnalizacja poprzez "wywołanie 3 mignięć" na pinie 5 (PB0). Poziom napięcia przy, którym ma nastąpić sygnalizacja ustalany jest przez zapis wartości napięcia zasiania do EEPROMu po zwarciu pinu 1 (PB%)...
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...
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....
Witam. Jestem raczkujący jeśli chodzi o technikę Mikrokontrolerów. Od miesiąca posiadam zestaw EVB 4.3 z kursem AND-Tech. Zrobiłem prymitywne urządzenie do sterowania lampy. Potrzebuję je wzbogacić o funkcję zliczania czasu przebiegu tej lampy ( po to by wiedzieć ile już świeciła). Lampa ma ograniczony czas żywotności więc funkcja jest pożyteczna (pozwoli...
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...
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
Co do kodu, to wstawię coś wieczorem, jak wrócę z pracy. Jeśli chodzi o obsługę RFM12 to mam z tego wątku [url=http://www.elektroda.pl/rtvforum/to... z przed ostatniej strony ( jest tam też zresztą kilka moich postów ), natomiast nie ma tam ważnej linijki kodu, który odblokowywał kontroler w czasie pomiędzy odbiorem danych, a który...
Przepisujesz z ksiazki? :cunning: Popatrz dobrze czy np. jest tam cos takiego: $regfile = M8def.dat Tutaj masz poprawny kod: 'Program sterowania dwoma układami DS1820 dołączonymi 'do tej samej magistrali 1-Wire $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator 'o częstotliwości...
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.
Ok dzięki Jml. 'Program sterowania dwoma układami DS1820 dołączonymi 'do tej samej magistrali 1-Wire $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator 'o częstotliwości oscylatora 'taktującego mikrokontroler Config Pinb.1 = Input Config Pinc.5 = Output 'linia PB1 jako wejściowa...
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]
No właśnie, nie wiem czy tak to sie nazywa ale staram sie już pare dni zastąpić tablice zrobioną na wewnętrznym EEPROMie ATMEGI na taką która była by w 24cXX Program pisany w BASCOM np. Do tej pory robiłem to tak. Dim Dane(500) as Eram Word Dim X as Word, Z as Word potem w programie bylo tak Z = Dana(X) lub Dana(X) = Z Teraz chce zrobić tak żeby to...
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 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 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,...
Próbowałem coś takiego i męczę się cały czas ,ale i tak mi wychodzą głupoty. :( [syntax=basic4gl]Sub Gettime() 'pobieranie czasu z PCF8583 'początek petli I2cstart 'inicjalizacja magistrali I2C I2cwbyte 166 'podanie adresu PCF8583 dla zapisu I2cwbyte 2 'wybranie drugiego rejestru (sekund) I2cstart 'powtórna inicjalizacja magistrali I2C I2cwbyte 167...
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 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 *************************************...
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, 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ś...
Konwersje byte->string otrzymuje się przy użyciu funkcji Str. W drugą stronę działa funkcja Val.
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)
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)...
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_...
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, 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.
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,...
Jesli zapis jednego znaku do eepromu zajmuje 10ms to musisz wysylac, dane z pliku porcjami inaczej pogubisz dane. Zapis na karte byl o tyle dobry ze spokojnie moglem zapisac 512 bajtow, podczas gdy dane zapisywaly sie w buforku, czyli zapis na karte byl mniejszy niz 512ms (dobior danych).
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)
RTFM! Wszystko jest w polskim helpie do Bascoma. Po za tym wewnętrzny eeprom czy zewnętrzny?
W takim razie tu bardziej wiarygodne źródło: [url=http://www.mcselec.com/index.php?op... 2 I wracamy do pytania dlaczego w EDW było to zrobione prościej (pierwszy post).
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...
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...
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...
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...
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
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.
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.
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...
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ść...
Tak.
tak jak napisał kolega bascoma AVR czeka na początku instrukcji writeeprom czy pamięc jest gotowa do zapisu. a tak wogółe to ja stosuje zmienne typu eprom gdy chce zapisaccoś do eproma. oczywiście należy uważać z ich wykożystaniem (nigdy w pętlach) dim XXX as Eram Word na zmiennych eRam nie mozna stosować operacji tylko XXX = coś lub coś = XXX
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...
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...
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...
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...
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...
bascom zapis eeprom zapis eeprom bascom eeprom bascom zapis
gumka przewodząca wyświetlacza przekaźniki programatora sterownik temperatury grzałki pieca
pochłaniacz oparów lutowniczych komputer kupić
Instrukcja obsługi radiobudzika Tevion 2008 - jak znaleźć? Kod błędu R08 w pralce - co oznacza?