Symulator w Atmel Studio 6.0. Twoje funkcje u mnie działają poprawnie, tzn dane z jednej są kopiowane do drugiej. To kopiowanie jest "bezmyślne" w sensie że, kopiuje obszar pamieci bajt po bajcie, bez znaczenia jest typ zmiennej. Może problem tkwi w dobieraniu się do pól struktury?
Te dane to zawsze będą stringi? Jeśli tak to przerób:[syntax=c]eeprom_write_block(wsk... eem_buf, strlen(wsk));[/syntax]na: [syntax=c]eeprom_write_block(wsk, eem_buf, strlen(wsk)+1);[/syntax]Dzięki temu zapisywany będzie też znak końca stringu. Pokaż jak odczytujesz dane z eepromu.
Za długie pętle lub za krótkie tablice zmiennych.
nie o to mi chodziło, co mam zrobić z tym stringiem żeby eeprom mógł go łyknąć ?
Racja, zapomnialem zamieścić chociaż sprawka kodu. Więc tak, zapisywanie znajduje się w funkcji która wywoływania jest jeżeli która kolwiek z wartości ulegnie zmianie. Wygląda to w ten sposob EEPROM.begin(512) sprawdzałem też z wartością 64 chociaż nie wiem co to oznacza czy jest to maksymalna porcja danych jaka wyślę czy maksymalna pojemność eepromu...
Buduję sterownik oparty na at89c2051. urządzenie to zawiera menu wywoływane z pod RS232 na standartowych instrukcjach print i input. Niestety objętość "tekstu" w menu jest na tyle obszerna, że zajmuje to prawie całą objętość pamięci procka. Przyszło mi do głowy rozwiązanie aby tekst menu przekonwertować i wysłać do pamięci eeprom I2C, a następnie rekonwetować...
Witam wszystkich Elektrodziaków! Siedzę nad tym juz jakiś czas i nie umiem znaleźć żadnej pomocnej mi funkcji. Chodzi mi o wydobycie z poszczególnych literek stringa kody ascii. Funkcja ASC() była by bardzo pomocna, z tym że zamienia ona tylko pierwszy znak. Co z pozostałymi? Marzy mi się nawigacja po stringach jak w pascalu tekst[10] i po sprawie....
(zresztą są chyba ARMy, które EEPROM mają). STM seria L na przykład Błąd powstał dlatego, ze moje wypociny dla linkiera nie zostały zapisane. To byś nawet raz nie zlinkował poprawnie. Ciekawe zresztą jak bo wczoraj nie wiedziałeś jeszcze że coś takiego jest, wymyślałeś jakieś stringi na końcu flash i wyszukiwanie. Ja akurat nie lubię modyfikować skryptów...
Witam ponownie. Dziekuje za wszystkie pomocne odpowiedzi, chociaz nie potrzebnie moje pytanie zostalo zinterpretowane odnosnie tego ze potrzebuje jakiegos sprzetu. Nie pytalem o sprzet, chodzilo mi bardziej o metodologie programowania takiej komunikacji, jak napisac taki software aby mogl przeslac zmienne do eeprom i je zapisac. Tym razem zapytam konkretniej....
Witam Postanowiłem nauczyć się wykorzystywać funkcji w swoich programach. Na początek chciałem przerobić opanowaną jakiś czas temu obsługę układu DS1307 . Nie wiem czemu, ale wartości na lcd dochodzą do 59 i program staje, procesor się nie zawiesza, po prostu wartość 59 zamarza na wyświetlaczu. Błąd musi być gdzieś w funkcji, w jej wywołaniu, bo zawartość...
jedyna zaleta jaką widzę to płaska przestrzeń adresowa, co wyeliminuje obsys związany z avr-g++, To jeden z wielu powodów, dla których zrezygnowałem z AVR na rzecz ARM. Te "PROGMEM" i "PSTR" czy tam "F" w Arduino, może doprowadzić do rozpaczy. Nie ma możliwości aby w np "sprintf" ("sprintf_P") mieszać stringi z FLASH i RAM. jedynym istotnym ograniczeniem...
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...
myslalem juz o tym drugim rozwiazaniu, ale to strasznie toporne i zupelnie nie elastyczne - wole nie wyobrazac sobie poprawek programu, gdy sie np. okaze, ze string, ktory jest pierwszy w eepromie, musi byc jednak o kilka bajtow dluzszy ;) ewentualnie moglbym zalozyc pewne odstepy pomiedzy stringami, tak zeby kazdy zaczynal sie o adresie bedacym np....
Czy gdzies jest napisane ze chodzilo mi o RAM matrycy ? Nie, nie było, jak równiez nie było napisane, że chodzi tobie o ROM Chyba ze szczytem mozliwosci tego wyswietlacza jest dla ciebie wyswietlanie non stop tego samego obrazu ;-). Proponuję ton dyskusji dążący bardziej do wzajemnego zrozumienia, w moim poście nie wyraziłem negatywnej nastawienia...
Hmm, czytajac ostatni post atoma, troszka sie skrzywilem. Mowie ze program ktory napisalem dziala, ale nieprawidlowo, to nie jest wynik zamiany miejscami danej z adresem, malo tego, zmienna k, która jest oczywiscie stringiem, bo jest to zlozenie LITERY P i liczby 11, ktora jest zamieniona ze zmiennej byte (kali) na stringa podstawiona w miejsce adresu...
zaglądnąłem do pamieci i jak kolega wyzej słusznie zauwazyl, stwierdzilem ze ta funkcja wywolana cyklicznie zawala mi pamiec danych.nie zwalniając poprzedniego szuka, nastepnego dostepnego miejsca i pamiec danych zapisana jest ładnym wzorkiem... dla mnie najistotniejszym jest, aby moc przypisać do zmiennej efekt pracy tej funkcji. znam dlugosc najdluzszego...
http://obrazki.elektroda.pl/2126980700_1... System monitorowania środowiska, oparty o interfejs LoRa IoT składa się z stacji bazowej zbudowanej z wykorzystaniem modułu Arduino Mega z bramką LoRa oraz zdalnych stacji opartych na Arduino Feather, które łączą się z stacją bazową poprzez radiowy interfejs LoRa. System pozwala na monitorowanie...
Cześć, masz może jakiś soft do inwertera Growatt ? Bo chcialbym zobaczyć czy są w nim zapisane gdzieś parametry odnośnie limitu mocy. Twój inwerter oryginalnie przepuszcza więcej niż 4000w? Czy przerabiałeś go? Ja obecnie mam w swoim 6000tl3-s panele o mocy 7400w i w przyszłym tygodniu dokładam 4 panele aby uzyskać łącznie wejście 8400w nie przekraczając...
Może źle to opisałem. To ma być pilot, który odczytuje kody z innego pilota, zapisuje je w eepromie, i przyporządkowuje kolejny klawisz. Z tym stringiem to było tak tymczasowo do testów, żeby zmniejszyć długość kodu, a później przerzucę się na eeprom.
http://obrazki.elektroda.pl/6035825200_1... Witam, w chciałbym się podzielić moim ostatnim tworem jaki powstał z chwili potrzeby. http://obrazki.elektroda.pl/2685746200_1... http://obrazki.elektroda.pl/2820438100_1... http://obrazki.elektroda.pl/1850987000_1... http://obrazki.elektroda.pl/4784630600_1...
Witam, Możecie spojrzeć na ten kod (poniżej?) Problem jest taki że co bym nie robił zdarza się w niektórych wsadach że jakaś strona pamięci zostaje zapisana samymi 0xFF. (wgrywam wsad potem sprawdzam programatorem poprawność). Procesor Atmega32; 4mhz (RC); UART 9600 ////////////////////////////////////////... /*...
No mi się wydaje, że trzeba by zdefiniować strukturę tablicy, coś w ten deseń: ee_adr jest adresem komórki tablicy np. tablica[5] mystr jest zmienną, której wartość chcesz przypisać danemu elementowi tablicy. Pewnie może to być element tablicy pobrany z RAMu, ale jeszcze tego nie próbowałem, adziś już mi się nie chce. strlen(mystr) możesz pobrać z sizeof(nazwa...
Nie rozumiem do czego służy ta dodatkowa zmienna 8 bajtów na początku pamięci. Tak naprawdę to 9 bajtów (8 bajtów zmiennej typu string + bajt 0 jako znak końca string'a). To pominięcie początkowego obszaru EEPROM, który jest najbardziej narażony na błędy zapisu podczas resetów uC. Możesz też dodać w programie: [syntax=vbnet]Reserved = "Reserved"[/syntax]...
Mam kolejny problemik;-) Mam dziwne wrażenie że te stringi mi się nie zmieszczą do tej atmegi;-)) A co , książkę piszesz :?: ;) Masz przecież jeszcze 512 B eepromu , kilka setek B RAM-u do dyspozycji i to wszystko mało :!: :?: :!: :?: I tutaj mam pytanko czy dałoby się to zapisywać do AT24C04 i z niej odczytywac?;-) Pewnie :!: Jesli tak to czy nie...
Umieszczam kod ze strony radzia. HD44780.c [syntax=c] //--------------------------------------... // Wyświetlacz alfanumeryczny ze sterownikiem HD44780 // Sterowanie w trybie 4-bitowym bez odczytu flagi zajętości // z dowolnym przypisaniem sygnałów sterujących // Plik : HD44780.c // Mikrokontroler...
Witam, mam prośbę, czy mógłby ktoś sprawdzić mojego Makefil'a, ponieważ podczas kompilacji wrzuca mi błąd o kodzie: avr-objcopy: 'main.elf': No such file make: *** [syntax=c]//sterownik wyswietlacza #include "HD44780.h" //usawiasz tam porty sterujące, nie musisz ogarniać kodu #include <util/delay.h> #include <avr/io.h>...
Moje problemy odbiegają od poprzedników ale temat zgodny, więc: Mam uP Atmega 8 oraz wyświetlacz zgodny z hd47780 2*16znaków. Gdy wrzucam jeden znak na wyświetlacz przy pomocy kodu niżej wszystko jest ok: while(1) { LCD_CLEAR; LCD_LOCATE(1,0); LCD_WRITE_DATA('d'); } return 0; } Mogę kilka takich znaków wrzucić...
eeprom stringi stringi eeprom zapis odczyt eeprom
wieje gorące powietrze kodowanie 00001 czujnik pozycji fotela
radio preludium glosnik sansui potecjometr
Wyważanie łopat turbiny wiatrowej - gdzie i jak? Nie świecą kontrolki w piekarniku Amica EBI 7542AA SOFT