Wcześniejsze kwestie wyjaśnił już kol. (at)michalko12 . Mowiąc o tym, że funkcja z eeprom.h dokonuje kasowania przed zapisem powoływałem się na Twoją książkę (str.235 wytłuszczonym drukiem) oraz na https://www.nongnu.org/avr-libc/user-man... gdzie jest napisane: "All write functions force erase_and_write programming mode." Nowsze...
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ą...
Można wyświetlać temperaturę w podmenu "wybór_Ds" ale trzeba zmienić cały program. Chyba nie jest tak trudno zapisać sobie cztery ID czujników i wiedzieć później który gdzie przypisać. Najlepiej osobno podłączać każdy czujnik i na naklejce na kablu przy czujniki zapisać jego ID. Wiedząc gdzie jakie jest ID czujnika można już mu w podmenu przypisać odpowiednią...
Pliki źródłowe możesz śmiało skompilować pod Atmel Studio/AVR Studio. Tylko musisz stworzyć nowy projekt i dodać pliki ze źródełkami do niego. Działa bezproblemowo.
http://obrazki.elektroda.pl/4553573800_1... Przy tworzeniu projektów z mikrokontrolerami, oprócz uniwersalnych płytek stykowych, często przydają się gotowe moduły testowe, które można szybko podłączyć. Można kupić takie w wielu sklepach, ale ich ceny są na ogół absurdalne, np. w Kamami sprzedają płytkę z ATmega128 za 109 zł! Poniżej...
jeśli a zadeklarowane jest jako tablica: char a[128]; to adresem danych w tej tablicy jest: - a - &a[0] &a to ... w sumie nie wiadomo co [; 4\/3!!
http://obrazki.elektroda.net/1_126476553... Witam :) Prezentowany w tym temacie projekt jest realizacją pewnej idei - elektronicznego długopisu ściągi z wbudowanym wyświetlaczem, pamięcią itp. Długopis powstawał w czasie od września do grudnia 2008. Projektu nie będę rozwijał, niedokończonego kodu nie udostępnię. Kontynuacji nie będzie, ale...
ad 1. Zapewne żaden. ad 2. Dokładnie. Podczas odczytu zwracana jest zawartość EEPROM (skopiowana do bufora lub ostatnio zapisana), podczas zapisu, zapis odbywa się do bufora. Pomyśl o tym tak, że masz np. 32 bajtowy bufor, do którego możesz zapisywać. Po uzupełnieniu w nim danych, możesz je skopiować na raz do EEPROM, na dowolną stronę, której adres...
https://obrazki.elektroda.pl/2212041800_... Niniejszy projekt to nic odkrywczego, ale może się komuś przyda. Czasem potrzebujemy wygenerować sygnał PWM dla większej ilości kanałów a akurat nie mamy pod ręką dedykowanego układu - tak było w moim przypadku gdy robiłem mały projekt z oświetleniem i wentylatorami przy "modowaniu PC" -...
Witam. Czy mógłby mi ktoś pomóc w napisaniu,dopisaniu ,poprawieniu kodu. Arduino steruje 2 belkami ledowymi. Opcja włącz i wyłącz jest wspólna dla obu belek i tak jest ok. Chciałbym jednak aby swieciły one z różna jasnością dlatego dołączyłem 2 potencjometry które mają to zadanie wykonać. Potrzebuje dopisać w menu kolejny krok (7) gdzie bede mógł poustawiać...
Może zbyt szybko chcesz odczytać liczbe z eeprom. Wydłuż czas od zapisu do odczytu. Zapisanie w eeprom najlepiej to 10mS.
czekanie na dostępność EEPROM nie jest potrzebne, bo to już załatwiają funkcje odnoszące się do EEPROM Podeślij proszę do tego jakiś odnośnik, zaglądałem tutaj https://www.nongnu.org/avr-libc/user-man... oraz na dysku do bibliotek ale nie znalazłem implementacji tych funkcji, chętnie zobaczę jak one wyglądają. To co znalazłem...
Powyższego kodu używam w dłuższym programie (nie zamieszczam tutaj bo straszny bałagan mam w kodzie), zapis i odczyt nie działają poprawnie, z kolei testowałem ten kod w oddzielnym małym programiku i działa. To znaczy, że coś robisz nie tak. Ostatnio był taki problem, zobacz Czy kolega Dr. Vee (lub ktokolwiek inny) wie jak zapisuje/odczytuje się przykładową...
Czy ktoś może powiedzieć jak utworzyć tablicę w obszarze EEprom procesora ATMega 8. chodzi mi o coś takiego jak to: prog_char tablica[]={....}; tylko w obszarze EEPROM. (AVRGCC). Pozdr. Luk
const uint8_t test[17]={0,8,16,24,32,40,4... static EEMEM uint8_t test_ee[17]; //funkcja void eeprom() { eeprom_write_block(test_ee, test, 17); } Jak zapisać stałą test[17], żeby kompilator nie rezerwował dla niej pamięci tylko bezpośredio zapisał do EEPROMU
Witam Czy jest możliwość stworzenia tablicy która będzie zapisana w pamięci eeprom ?? Mam ta tablice ( raczej dane jakie mam w niej umieścic) i jak nie ma innej opcji wpiszę je ręcznie w edytorze hex.. korzystam z avrstudio i nie bardzo wiem jak mogłbym sobie z tym poradzić ten uC ma 512 bajtów moje dane zajmują troche ponad 300 chodzi mi o przykład...
Witam! Od dwóch dni szukam rozwiązania w jaki sposób umieścić tablicę dla rejestru przesuwnego 74HC595. Napisałem taki oto bananalny program [syntax=c]#include <avr/io.h> #include <util/delay.h> #define DS0 PORTD&=~(1<<PD0) //MAKRA DO OBSŁUGI REJESTRU #define DS1 PORTD|=(1<<PD0) #define ST0 PORTD&=~(1<<PD1) #define...
Witam, jak umieścić dane w eepromie (generowanie pliku eep/hex) w pod określonymi adresami: Typowo można wykonać coś takiego: #define EEPROM __attribute__ ((section (".eeprom"))) unsigned char tablica_w_eepromie[4] EEPROM = { 0, 0, 0, 0}; ale problem polega na tym że muszę mieć dostęp do tej tablicy...
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...
Carminat SH1big display szukam pliku do eepromu Intel E28F640. Nawigacja nie jest zły język rekordu. Dziękuję
Mam następujący kod: uint8_t eeprom_1[3] = {6,4,5}; uint8_t eeprom_2 = {12}; uint8_t eeprom_3[2] = {1,5}; uint8_t eeprom_4[3] = {1,2,5}; vint8_t eeprom_5[2] = {1,2}; uint8_t eeprom_6[2] = {56,1}; void zaladuj_eeprom(void) { eeprom_write_block(&eeprom_1,0,...
Witam, mam coś takiego: [syntax=c]byte a0 = EEPROM.read(0); byte a1 = EEPROM.read(1); byte a2 = EEPROM.read(2); byte a3 = EEPROM.read(3); byte a4 = EEPROM.read(4); byte a5 = EEPROM.read(5); byte a6 = EEPROM.read(6); byte a7 = EEPROM.read(7); byte a8 = EEPROM.read(8); byte a9 = EEPROM.read(9);[/syntax] i chciałbym to zapisać w pętli "for", probowałem...
Witam, napisałem taki sobie kod do odczytywania zmiennej freq z pamięci eeprom procesora: [syntax=basic4gl]$regfile = "m644pdef.dat" ' specify the used micro $crystal = 16000000 $baud = 9600 $hwstack = 64 $swstack = 64 $framesize = 64 '---------------------------------------... 'konfiguracja wyświetlacza Config Lcd = 16 * 2 Config...
Witam jestem raczkującym programistą 90S213 w BASCOMIE Jak narazie idzie mi niezle ale chcialbym zapisać pewne dane w wewnętrzej pamieci eprom (by po restarcie porcka moglbym korzystać z zapisanych danych) niestety niewiem jak to ugyść. Pewnie tu chodzi o rejestry EEDR POMOCY Z gory dziękuje
Czy ktoś może mi wyjaśnić i opisać jak zapisuje sie i odczytuje dane z 27C512 :?: W zasadzie interesuje mnie rola wejść DQ, tzn. czy za ich pomocą można na przykład dostać się do wybranej komórki pamięci :?: Z góry dziękuję Harry
Wracam do tematu ponieważ dalej mam problem. Moje funkcje zapisu i odczytu zawierają zmienną adres typu unsigned char co daje mi możliwość zapisu 255 komórek adresu. Również jest błąd ponieważ nadpisuję dwa razu część młodszą i starszą. Chcę zapisać wyświetlacz LCD z pamięci EEPROM. Wyświetlacz posiada 1024 komórek (jedna komórka 8 bitów). Zapis i odczyt...
nie żadne "volatile", tylko po prostu "const". Swoją drogą to nie wiem czy atrybuty można łączyć tak jak pokazałeś, na pewno można je łączyć po prostu po przecinku wewnątrz nawiasów. Twoja tablica nie jest wgrywana, bo dałeś noload - to chyba powinno być oczywiste [; BTW - zamiast samego "> eeprom" na końcu sekcji proponuję naprawdę " > eeprom AT >...
Jak najbardziej write_block zapisze poprawnie - kluszem jest parametr size. Jeśli pobierzesz &id_czujnika i sizeof(id_czujnika) to będzie ok.
Eeee... A po co, skoro i tak zapis do EEPROMu realizowany jest blokowo? A nawet jeśli by nie był, to wystarczy zrobić sobie funkcję, która ten zapis będzie realizowała właśnie w taki sposób? Tak czy siak nie rozwiązuje to problemu autora, ponieważ problem ten jest dosyć skomplikowany [; Ze swojej strony proponowałbym tablicę na takie napisy użytkownika...
Nie zadziała z kilku powodów. Po pierwsze zapis do zmiennej w pamięci EEPROM na AVR wymaga posłużenia się którąś z funkcji z eeprom.h - póki co, w bieżącej wersji kompilatora named address spaces nie są zaimplementowane. Kolejna sprawa to ta flaga w przerwaniu - co to za dziwactwo? I kolejna - na PC byte jak jest zdefiniowane? Pamiętaj, że w zależności...
Witam. Chciałem zrobić sterownik wzmacniacza audio na bazie kitu AVT2829. Szczególnie zależy mi na uczeniu się dowolnego pilota. Zrobiłem płytkę przystosowałem do niej program, użyłem większego procesora (atmega8) no i program działa ale strasznie ułomnie. Procedura zapamiętania kodów z pilota przebiega jak należy ale już samo działanie jest strasznie...
Odchudziłem 8 funkcji setprogram i zrobiłem z niej jedną tak jak poleciłeś. Program zmniejszył się o ponad 9kB a pamięci przybyło ponad 550B. Teraz potrzeba 2x tyle czasu aby układ się zawiesił :D Dodano po 1 Program odchudzony: wszystkie główne funkcje które się powtarzały zostały zrobione na 1 funkcję elektem jest zwolnione 21,5kB i 789B ale układ...
Tutaj masz wszystko... '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 'linia PB1 jako wejściowa Config...
[syntax=c]#include <avr/io.h> // Biblioteka wejść/wyjść #include <avr/interrupt.h> // Biblioteka przerwań #include <rc5.h> // Biblioteka ustawień RC5 #include <avr/eeprom.h> // Biblioteka pamięci EEPROM ////////////////////////////////////////... // // // PROGRAM DEKODOWANIA SYGNAŁU RC5 dla AVR // // ATtiny2313 // // //...
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...
Do czego to doszło ;p Może od nowa, wersja z i2c chce dopiero teraz wprowadzić jak na razie jest po Bożemu znaczy sie wyswietlacz ze sterownikiem znajduje się na 2pietru kamienicy układ wykonawczy i wyłącznik (countera) znajduje się w piwnicy. Z i2c to dopiero mam zamiar zrobić bo zależy mi na dwóch wyswietlaczach jednym w piwnicy drugim na 2pietrze....
Czyli przy tym 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...
Witam, mam problem z programem do matrycy led a mianowicie ze znakami. Chciałbym aby kompilator np. w tym przypadku tworzył zmienne tylko wtedy jeśli ja ich użyje w programie: a) 1 sposób zapisu znaków ( każdy znak w innej tablicy, niestety jeśli dodam to do programu to kompilator AVR Studio wywala błędy że niektóre zmienne są nie używane i program...
Witam ponownie. Mówią nie chwal dnia przed zachodem słońca...jak z jednym się uporałem to znów co innego mi mąci. Kłopot z wyborem gdzie zapisać nastawy dwukanałowego timera bo zmiennych jednocyfrowych jest łącznie 4x4 dziesiątki godzin , jednostki godzin , dziesiątki minut , jednostki minut osobno dla włącz osobno wyłącz razy dwa kanały.Ma do wyboru...
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! Jak dla mnie, to wcale nie jest dziwne że ten kod nie działa, nawet po zmianie adresów. unsigned char licznik[6] = {0,0,0,0,0,0}; void licznik(void) { ... } Nie możesz mieć w programie dwóch symboli (w tym wypadku tablicy oraz funkcji) o tej samej nazwie. Prawdopodobnie nie jest to jednak powodem złego działania,...
pinieważ ani I ani i_ee nie są tablicami, tylko zmiennymi 16-bit, powinieneś użyć eeprom_read_word / eeprom_write_word Tak byłoby logiczniej ale nie oznacza to chyba, że zapis typu: [syntax=c]eeprom_read_block(&i, &i_ee,sizeof(i));[/syntax] jest błędny w tym przypadku i nie zadziała. Bo zadziała i odniesie taki sam skutek. Zapis bloku wcale przecież...
Konwersje byte->string otrzymuje się przy użyciu funkcji Str. W drugą stronę działa funkcja Val.
Sprawdziłem dla pewności jeszcze raz, char pomoc Ponieważ Twoja funkcja void konwert2(char tekst nie dodaje znaku '\0' w tablicy tekst . Elementy Twojej tablicy to tekst i tekst (nie mylić z '\0'), a jaka będzie wartość komórki, która znajduje się za tablicą to czysty przypadek. Z kolei instrukcja LCD_WriteText(pomoc); będzie wyświetlać kolejne komórki...
1. Spróbuj pozbyć się tej bibioteki - zapisz ręcznie kilkanaście bajtów, potem je odczytaj i np. przy każdym starcie programu zwiększ. 2. Jeśli kiedykolwiek zapisywałeś coś w pętli z dużą szybkością to mogłeś uszkodzić pamięć. 3. jako rozmiar podaje się maksymalny rozmiar danych, które chcesz zapisać, w Twoim przypadku powinno być to co najmniej sizeof(str_dane)....
Witam. Problem lekko dziwny, napisałem sobie fragmencik, który ma za zadanie porównać tablicę z zawartością eepromu, niby wszystko ok i działa tak jak chciałem, lecz niestety nie zawsze, to znaczy w dalszej części programu tablica wyświetlona jest na LCD, jednak czasem w przypadku szybkiego załączenia i wyłączenia urządzenia wartość wskakuje na 255...
To chyba jest taka pseudo tablica...
udaje mi się to jedynie tylko w tej petli w której go uzyskuje (tam gdzie jest token i wsk z jego zawartością ) a nie moge odesłac zawartosci wsk w innej funkcji Jakiej pętli? Chodzi Ci o funkcję "analizuj_dane_id"? Niestety, ale bez znajomości podstaw języka C daleko nie zajdziesz... albo będzie Cię to kosztowało sporo nerwów ;) "wsk" jest wskaźnikiem...
Symulacja przycisków zielonymi przyciskami rozumiem. Popróbuję jak to działa. Druga sprawa - zapis tablicy w eeprom. Już znalazłem odpowiedź. Teraz podziałam. Jeżeli będę miał gotowy przetestowany program, to muszę go wgrać do procesora. Podłączam do kompa interfejs USB->płytka programatora. W niej umieszczam procesor. Czy wgrany program w procesorze...
Witam, Mam problem, który spędza mi ostatnio sen powiek. Mam zadeklarowaną tablicę w pamięci EEPROM static EEMEM int16_t t_value[4][2]={ {389,386}, {386,386}, {386,386}, {386,386}}; Podczas kompilacji Przy próbie odczytu z tablicy int16_t value; value=eeprom_read_word((int16_t*...
Do tego pierwszego linku dotarłem, i skopiowałem pliki eeprom.h i eeprom.c. Niestety pokazało mi błąd bo używam HALa a tam chyba był SPL. Wystarczy w odpowiednim miejscu zastąpić #include "stm32f0xx.h" na #include "stm32f0xx_hal.h" ? . Nie wystarczy, bo jest też kwestia użycia innych funkcji sprzętowych (zapis i kasowanie FLASH). Może jednak prościej...
no przeciez kazda tablice mozna zapisac po 1 dowolnym elemencie i tak samo jest z tablica w eeprom. ja tak robie i jest oki.
(at)MajsterXXL , pozostali koledzy Wrzuciłem nową rewizję radia - 3.11, zmiany to: zastąpiłem funkcje EEPROM trzymającą tablice stacji zapisem do pamięci PSRAM. Mam wrażenie, że radio działa szybciej ale może to tylko wrażenie. Swoja drogą Majster wydaje mi się, że EEPROM nie działał bo był błędnie zadeklarowany. Było: EEPROM.begin((MAX_STATIONS *...
dyski twarde pamięciami EEPROM, a złożone system plików zastępujemy tablicami bajtów. Jak to chcesz zrealizować. Wiesz ile wolniejszy jest zapis (właściwie kasowanie) EEPROM w stosunku do czasu zapisu dysku?
Na początku uszczupliłem kod do wejścia jedynie w tryb konfiguracyjny: funkcja_trybu_konfiguracyjnego() wykonuje się tylko raz, dlatego pętla do-while jest pusta w końcu zabrałem sie za przeniesienie bibliotek. Na początku spróbowałem po prostu w ten sposób: https://obrazki.elektroda.pl/5661741000_... Jak zamiast danej biblioteki...
A w takim wypadku w pamięci EEPROM będzie cała struktura? Czyli np TMENUENTRY.id lub TMENUENTRY.behaviour także będzie zapisywane w EEPROM? Najlepiej to by mi pasowało, żeby tylko ta tablica cText była w EEPROM. A drugie pytanie to czemu muszę tworzyć nowy typ? Mam taki zapis: [syntax=c] typedef struct _Menu_Entry Menu_Entry; [/syntax] Nie można tutaj...
Postanowiłem napisać program do komunikacji z kompem przez rs232 lecz niemam pojęcia jak zapisac znienną long do eeproma 24c04 mam taki fragment kodu do odbioru danych z rs: Do if Scon.0 = 1 then input adres , dana ' adres byte , dana long Scon.0 = 0 end if call wr_eeprom(adres,dana) ..... sub wr_eeprom(adres as byte , value as byte) I2cstart I2cwbyte...
Zrób sam zapis do EEPROMu na przerwaniu :) Miałem podobny problem tyle że u mnie był zapisywany segment 128 bajtów, włączanie zapisu zamrażało procesor na wyraźnie zauważalny czas(chyba rzędu sekundy jeżeli mnie pamięć nie myli). Rozwiązałem to następująco: - przygotowywana jest tablica z danymi do zapisu - funkcja wyzwalająca zapis inicjuje wskaźnik...
Nareszcie ktoś odpowiedział:) No w czymś jest problem, chce zrobić tablice na wzór tej w BASCOM Dim _Dana(1000) as eram Word tylko teraz to ma być w 24Cxx. Problem w tym, że podczas zapisu zwykych danych odbieranych z UART trzeba zapisać jeszcze adresy gdzie te dane zostały umieszczone. Do tej pory zapisywałem w wewnętrznym EEPROMie M32 (wszystko szło...
Tworzy się W EEPROM dwie tablice jednakowej wielkości. Dla ATtiny13 to będzie od 00 do 1F i od 20 do 3F. W jednej z tablic zapisuje się żądaną wartość. W tym przypadku jeden bajt określający stan wyjść. Zapisuje się go zawsze do kolejnej komórki - najpierw do 00, potem od 01 itp, aż dochodzi się do 1F o znów do 00. Po co tak komplikować? Wiem, że to...
Nie bardzo wiem jak zapisac w eepromie dwa dowolne bajty w komorkach Tl i Th i jak je pozniej odczytac i czy musze wysylac od razu 3 bajty (DS18B20) łącznie z bajtem konfiguracyjnym Nie mam miejsca na dodtakowy eeprom a chce zbudowac termoregulator na 2051 z nieulotnymi ustawieniami oto moj program (przynajmniej częsc) 'zapis do eeproma przy wyjsciu...
Prosze bardzo, zmenne oraz main. Zakomentowane linie sluza do odczytu temperatury z ds1820, wyswietlania jej na LCD czy tez zapiswanie do eepromu. [syntax=c]#include <avr/io.h> #include <util/delay.h> #include <stdio.h> #include <stdlib.h> #include <util/twi.h> #include "hd44780.h" #include "ds18b20.h" #include "i2cds1307.h"...
zapis tablica eeprom tablica tablica eeprom
lexia sterowniki interfejsu selenowy bambino czujnik wałka focus
telekomunikacja politechnika warszawska telekomunikacja politechnika warszawska
Pralka Miele W 715 - problem z zamykaniem drzwi Kod błędu P2228 - Czujnik ciśnienia barometrycznego