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.
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
...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
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....
Może cos takiego ? Config Scl = Portc.0 ' I2C Clock. Config Sda = Portc.1 ' I2C Data. Config I2cdelay = 100 Declare Sub I2c_ram_write(byval Addres_desired As Word , Byval Byte_to_write As Byte) ' Writes data to the I2C EEPROM. Declare Function I2c_ram_read(byval Addres_desired As Word ) As Byte ' Reads data to the I2C EEPROM. Declare...
A może zmienną rom_adres zainicjujesz jako Dim rom_adres(8) As Eram Byte.
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...
Poza tym funkcje Readeeprom i Writeeeprom są chyba niezbędne? Wypróbuj propozycje zmian i sam się przekonasz.
http://www.elektroda.pl/rtvforum/topic14...
Nie powinno być problemu, może jeszcze ewentualnie coś masz nie tak z konfiguracją szyny, może procek za szybko wysyła, jak na tą pamięć ? nie pokazałeś całego programu, to możemy tak chatować do jutra... :)
Poczytaj troche helpa Bascom tam jest WSZYSTKO opisane, jeśli chodzi o takie podstawy...
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...
zapoznaj sie z fusebitami. Czy ty chcesz dokladnie odmierzyc 500 milisekund czy okolo? Jak chcesz dokladnie otrzymac to kwarc zew. i timery. A masz zew. ram podlaczony? nie wiem jak chcesz jakas zmienna zdeklarowac poza pamiecia sram chyba ze chodzi ci o pamiec stala eeprom
(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...
. 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...
Zauwzyłem, żę kiedy traktuję atmegę zakłoceniami emc potrafi o ona zacząć wykonywać inny fragment kodu (bascom), 1. AVR-y nadają się słabo lub nie nadają w ogóle do pracy w takich warunkach. Proponuję użyć PIC-a. Jest odporniejszy niż ARV lub poszukać przemysłowego kontrolera. 2. Bascom - nie nadaje się do pracy w warunkach gdzie wymagana jest odporność....
Nie wiem dokładnie czy bascom dokonuje konwersji typu string na byte w tym może być problem. Spróbuj zmienna nm zadeklarować jako 'byte' może pomoże.
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...
Witam Z tego co pamietam to by cokolwiek zapisac i odczytac z epromu nalezy podac tez adres komorki pamieci . W BASCOMIE to wyglada chyba tak : Writeeprom Tekst ,adres a potem odczytujemy Readeeprom Tekst ,adres AT90S2313 ma 128 bajtow pamieci EEPROM, wiec jest 128 komorek jedno-bajtowych komorek pamieci. Stad adres : 0-127 Nie wiem jak wyglada sprawa...
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...
A jak podłączasz ten programator to jest widoczny w menadżerze urządzeń? Może brakuje jakiegoś sterownika? Odczyt eeprom w progisp pokazuje pusty bufor. Hmmmm może ten eeprom jest faktycznie pusty? Jeżli czyta dobrze flash, to dlaczego miałby źle czytać eeprom.
zupełnie nie wiem po co Ci ten programator , do zaprogramowania ATmegi wystarczy programator STK200 , programowanie wewnętrznego jak i zewnętrznego pamięci Eeprom zrealizuje mikrokontroler , chyba że chcesz również programować pamięci poza układem Bascom obsługuje STK 200
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
To że nie ma w nim pamięci ram to jedno , to że raczej asembler to inna sprawa . Kiedyś przypadkiem uszkodziłem At90S2313 i co ciekawe można go uszkodzić tak że procesor sie identyfikuje , programuje i weryfikuje a porty są martwe. To że program w nim działa można stwierdzić np przez załadowanie programu którego zadaniem jest przepisanie czegoś z pamięci...
Fonty muszą być w Flash ROM gdyż tak działa kod z biblioteki. Jedyną możliwością jest jej przeróbka - musisz mieć pełną wersję BASCOM AVR i znać kod maszynowy - a wtedy możesz je przenieść w inny obszar pamięci. Jak już będziesz zdecydowany na przeróbkę to w glcdks108.lib znajdź procedurę _gwrite_lcdchar . Bascom Ci nieco ułatwi zadanie procedurą _getbytefromrom...
Dobra nie ma się, co nad tym rozczulać. :crazyeyes: Marnujemy na to czas, jak jest burak w książce to se możemy szukać błędu. W oryginalnej pomocy BASCOM też nic nie pisze na temat obsługi RC5 na przerwaniach. Spróbuje coś napisać na tym działającym kodzie. Masz w domu tę pamięć EEPROM 24C16. Jak tak to daj znać, i zaprogramuj w niej jakiś tekst, ale...
Tłumaczenie pierwszego kodu. W drugim to wiadomo, że brak biblioteki ;) Mogłem się gdzieś machnąć bo pisałem w przerwie pomiędzy innymi zadaniami. Dodałem tam sobie funkcję b w funkcjach mogę deklarować Local`s które nie są później potrzebne w Global`s. [syntax=vbnet]$regfile = "m2560def.dat" '8K SRAM | 4K EEPROM $crystal = 16000000 $hwstack = 256 $swstack...
Na razie patrzyłem tylko w dokumentację Bascoma... dokumentacje tego procka ma coś koło 250 stron :/ Jeśli już wiesz ogólnie jak działają avr-y , to wtedy dokumentację czytaj wybiórczo , czyli tę część która Cie interesuje ;) Z dokumentacji Bascoma wynika, że stosując polecenie config timer nie da się ustawić prescalera dla trybu PWM... Między innymi...
Mam pewien pomysł na optymalizację dużej ilości np danych tekstowych kosztem SRAMu Zamiast trzymać testy we flashu można by było je tworzyć z danych, a we flashu jedynie trzymać dane wszystkich liter i cyfr. Kiedy byłby potrzebny jakiś tekst byłby tworzony przy pomocy danych zapisanych w array. Jak myślicie dało by to jakiś efekt ? Jeśli chcesz je...
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...
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...
Mortan1 . Aby zaprogramować także EEPROM podczas programowania procesora przez STK500 trzeba sprawdzić czy ścieżka do pliku z zawartością EEPROM-a w polu "Input EEPROM file" została wpisana. A poniżej z listy "MODE" trzeba wybrać "Both". Wszystko ustawia się w oknie dialogowym "STK500 options" po wybraniu polecenia "Program Chip" A ponieważ BASCOM...
Trzeba uważać i czytać cały kod jeśli się go wpisuje, zwłaszcza do swojego mikrokontrolera :D Nie zauważyłeś, że ten Bootloader jest przykładowy i był użyty na takiej płycie testowej. W kodzie skonfigurowano dwie diody LED do mrugania :) I tak jak normalnie nigdy nie konfiguruję wejśc bo normalnym stanem pinu po resecie w mikrokontrolerze jest "wejscie"...
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...
1. Odczyt z EEPROM jest nieco wolniejszy niż z SRAM. 2. Ogólnie podczas odczytu wartość nie powinna się zmieniać, ale znany jest ogólny problem z pamięciami EEPROM, mianowicie czasem (np. poprzez zakłócenia w zasilaniu podczas startu a ze źle ustawionym BOD, czy inne tego typu sprawy "niecyfrowe") wartość może się zmieniać. 3. Sposób jest na to prosty...
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
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....
Podobny zestaw edukacyjny oferowało AVT - zestaw uruchomieniowy na bazie 2051 (MCS51 do BASCOM College). DSM to był w zasadzie pełnowartościowy komputer... miał pamięć EEPROM, a w niej programy - edytor ASM i komunikacyjny, ponadto EEPROM zawierał podprogramy realizujące różne często wykonywane zadania (coś ja BIOS w PC). Cała frajda z budowania układów...
Czyli tak - dajesz Atmelka zależnie od potrzeb ATTiny2313, ATMega8 lub ATMega16 /8515/8535 itp...(portów hohohoho), do PC łączysz się przez: 1. SPI/USI<>LPT (wersja nie wymagająca dodatkowych elementów), PC pracuje jako MASTER, ATMEL jako SLAVE (ten układ składa się TYLKO z procesora, jakiegoś kondensatorka odsprzęgającego zasilanie) 2. UART<>RS232...
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 Fusebit High G 0:Preserve EEPROM
Proszę. Gotowe bo jak widzę kilka If`ów do tej samej zmiennej zamiast Select Case i tym podobne kwiatki... [syntax=vbnet]$regfile = "m32def.dat" $crystal = 11059200 $hwstack = 64 $swstack = 16 $framesize = 64 Const Timeout_time = 8 'x500ms Config Submode = New ' config LCD 2X16 Config Lcdpin = Pin , Rs = Porta.2 , E = Porta.3 , Db4 = Porta.4 , Db5 =...
Można zadeklarować prawidłowo zmienną eeram W ten sposób Dim Adres_er(size_t_mac) As Eram Byte At Adres_p_mac Poprzez komende AT znam adres, po jaki będzie się odwoływać zmienna eeram w pamięci. Niestety, ale z Eepromem ten numer nie przejdzie , ponieważ Bascom ignoruje etykiety w Eepromie. Deklaruje, jakie wartości powinny być zapisane w eeram...
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...
Witam serdecznie Tym razem to ja mam problem. Sprawa dotyczy odczytu do programu danych z wew eepromu żeby nie przeciagać - mam kilka zmiennych BIT Readeeprom Hbyte(1) , 2 Ar_tr1 = Hbyte(1).0 Term_ena = Hbyte(1).1 Tryb_letni = Hbyte(1).2 Tryb_letni1 = Hbyte(1).3 Tryb_letni2 = Hbyte(1).4 Tryb_letni3 = Hbyte(1).5...
Witam Mam problem mianowicie mam pewne dane, które zapisywane sa do EEPROM-a ale niewiem jak je "rozszyfrować" z kąd mam wiedzieć co to za napis ? i jak stworzyć swój w takiej postaci? A może ja to źle rozumiem? Pomóżcie prosz, niewiem oco w tym chodzi. Załączam przykład. $eeprom być na początku pliku Napisa: 'LOGO Data 199 , 192 , 194 , 192 Pozdrawiam
Jak można w 90c2313 lub podobnym Procku zapisywać do wewnętrznego epromu dane chodzi mi o krótki listing wyglądać to ma tak Fragment jak to ma działać Do Treść programu skoki do podprogramów ……….. ……….. ………. O ten fragment na dole proszę o wyjaśnienie ,nakierowanie lub podanie przykładowego kodu...
Jak faktycznie zachowuje się styk tej krańcówki tzn. jest cały czas zwarty w położeniu krańcowym otwierając się w momencie przeciwnego ruchu czy jest to tylko impuls w ściśle określonej krańcowej pozycji . Kolejna sprawa jeżeli impulsy przerwania " dostarczasz " długim przewodem podłączonym do mikrokontrolera to nie dziw się że brama zacznie wariować...
Ponieważ jesteś zielony w temacie, to zacznij od książki w ZIELONEJ okładce, podanej na końcu :))) wyjaśni ci wszystko od początku. -Jaki mikrokontroler najlepiej kupić? Taki jaki jest potrzebny do konkretnego projektu. :)))) (żeby można było go programować bascomem AVR, żeby miał wbudowany oscylator, więcej niż 4KB pamięci,żebym mógł do niego alfanumeryczny...
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...
Koelgo bober a jak wyczytałeś że mozna wyłaczyć ISP enable. W którym dokładnie bajcie jest ten fuse? Tak się zdarza że poszukałem na elektrodzie info, kiedy moja atmega nie chciała łapać z ISP, i wtedy zacząłem kopać w dokumentacji programatora http://elm-chan.org/works/led2/report.ht... a potem porównałem to z wymienioną przez kolegę tabelką. Są w...
Wszystko dziala, dzieki:)
witam nie bawiłem się jeszcze 1921 ale obsługa jest standardowa tylko przy odczycie temperatury musisz dać opóźnienie na konwersje temperatury jakieś 750ms. DS1994 ma wiele funkcji i własny eeprom po za tym można zrobić całkiem dobry system kontroli dostępu zabezpieczenia wszystko zależy od pomysłowości. pamiętaj jedno jak piszesz cokolwiek do 1-wire...
bascom eeprom bascom zapisać eeprom bascom eeprom zapis
toshiba places amica ebi81074 przeniesienie hosting
blokada zapłonu bateria parkside styki
Termistor NTC w obwodzie żarzenia lamp CRT Przywracanie ustawień fabrycznych Proxima 1CM