(at)dasej Jest jakiś techniczny argument za tym aby uprawiać tego typu archeologię?
Sorki nie zauwazylem ze to progmem. Pointery w progmem nie istnieja w sposób tak rozumiany jak w normalnej pamieci - tak ze tak łatwo nie bedzie. [syntax=c]#define BUFFLEN 18 char __buff[BUFFLEN]; strncpy_P(__buff, (const char *)pgm_read_word(&(ptr_to_text[0])), BUFFLEN - 1); __buff[BUFFLEN -1 ] = 0;[/syntax] i dopiero mozesz wolac swoja funkcje cos...
Pomijając sensowność używania sprintf do SKOPIOWANIA stringa do jakiejś zmiennej, to błędów jest bardzo dużo. 1. Skasowałeś stronę którą chcesz zapisywać? 2. Odblokowałeś zapis do flasha? 3. Twój zapis jest dziurawy, bo jak zero będzie na nieparzystej pozycji, to pętla nie zakończy się wtedy kiedy będziesz chciał 4. Odczytujesz FlashStatus, to sprawdź...
Witam. Chciałbym zasięgnąć porady odnośnie funkcji przesyłającej string poprzez UART, gdzie z jakiegoś powodu ciąg znaków przechowywany jest w pamięci RAM procesora AVR, a nie w pamięci FLASH. Dla przykładu poniższa funkcja działa jak należy i rozmiar zajętości pamięci RAM pozostaje bez zmian a więc string przechowywany musi być w pamięci FLASH. [syntax=c]uart_puts("NAPIS...
Proponuje użyć printf("%p",napis[c]); może to coś pomoże - gdzieś kiedyś coś czytałem że niektóre argumenty prints i sprintf konfiguruje (załącza/wyłącza) się na poziomie ustawień kompilatora 's' - the function argument is a pointer to a null terminated char string located in SRAM; 'p' - the function argument is a pointer to a null terminated char string...
No to jeszcze raz tylko już całość i przetestowana na sprzęcie #include <delay.h> // Alphanumeric LCD Module functions #asm .equ __lcd_port=0x1B ;PORTA #endasm #include <lcd.h> eeprom char string[12]="Hello"; flash char stringf[12]="test eeprom"; void lcd_puts_ee(char eeprom *str) { char k;...
1) Zapomnij, że istnieje coś takiego jak String... przynajmniej na Arduino. Używaj char (niestety z wszystkimi tego konsekwencjami). 2) Do trzymania komunikatów używaj pamięci FLASH, szkoda marnować RAM na każdy String w programie... czyli nie " Serial.print("Inicjowanie karty SD..."); " lecz " Serial.print(F("Inicjowanie karty SD...")); ".
[syntax=json]{ "schema_id": "000004x70e", "properties": [ { "id": 1, "mode": "rw", "name": "开关 (Switch)", "desc": "", "desc_en": "", "property": { "type": "bool" } }, { "id": 2, "mode": "rw", "name": "工作模式 (Work Mode)", "desc": "", "desc_en": "", "property": { "type": "enum", "range": ["auto", "manual"] } }, { "id": 10, "mode": "rw", "name": "防霜冻功能...
Język C nie pozwala na inicjalizację "zmiennych" globalnych czymś innym niż określona wartość, w tym makra. Pozwala. Po prostu __DATE__ to string, a nie uint32_t.
A dlaczego nie możesz użyć pgm_read_byte/word? Przy pomocy tych makr odczytujesz string aż do napotkania znaku NUL, który go kończy. Alternatywnie wymień strcpy na strcpy_P, tylko, ze wtedy funkcja będzie działać wyłącznie na stringach z FLASH.
Świetna edukacja. Napisz od razu odpowiedź na pytanie "czemu we flash zapisuje się tylko >to jest test zapisywania w pamięci flash<, a nie cały string >to jest test zapisywania w pamięci flash 1234567890<?".
No to po kolei: 1. #define SWITH1_ON cbi(DDRC,PC4);sbi(PORTC,PC4) //ustawiam bit pc4 na wyjscie na stan wysoki To raczej zmienia port na wejsciowy z pull upem, a nie wyjsciowy. BTW, powinno raczej byc SWITCH jesli to z angielskiego :) 2. UART_PutStringP1("ALA"); Ta funkcja czyta string z FLASH, natomiast w ten sposob przekazujesz wskaznik na string,...
Dobra, więc dodałem funkcję, o którą prosiłeś, wraz z autotestem dla symulatora OpenBeken. tuyaMcu_sendState 17 0 $CH10$ $CH10$ $CH11$ $CH2$ $CH3$ 01 00 $CH4$ 04 01 00 A0 08 00 00 32 tuyaMcu_sendState Dostępne typy dp: [syntax=c] #define DP_TYPE_RAW 0x00 //RAW type #define DP_TYPE_BOOL 0x01 //bool type #define DP_TYPE_VALUE 0x02 //value type #define...
Zawsze należy wykonać kopię zapasową flash 2 MB. Możesz go udostępnić, jeśli nie sparowałeś go z Tuya. Następnie możesz sflashować OBK i skonfigurować sterownik PixelAnim jak w samouczku: https://www.elektroda.com/rtvforum/topic...
Kupiłem te dwie żarówki świecowe E14 ze sklepu HaveDeer na Ali Express. Pojedyncze pudełko z dwoma identycznymi jednostkami oznaczonymi jako Aoycocr. Żarówki świecowe 5W RGBCW 400lm E14 z modelem Q2SC2M. https://www.aliexpress.com/item/10050059... https://obrazki.elektroda.pl/9014290900_... Kilka zdjęć opakowania i urządzenia...
Chodzi mi o umieszczeni np: static const uint8_t myArray[] = "taki sobie string"; we FLASH ale gdy się nigdzie tego nigdzie nie użyje. Żeby kompilator umieścił to we FLASH to muszę to gdzieś użyć.
aby zhefiniować wskażnik na string we flashu w codevision wpisuje: char flash* str = "ala ma kota"; jak zrobić to samo w winavr (gcc)
zmieniłem kompa wyglada na to że pamieć padła przy próbie odczytu eepromu ------------------* Nokia Mobile Info *--------------------------- SoftWare & HW : V 05.56.25-01-02.NPE-3.(c) NMP. Flash ID : 00898896,Intel 28F320B3-T, size 32Mb ----------------------------------------... MCU SW CHK test ...............................
Zrób kawałki po 45 stopni. Wtedy będziesz potrzebował takich 8 sztuk. Ale na jedną stronę A4 wejdą Ci 3- 4 kawałki. Za zrobienie płytki w takim formacie jak teraz zapłaciłbyś majątek. Już pomijam fakt, ze ciężko znaleźć firmę robiącą PCB wielkości 55x55cm. Samego frezowania jest jakieś 6 metrów - kolejny wór pieniędzy. Przekroczyłoby to (kilkukrotnie)...
Kedzi, Twój przykład nie jest poprawny - jedno to potencjalne wyjście poza tablicę, a drugie to że używasz funkcji strlen_P, która obsługuje napisy w pamięci flash - a Ty przekazałeś jej napis w pamięci ram... Poza tym czy ktoś powiedział, że chodzi a AVR? Ostatnio na elektrodzie sami jasnowidze :) Pozdrawiam, Dr.Vee
próbowałem więc tak: char *wsk_str; a potem w kodzie zrobiłem sobie: wsk_str = "jakis napis" i jeśli tylko taka jedna linijka jest to jakoś to działa ale jeśli dalej gdzieś zrobię wsk_str = "inny tekst" to już jakieś cyrki mi się dzieją, eeeeh coś nie mogę zaskoczyć z tym Generalnie dobrze kombinujesz ;), tak jak najbardziej można...
Efekt ten sam tablica ma większy wymiar w czasie działania... Tablica nie jest zmienna globalną.. A czy tablica uwzględnia znak zakończenia łańcucha '\0'? Bo jak nie, to może mieć bardzo dużą długość ten string ;)
to samo. Nic w dzienniku, tylko pętle. Oto kilka restartów [syntax=text]Info:MAIN:Time 4, idle 0/s, free 112472, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 ---------STA enable [lwip] netif status callback IP: 0.0.0.0 MK: 0.0.0.0 GW: 0.0.0.0 Starting bl602 now.... Booting BL602 Chip... ██████╗ ██╗ ██████╗ ██████╗ ██████╗ ██╔══██╗██║ ██╔════╝...
Kilka dni temu otrzymałem to urządzenie z Aliexpress https://obrazki.elektroda.pl/9952916000_... . Urządzenie jest podobne do innych już tu traktowanych, na przykład https://obrazki.elektroda.pl/3599372300_... . https://obrazki.elektroda.pl/3839205600_... https://obrazki.elektroda.pl/6387180300_...
Może mu dolega brak pamięci? Co to za procesor i jak wygląda zajętość FLASH/SRAM po kompilacji? Zamiast kombinować z kopiowaniem stringa formatującego z FLASH do SRAM użyj sprintf_P.
Witam Chciałbym zadeklarować tablicę stringów np.: flash unsigned char wybor[2][]={{"TAK"},{"NIE}}; pisze to pod mikrokontroler. Są to tak jakby dwie tablice, chciałbym sie do nich odwolywac np: lcd_putsf=wybor[1][]; czyli wypisze mi na wyswietlaczu TAK. Po prostu chce wyswietlic na wyswietlaczu TAK lub NIE w zaleznosci od od tego czy dana zmienna typu...
[14:05:14.545] - serial type is general [14:05:14.577] - Open COM6 Success [14:05:14.627] - Starting bl602 now.... [14:05:14.629] - Booting BL602 Chip... [14:05:14.632] - [14:05:14.635] - [14:05:14.639] - [14:05:14.642] -...
Rozumiem, a teraz jest generowany jako preproces kompilacji? [syntax=c] /* (at)const_object_info_begin class be_class_i2c (scope: global, name: i2c, strings: weak) { .p, var init, func(m_initI2c) scan, func(m_scanI2c) start, func(m_startI2c) stop, func(m_stopI2c) readByte, func(m_readByteI2c) readBytes, func(m_readBytesI2c) write, func(m_writeI2c) }...
Kupiłem https://obrazki.elektroda.pl/7368014700_... https://obrazki.elektroda.pl/3872893500_... https://obrazki.elektroda.pl/3469589400_... https://obrazki.elektroda.pl/9455394000_... . https://obrazki.elektroda.pl/2358939800_... https://obrazki.elektroda.pl/5364506700_...
Zajrzałeś do [url=http://www.nongnu.org/avr-libc/user... Pewnie nie. Masz tam przykłady odczytu danych z pamięci flash, np: [syntax=c] byte = pgm_read_byte(&(mydata[i][j])); [/syntax] Więc powinno wystarczyć coś takiego: [syntax=c] char str1[] PROGMEM = "String 1"; char str2[] PROGMEM = "String 2"; struct{ uint8_t a; const...
Ten szereg zmiennych typu String w kodzie z postu #4 jest zbędny, skoro odpowiednie odczyty z digitalRead() są składane w łańcuch tekstowy dopiero w zmiennej 'ciag_wyjsciowy'. Wystarczy użyć operatora +=(int) np.: concat (): [syntax=c]x.concat(digitalRead(...));[/s... https://github.com/arduino/ArduinoCore-a...
Witam, Panowie, konkretne pytanie: Czy opłaca się stosować kopiowanie pamięci przy użyciu DMA zamiast memcpy? System jest wielowątkowy na FreeRTOS. Mam bardzo dużo kopiowania pamięci średnio po 15 bajtów. Wątek mógłby wstrzymać pracę i czekać na semafor z przerwania. Czy to sie jednak opłaca wydajnościowo? Przy okazji: Czy da się zmusić kompilator,...
No właśnie odpowiadałem ci na tamten wątek ale okazało się że w trakcie go zamknąłeś. A pisałem właśnie że nieco inaczej będzie teraz trzeba odczytywać te dane z Flash ale to nie jest jakiś kłopot. Tylko na początek - małe sprostowanie bo robisz troszkę albo hmm bardzo dziwne rzeczy :( co to jest ? [syntax=c]const unsigned char MN01[] PROGMEM="Ustaw...
Query Things Data Model: { "result": { "model": "{\"modelId\":\"000004rdgc\",\"...
Próbuję flashować CB3S-FT za pomocą BK7231 Easy UART Flasher. Mam firmware OpenBK7231N_QIO_1.17.552.bin. Adapter USB-TTL znajduje się na COM9 i jest jedynym portem COM na komputerze z systemem Windows 11. Po krótkim zwarciu styku 3 do masy otrzymuję następujące dane wyjściowe w interfejsie GUI flashera. Próbowałem również zewrzeć pin 1 do masy z tym...
Kup tablet i po problemie... Te Twoje kombinacje są, delikatnie mówiąc, chore. Nie wspominając o tym, że drogie. Lecz czy można zastąpić dysk hdd, dyskiem ssd lub karta? SSD ma wejścia te same co HDD?Czy komputer mogę podłączyć np. na samej karcie pamięci, jeśli tak to w jaki sposób? Przejściówki są jakieś? HDD są na PATA i SATA. SSD na SATA. Karty...
Próbuję sflashować mój WL2S z LN882H. Próbując różnych narzędzi, znalazłem flasher LN882H firmy Tuya: https://github.com/tuya/tuyaopen?tab=rea... mają również opakowanie GUI. Nie mogę powiedzieć, czy to działa, ponieważ nic nie wydaje się działać dla mnie, ale protokół wygląda podobnie do tego w https://github.com/mandl/LN882Loader....
Witam, Mam problem z moim linksysem EA 9500V2. Aktualizowałem oprogramowanie i chyba coś sie wysypało. Ruter nie reagował na nic . Kupiłem przewód ttl gdzie z pomocą Putty jestem w stanie zatrzymać rozruch rutera i wyświetlić komunikat CFE i tam napotykam się na schody :/ . Przeczytałem mnóstwo informacji w necie na temat flash owania softu przy pomocy...
Witam Mam problem z flashowaniem swojej nokii n97. Wywala mi taki blad: Error loading component HRESULT 0x800401f3 (-2147221005) This means: Invalid class string Component ID "NMP.Cmn.MultiPrommerFN.1" is not registered;Phoenix Component Manager=0x80070057 CreateComponentInstance() - Could not obtain a CLSID from the given string "NMP.Cmn.MultiPrommerFN.1";Phoenix...
Cześć, próbowałem wykonać tę samą procedurę lampy błyskowej do mojej własnej żarówki Sonoff B02-BL-A60 z procedurą widoczną zarówno tutaj, jak i na filmie B05 wykonanym przez Elektrodę. Po kilku problemach z temperamentnym flashowaniem w końcu udało mi się sflashować chip, ale nie mogłem go uruchomić - wydawało się, że uruchomi się na tyle, aby wywołać...
. Trochę więcej informacji z kopii zapasowej oprogramowania MS-103 zaczerpniętych z postu na Cloudcutter Github. Czujniki nie są obecne na urządzeniu testowym. boot log https://obrazki.elektroda.pl/4343986700_... https://obrazki.elektroda.pl/2251385600_...
Dzień dobry, Newbie tutaj z Openbeken! Proszę o wyrozumiałość, jeśli to pytanie jest głupie. Mam Treatlife DS01C Getting bus failed, will try again - 0/100! Getting bus failed, will try again - 1/100! Got exception: System.UnauthorizedAccessException: Access to the port is denied. at System.IO.Ports.InternalResources.WinIOE... errorCode, String...
ok, problem rozwiązany, brakowało "-c init" przed -c "flash probe 0". Komendy można też łączyć w jednym stringu, np. tak: ... -c "init; flash probe 0; cośtam; blabla; shutdown;"
Nie wystarczy itoa? http://pl.wikibooks.org/wiki/C/itoa Ja wiem, wiem - biblioteki zwiększają zajętość flash... , ale myślę (w tym przypadku), że jeżeli projekt jest mały i masz jeszcze trochę flash'a i RAM oszczędzanie - poprzez pisanie własnych funkcji konwertujących int na string nie ma sensu. Ale wracając do twojego kodu: W twoim przykładzie brak...
No więc tak .. przysiadłem dziś do tego .. Mam taka bibliotekę pobraną stąd : http://homepage.hispeed.ch/peterfleury/u... Kompilacja bezbłędna (załączone źródła testowe) wrzuciłem do proca ... i tak .. Z tego dostaje śmieci : uart_puts("String stored in SRAM\n"); uart_puts_P("String stored in FLASH\n");...
witam dane: kompilator CV na AVR. prosze o pomoc bo nie wiem jak to rozwiazac a mianowicie... mam zadeklarowane dwie stale tablice znakow: flash char tak[]="TAK"; flash char nie[]="NIE "; zadeklarowana tablice wskaźników do tych stalych: flash char *wyborptr[2]={tak,nie}; mam nastepne stringi we flashu: flash char jeden[]="JEDEN "; flash char dwa[]="DWA";...
1. Bascom jest bardzo dobrym językiem, znacznie lepszym niż Arduino. 2. "a:10.0" "a:10.0 " ":10" "10 " Ten temat jest zamknięty, dostałeś 2 przykłady. Pierwszy napisałem do składni ramki jaką podałeś w pierwszym poście, później zmieniłeś konstrukcję rami to napisałem kolejny przykład, można jak dobrze naliczyłem jeszcze 9 innych metod zastosować by...
Poczytałem trochę manuala do avr-libc dołączonego do najświeższego WinAVR i jak byk pisze tam, że aby zadeklarować i zainicjować tablicę łańcuchów w pamięci programu trzeba osobno zadeklarować samą tablicę jak i stringi ... Natomiast jeśli chodzi o struktury to powyższa reguła nie znajduje zastosowania! Ależ znajduje: tmf polega na stworzeniu typu...
https://obrazki.elektroda.pl/5011498300_... Cześć, Mam ściemniacz triakowy Tuya S1-B-WT, który z powodzeniem sflashowałem z najnowszym oprogramowaniem OBK. Mogę przejść do adresu IP urządzenia i uruchomić aplikację internetową. Dostępny jest profil Cloudcutter, ale kiedy wklejam go do sekcji importu aplikacji, wydaje się, że nie generuje...
Do flash używam specjalnej funkcji uart put string. Generalnie chyba to (poprzerzucanie w inną pamięć niż sram) rozwiązało problem. Dziękuję.
Czy byłoby możliwe flashowanie tego za pomocą OpenBK bez dodawania przełącznika poziomu? Wygląda na to, że jest to chip TYWE3S, który wydaje się być obsługiwany.... Mam około 6 takich świateł i chciałbym je zdjąć z tuya.... https://timgray.blogspot.com/2021/12/hac...
Dodając na koniec wskaźnik na ten twór to: const char * const (*string)[]; Dzięki i pozdrawiam
Jeden masz z BCS drugi z DAHUA Pomieszały mi się pliki myślałem o jednym a pisałem o drugim. Oczywiście chodziło ci o plik który dostałeś i o ten z FTPa BCS już pomijając ten od DAHUA. U mnie wywala błędy nagłówka... Przy : General_31xxH_Eng_N_V2.608.0000.7.R.2017... mam błąd nagłówka Install.lua a przy CONFIG_NSS błąd nagłówka custom-x.cramfs.img...
Ale co o tym wszystkim sądzisz? . Nie jestem zbyt pewien, co zasugerować dalej. Mam nadzieję, że w logach TX2 znajdzie się jakaś wskazówka. Zawsze można spróbować przywrócić ustawienia fabryczne za pomocą aplikacji Tuya, aby upewnić się, że działa w tym stanie. Możesz także sflashować fabryczne oprogramowanie układowe z dowolnego innego urządzenia...
Kupiłem moduł TW-02 od Ali Express, ponieważ nie mam żadnych urządzeń W600 i chciałem zobaczyć OpenBeken w akcji na tej platformie. https://obrazki.elektroda.pl/7825228100_... https://www.aliexpress.com/item/10050045... Pojedynczy moduł dotarł do małej czarnej tacki opakowaniowej. https://obrazki.elektroda.pl/5951553000_...
gps79 sorry, ale czy Ty czytasz tylko sam kod w moich postach, czy również tekst ? "Ale ja nigdzie nie deklaruję tablicę stringów niezmiennych const char *. Wydaje mi się, że raczej dokładnie opisałem, co robię. Napisałem, że jeśli utworzę tablice w pamięci flash" JEŚLI....... Natomiast w czasie rzeczywistym w programie docelowym nie tworzę tablic we...
Możesz, ale jak to zrobisz źle? Telefonu raczej już nie uratujesz. Musisz udać się do serwisu GSM, który sczyta Ci dane z pamięci flash, ale to trochę kosztuje. Potrzebujesz śrubokręty, np.: http://allegro.pl/listing/listing.php?or... Alkohol: http://allegro.pl/listing/listing.php?or...
Mogę potwierdzić, oryginalna kopia zapasowa zadziałała. Otwiera też AP zaraz po podłączeniu zasilania. [0m [17:49:11.452] - [33;4m sysTick:90127 7C3E82C16F17 10.10.123.3 fh:62544 st1:21 st2:0 st3:0 life:%100 repT:0s pwr:0 wanT:0 lanT:0 ping:0 (0) 9999 rssi:-9999 (0)...
Zaktualizowałem gcc do 9.2.0 i nadal ten sam błąd przy __flash. A dlaczego nie ściągnąłeś gcc ze strony Microchipa, jak pisaem? Modyfikacja funkcji - napisaem ci w pierwszym poście w czym jest problem. Musisz odczytywać string korzystając z makr pgm_.
Na pewno nie brakuje mi pamięci flash (64KB) Na pewno. Komunikat błędu mówi, że kod (sam kod!) zajmuje 0x11b3b (72kB), a dane stałe - rodata - 0x1443 (5kB). Do tego jeszcze kilka sekcji tak naprawdę jest potrzebnych - choćby inicjalizacja sekcji data. W typowym kompilatorze gcc na ARM (używającym newlib) funkcja sprintf zajmuje 20kB kodu i kilka kB...
http://www.allegro.pl/search.php?string=... Zainteresuj się tym.
Tzn, że program może działać dalej poprawnie a debuger wskazuje na to, że jesteśmy w np HardFaultHandlerze ? Mógłbyś nieco rozwinąć myśl ? Czasem może być jakiś problem sprzętowy/programowy/systemowy, który może spowodować wywalenie się debuggera, który będzie np. uparcie twierdził, że jesteśmy wciąż w jakiejś linii, choć mikrokontroler sobie wtedy...
Wykorzystany profil Cloudcutter: https://github.com/tuya-cloudcutter/tuya... Linki do zrzuconego oprogramowania sprzętowego: https://github.com/tuya-cloudcutter/tuya... Moduł ten jest w zasadzie ściemniaczem światła używanym do sterowania prędkością wentylatora....
Jesteś pewien? Jak mam 90%, to pojawiają się artefakty na wyświetlaczu, pomimo, że nie dodałem kodu go dotyczącego, a trochę jeszcze więcej zająć, to procesor wpada w bootloop i uruchamia się tylko setup. Wystarczy usunąć dowolną funkcję, aby działało znowu dobrze. Tak się dzieje bo w twoim kodzie większosć stringów ląduje w SRAM, a tej nie masz za...
Program działa na Arduino nano, po wgraniu do ATTiny85 wygląda jak by wszystkie zmienne String były puste. Niestety w ATTiny85 jest za mało pamięci dla sterty, aby można było używać obiekty klasy String. Tak jak wyżej napisano, łańcuchy tekstowe najlepiej przechowywać we flash, a ich łączenie można zrealizować za pomocą funkcji strncat_P () - w tym...
Mam pytanie - czy ten wpis w string \xhh dotyczy też funkcji printf, sprintf, oraz czy można tak samo użyć tego gdy definiuje się stringi w pamięci flash? I drugie pytanie - czy jeśli skopiuje taki znaczek krzaczek z terminala poprzez CtrlC, CtrlV i wkleję go wprost do kompilatora to czy to zadziałą?
Bzdura, czy przekażesz do funkcji tabela, czy &tabela wyjdzie na to samo - poczytaj o tym jak są przekazywane tabele jako argumenty funkcji w C. A problem leży w tym o czym już pisałem - globalny wskaźnik nie może wskazywać na dane lokalne, które nie są zaalokowane dynamicznie lub ich czas życia nie jest nieskończony jak w przypadku static. Zastanów...
Jeżeli stosować się do porady kolegi wyżej można by zastosować tablice tylko dwu-wymiarową.Chcąc mieć 3 poziomy wystarczy nam 3x n gdzie n będzie ilością funkcji danego poziomu a ostatni trzeci odnosnikiem do konkretnych funkcji (za pomocą właśnie wskaźnika) Przyznam że pomysł fajny i relatywnie prosty szkoda że sam tak nie robiłem w moim systemie...
Występuje wyjątek bo nastepuje dostęp RW do pamięci flash ktora jest tylko do odczytu a wszystkie stałe umieszczane są bezpośrednio we flash. Najprościej do funkcji dodać jeszcze jeden argument ze wskaźnikiem na bufor wyjściowy. [syntax=c]char *STRING_DeleteStr(char * dst, const char *string, const char *del, u8 mode)[/syntax]
Witam Kolegów, Mam funkcję: keyPad(const char *Title, char *inputString), gdzie Title to wskaźnik do string'a w pamięci Flash a inputString to wskaźnik do stringa w pamięci RAM. Wywołanie funkcji jak niżej: keyPad(PSTR("Jakis tekst"), zmiennaTypuString) powoduje w środowisku IDE Eclipse pokazanie ostrzeżenia: "Statement has no effect 'PSTR("Jakis tekst")'"...
probowalem ruzne dctx, na kazdym to samo, flash update mam w wersji 3.29 z wczytaniem starszego mam problem bo musze usunac, zapewne cale oprogramowanie w wersji suite, niestety po zaladowaniu dctx 12 wyskakuje mi okno wprowadz activate string (nie mam pojecia jaki on jest i gdzie go znajde) po instalacji twister suite wszystko samo sie aktywuje, musze...
dla flasha ostatecznie jednak użyłem swojej implementacji z biblioteki SPImemory i będę zapisywał dane w bajtach. Rozumiem, że w jakiś sposób chciałeś sobie uprościć kwestię adresowania zapisanych danych w zewnętrznej pamięci SPI. Sama biblioteka SPImemory wspiera również bezpośrednio zapis/odczyt float, string, różne typy int oraz tablice bajtów ....
Tą kartę (Compact Flash - CF) podpina się na taśmę w miejsce dysku twardego. Działa ona jak dysk twardy - możesz nawet robić na niej partycje. Nie trzeba do niej sterowników. Ceny tych kart masz tutaj: http://www.allegro.pl/search.php?string=... Pozdrawiam Marcin
polecenia które mają na początku "f" dotyczą plików - od "file". Plik to oczywiście nie plik na dysku, to po prostu struktura, która zawiera w sobie informacje jak do niej pisać. Można takie struktury tworzyć dla LCD, 1wire i czego dusza zapragnie, ale moim zdaniem nie ma co mieszać. Przy użyciu zwykłego printf piszesz do pliku który nazywa się stdout,...
Cześć Mądrzy Ludzie, podpowiedzcie jak sprawdzić długość stringa w pamięcie flash atmegi. Myślałem że "sizeof" zadziała, a tu zonk. Kod proszę umeścić w znacznikach. Robak
https://obrazki.elektroda.pl/5032145100_... Pokażę tutaj jak można użyć komendy binwalk do analizy zrzutu pamięci flash na przykładzie Windows dzięki użyciu WSL. Użyte środowiska i narzędzia W temacie użyję następujących narzędzi: - programator SPI CH341 Black (warto poczytać o jego modyfikacji napięcia zasilania) kupiony za 35 zł...
Odczyt FLASH z VALEO opanowany. ALE: O ile odczytywanie eeprom po 1 ramce CAN ( 32kb) trwa 62sec. ( 1 minuta) i jest to do zaakceptowania. O tyle flash jest 48x większy od eeprom Zatem odczyt w takiej formie trwa ok 50minut. Nie robi się tego codziennie i tez można by to zaakceptować ale w 50 minut może się wiele wydarzyć. Zabraknąć prądu itp.... Sprawdziłem...
Proponuję zapomnieć o ESP8266 i użyć ESP32. To już inna liga niż 8266 a cena niewiele wyższa. To prawda, ale trzeba pamiętać, że framework Arduino to "prawie" chodzi z ESP32. Dodano po 7 Czy wiecie Panowie ile RAM ma NodeMcu V3 ESP8266? Oryginalny ma 4MB flash i ok. 50kB RAM (dla własnego programu), ale u Chińczyka można znaleźć klony z większą ilością...
PS. co to jest RISC-V toolchain A co RISC-V ma wspólnego z STM32 i mikrokontrolerami ARM (a jest to dział, w którym zadajesz pytanie. Pytanie zatagowałeś STM32. STM32 nie sa RISC-V) Poważnie? Aż tak bardzo trudno napisać że toolchain do RISC-V to zestaw narzędzi potrzebnych do zbudowania na danej platformie kodu dla procesorów RISC-V? Pamiętaj że jesteś...
Cześć. Wiadomo, jak sformatować komórkę w Excellu / Dokumentach Google. Na przykład ustawić określoną liczbę cyfr po przecinku. Ale jak wstawić do komórki wynik funkcji wyświetlany w stringu włożonym do komórki? Przykład: ="FLASH uC zajęty jest w "&((((HEX2DEC(B...
Ja mam stronę WWW zapisaną w pliku INO tak: WebSocketsServer webSocket = WebSocketsServer(81); static const char PROGMEM INDEX_HTML[] = R"rawliteral( <!DOCTYPE html> <html> <head> ...... </html> )rawliteral"; Mój pierwszy działający przykład jest [url=https://github.com/kaczakat/ESP8266...
Tych instancji to będzie około 100 i dlatego kombinuję jak zaoszczędzić trochę pamięci, bo każda z tych instancji posiada własną, unikatową nazwę w postaci stringa, więc static i constexpr nie pomogą. 4 bajty na wskaźnik to i tak lepiej niż przechowywanie całego stringa w RAM-ie
Podłączenie programatora UART i wykonanie flash read nie zepsuje chipa, ale trzeba by było wlutować RX i TX aby poprawić ślady na płytce. Nie widzę żadnych padów programisty na płytce, twardo. Czy chcesz spróbować? zrobić zrzut oprogramowania bkWriter? Dzięki, spróbuję jak będę miał czas na rozłożenie rzeczy i podpięcie wszystkiego. Te zdjęcia zostały...
...Z problemem wielkości czcionki już sobie poradziłem, natomiast mam kolejny problem: do wyświetlenia tekstu na lcd używam komendy lcd_print(0, 1,"Jakis tekst"); problem powstaje jeśli chcę wyświetlić jakąś zmienną, ponieważ gdy wpiszę lcd_print(0, 1, J); J to zmienna to kompilator wyrzuca mi błędy. W czym może być problem....
. Usunąłem kondensatory, a także rezystor w pobliżu. Po naciśnięciu przycisku Wykonaj kopię zapasową oprogramowania układowego otrzymuję błąd Backup name has not been set, so output file will only contain flash type/date. Starting read! Read parms: start 0x00 (sector 0), len 0x200000 (0 sectors) Now is: Wednesday, November 20,...
Na aledrogo :) Znajdziesz tam to wykonanie z prockiem z większym i mniejszym flash/ram. [url=http://www.allegro.pl/search.php?st... i AGD › Elektronika › Elementy elektroniczne › Moduły, płytki › szukaj ARM Pozdrawiam
Przełączanie języków będzie zrobione niebawem. Muszę jedynie zmodyfikować całą aplikację i zastąpić każdy tekst odpowiednim wpisem z listy łańcuchów string, chwilę mi to zejdzie. Tak, BB(Bad Block - uszkodzone bloki) są odpowiednio zaznaczane w tablicy BBT. Po wykonaniu kasowania docelowej pamięci K9GAG08U0E jest tworzona nowa lista uszkodzonych bloków...
Może błąd jest w tym że wywołanie Pisz_16x16(&"abcd", 64, 120, 0); bierze dane z flasha zaś wywołanie Pisz_16x16(Text_1234_ptr, 64, 64, 0); Pisz_16x16(&Text_1234[0], 64, 84, 0); przez wskaźnik na ram lub adres tablicy w ramie. Przy okazji jak Ci się może to kompilować ? Text_1234[0] = "1234Test\0"; Wypełnij to ręcznie lub przez sprintf'a. Błąd jest...
1. Funkcję konwersji do hex-a możnaby zrobić w oparciu o LUTa (stablicowane wartości). Poniżej prosty przykład na PC-ta dla testów ale łatwo zaadoptować do arduino: [syntax=cpp]#include <iostream> using namespace std; void tohex(unsigned long val, char* buf) { const char* const lut16 = "0123456789ABCDEF"; // tablicę można przenieś do FLASH for...
wierus1: można wiedzieć gdzie znalazłeś seriala? 0737140809099745326023474483646592737485 na googlach :D Mi ten serial nie śmiga :( bo string jest wyliczany na podstawie nr sn boxa ale linka mozesz podać
Witam! Posprawdzałem troszkę... Nie ma problemu umieszczania, gdy chcemy umieszczać cały obiekt w RAM lub Flash. W ram wiadomo jak, we flash następująco: typedef struct { char opis Posprawdzałem adresy i uzyskałem rozkład następujący w pamięci flash: &menu_pozycja_nr opis ", po co deklarować tablicę void LCD_string_from_FLASH(const uint8_t *string)...
Znalazłem tylko jeden kompilator C++, który wspiera __flash dla AVR, jest to IAR. Niestety nie udostępniają samego toolchain. Zresztą jest tylko pod windows :/ Dodano po 15 Dedykowana klasa flash_char, flash_string z operatorami [].
Testujesz zły wskaźnik :) A poza tym wynajdujesz koło od nowa, bo w avr/pgmspace.h jest już funkcja strcpy_P. Pozdrawiam, Dr.Vee
Jasne. Wypróbowałem obie tabele partycji (twoją i buffalo) - ten sam wynik, zamrożone. https://obrazki.elektroda.pl/7852240000_... . PSM 0x000e9000 Dodano po 9 Nie jestem pewien, czy to właściwe miejsce, ale jeśli ten BL602L10 ma faktycznie 1MB, to dlaczego sdk/OpenBL602/components/platform/soc/bl... ma to ?...
Witam, niestety nie potrafię skompilować kodu. I tutaj mam prośbę dla osób bardziej ode mnie zorientowanych, aby skompilowały mi podany kod. [syntax=c]esp_err_t Flash::initMacAddress() { char macAddrAscii[18] = { NULL_CHAR }; uint8_t crc; uint8_t version; uint8_t macAddr[6]; esp_err_t rc; // see whether eFuse has been programmed yet. (if programmed,...
Dziękuję bardzo za sugestie. Rzeczywiście, jak analizuję Pana wpis widzę, ze to co robię to trochę bez sensu. Oczyswiście zastosuję się do tych rad. Jeszcze w celach edukacyjnych wklejam resztę kodu. Byłbym wdzięczny gdyby ktoś wskazał na czym polegają błędy, zeby byc bardziej świadomy na przyszłość. main.c [syntax=c]#include "stm32f103xb.h" #include...
Mam dysk sieciowy który chciałem zdalnie wyłączyć, na stronie www tego dysku jest przycisk "Zamknij" który w jakiś sposób wykonuje polecenie : shutdown: new Cmd("shutdown", null,READ), taką funkcją : /* Command class */ function Cmd(/*String*/cmd, /*Function*/handler, /*Int*/writeNeeded) { /*String*/this.cmd = cmd; /*Function*/this.handler = handler;...
A mi przyszło do głowy takie rozwiązanie...mamy urządzenie z LCD gdzie na początku przy uruchamianiu i podczas pracy pojawia się logo lub nazwa naszej firmy. Aby go nie było trzeba usunąć dane z pamięci flash programu. Ale stosujemy sumę CRC32bit, procek uruchamia się z bootloadera i sprawdza czy CRC flash'a się zgadza.OK, pojawia się problem taki,...
In order to put the strings in Program Space, you have to have explicit declarations for each string, and put each string in Program Space: char string_1 Czyli deklaracja: const prog_char nazwa_ciagu[] PROGMEM = "Ciag znakow"; jest poprawna. A funkcja strcpy_P to nie strcpy . Funkcja strcpy_P właśnie służy do kopiowania ciągów z FLASH...
Wiesz co? Jak nie znasz podstaw elektroniki to nie zabieraj się do składania tego kabla, bo szkoda Twojego i naszego czasu. Najlepiej zrobisz jak kupisz jeden z tych flasherów. http://allegro.pl/search.php?string=flas...
stm32 string flash growat string łańcuch string
ploter wycinania szukanie stacji radiowych creative inspire p5800 subwoofer
technika radiowa technika radiowa
Vaillant filtr pompy 160928 – czyszczenie, demontaż, konserwacja, uszczelka EPDM Schemat magnetofonu szpulowego Grundig ZK 120 – gdzie pobrać dokumentację serwisową?