Witam, Volatile nie ma nic wspólnego z (nie)usuwaniem nieużywanych zmiennych ponieważ usuwanie tych zmiennych dzieje się na etapie linkowania. Konsolidator usuwa wszystkie symbole pozbawione referencji (oczywiście jeżeli jest ta funkcjonalność włączona). Sprawdź czy działa to bez volatile. Tylko użyj tej tablicy przykładowo w funkcji main.
Przykład : ldi zh high(adres_początka_tablicy*2+1) ldi zl low(adres_początka_tablicy*2+1) LPM R0,Z To odczyt stałej z pamięci flash tablica to juz tylko zabawa z dodaniem wskaźnika do adresu stałej...
Wszystko stanie się jasne, jak poznasz sposób na "czytanie" typów zmiennych. 1. Zaczynasz od nazwy 2. Idziesz do "końca" w prawo 3. Następnie do "końca" w lewo 4. Nawiasy mogą wyznaczać "lokalne końce". Tak więc Twoja zmienna const uint8_t *Tab[3] to trzyelementowa tablica wskaźników na stałe uint8_t Jak sam widzisz nie da się wyczytać, że sama tablica...
Spróbuj tego, masz napisane w komentarzach co było zmieniane. Nie kompilowałem tego kodu. ; ******* Generator klawiatury stoparzowej (wersja poprawiona) ******** ; ATtiny2313, wewnętrzny 8 MHz ; - 2 bazowe częstotliwości (TON1/TON2) -> podziały /2, /4, /8 => 6 wyjść: PD0..PD5 ; - PB4..PB0 – klawisze (wejścia z podciąganiem)...
Do tablicy umieszcoznej we FLASH (PROGMEM) musisz odwoływać się przy pomocy specjalnych makr zdefiniowanych w pgmspace.h, np.: pgm_read_byte (&weber[i]);
https://obrazki.elektroda.pl/5416648300_... Niedawno kupiłem kilka kontrolerów Treatlife DS03 Smart Dimmer / Fan. Oczywiście nie chciałem korzystać z usług chmurowych Tuya i chciałem podłączyć je bezpośrednio do mojej konfiguracji Home Assistant. Było wiele przewodników, które można było znaleźć, ale żaden z nich nie był kompletny...
Jeślii masz wolny pin to możesz sobie na nim otworzyć port COM. Taki programik wciągający cztery bajty po serialu zajmuje w Bascom 288 B a to pewnie dlatego że jeszcze musiał się zająć stosem i tablica przerwań co Ty juz pewnie tez masz zrobione więc to by odpadło. Zapisujesz to sobie do Eeproma przy starcie i gotowe. [syntax=vbnet]$regfile = "attiny13A.dat"...
czasem problemem okazuje się niestała stała - tablice stałych można przypuszczać, że będą tylko w pamięci flash - przeważnie okazuje się, że kompilator owszem zapisuje sobie tablicę w pamięci flash, ale z początku programu kopiuje sobie ją do ramu - w ten sposób można się odwoływać do komórek takiej tablicy jak do zwykłej pamięci ram (przestrzeń). Może...
Oczywiście, jak przystało na forum techniczne, ani słowa o kompilatorze i platformie. W takim razie standardowo na przykładzie GCC. Opcje kompilatora -fdata-sections oraz konsolidatora --gc-sections usuwają zmienne nieużyte w programie. Ale... Stworzylem tablice ze wskaznikami do poszczegolnych czcioneki chcialem poprzez ta tablice odwolywac sie do...
Nie napisałem tych funkcji więc wydaje mi się że tablica została umieszczona w ram i przepełniłem ram(dobrze kumam?). Nie ;-) Tablica była umieszczona w pamięci FLASH (makro PROGMEM), jednakże powoduje to, że do tak zdefiniowanych zmiennych nie można odnosić się w sposób bezpośredni, tylko z poprzez odpowiednie makra: pgm_read*, które są zdefiniowane...
Może to być trochę przedwczesne, biorąc pod uwagę, że rozwój ESP32 OpenESP32 jest nadal https://obrazki.elektroda.pl/7790228900_... https://obrazki.elektroda.pl/6122625700_... https://obrazki.elektroda.pl/4768951800_... https://obrazki.elektroda.pl/3638076200_... https://obrazki.elektroda.pl/1172721000_...
_PREDATOR_ MaximusOktoOk ma racje. Jeśli Pen nie daje zapisywać to ewidentnie nie jest to problem programowy Jedynie format narzedziami do zarzadzania z poziomu flash rom ( twoj to NT2033CMS ).
W nawiązaniu do porad kolegi tmf proponowałbym coś w tym stylu (być może strach przed kwalifikatorem __flash wynika z braku przykładów kodu :?: : [syntax=c] // przykład jak używać kwalifikatora __flash do umieszczania // danych w pamięci programu i jak się do nich odwoływać // kod gotowy do odpalenia w symulatorze Atmel Studio 6 // można zaobserwować...
Jeśli tablica jest zainicjowana, to jej wartość początkowa musi być we Flash. Jeśli nie ma atrybutu const, to jest kopiowana z Flash do RAM przy starcie programu. Jeśli ma const - zostaje we Flash. Proste?
Problem w tym, ze zapewne tablica fontow siedzi we FLASH (chociaz z zalaczonego programu wcale to nie wynika). A skoro jest we FLASH to nie mozesz odwolywac sie do tych danych poprzez zwykla dereferencje wskaznika, bo AVRy maja architekture Harvardzka i rozlaczne przestrzenie adresowe. W efekcie do danych we FLASH musisz sie odwolywac poprzez specjalne...
Moim zdaniem zdecydowanie lepiej, niesądzisz? Przede wszystkim zysk jest taki, że multipleksowanie robi się "samo" i w main sobie piszesz co chcesz. Popracuj jeszcze nad jedną kwestią, która zmniejsza czytelność kodu - zasięg zmiennych. Zastanów się, które zmienne naprawdę muszą być globalne, a które nie. Te, które nie muszą zrób jako zmienne lokalne....
Witam, Na wejściu mamy 40-bitową liczbę binarną, potrzebujemy ją skonwertować na zapis przy podstawie 10. Chcemy tego dokonać bez angażowania 'dużej biblioteki'. Najlepiej jest tego dokonać metodą kompensacyjną. [syntax=C] /* niezbędne deklaracje np. uint8_t arr[5]; itp. Także kolejność lsb..msb bardziej pożądana, ale nie niezbędna */ /* Tablica użyta...
widzę, że jesteś niezłym magikiem bo twoje makefile jest w ogóle nie podobne do tego generowanego przez AVRStudio. Ponieważ nie korzystam z AVRStudio. Ale spróbowałem tak z ręki skompilować ten twój bootloader: make bootloader zazwyczaj kompiluje się przez samo "make", tutaj przez "make all" i niestety dostaję błąd: makefile:28: *** missing separator....
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...
https://obrazki.elektroda.pl/5766737500_... Witajcie moi drodzy. Przedstawię tutaj krok po kroku proces pisania otwartego oprogramowania dla modułu WiFi XR809/XR3 na przykładzie czujnika otwarcia drzwi. Mój firmware dla niego będzie kompatybilny z Tasmota HTTP i pozwoli używać go niezależnie od serwerów producenta. Da nam to również...
Myślałem żeby załaczyć Ci mój projekt ale - 1. jest komercyjny 2. jest zbyt myślę złożony Tak że na szybko sama idea - jest to zrobione w 5 minut i skrypt linkera powinno sie przerobic lepiej. Funkcje też są do kitu - bo parametry trzeba przekazywać wskaznikiem do nich) wtedy nie jesteś ograniczony ich ilościa itd itd. Nie jest to reentrant i bezpieczne....
Jakim programem próbowałeś robić te partycje? Na płytce hirens jest sporo programów do przywracania partycji: Odzyskiwanie danych DD 1.0 DataRescue DrDD jest imager dysk przeznaczony do odzyskiwania danych i tworzenia kopii zapasowych częściowo uszkodzone urządzeń pamięci masowej, głównymi zaletami są Wybór zakresu i Kopiuj DiskDigger 0.8.3.176 Undelete...
https://obrazki.elektroda.pl/8064219100_... Witajcie, dzisiaj przedstawię jak okiełznać kolejny chiński mikrokontroler WiFi+Bluetooth, a dokładniej W800-C400 od WinnerMicro. Na ten moment można go kupić za około 10 zł, z kolei płytkę startową z nim już za 25 zł i obie te ceny uwzględniają już przesyłkę. Oczywiście nie będę tu korzystać...
Mam pytanie-propozycję: Czy możesz wrzucić do pamięci Flash mikrokontrolera tablicę uint8_t w której jest problematyczny kawałek MP3 320kb/s? Niech read_pointer z Twojej funkcji mp3_process wskazuje na początkowy bajt tej tablicy we Flash. Pozbywamy się w ten sposób problemów wynikających z (być może) błędnej obsługi / odczytu karty SD. Drugie moje...
https://obrazki.elektroda.pl/8150253700_... Oto krótka prezentacja wnętrza mikrowieży z odtwarzaczem CD i USB firmy Blaupunkt model MS8BK. Sprawdzę tutaj jak jest ona zbudowana, spróbuję przeanalizować jej firmware z nieznanego mikroprocesora i określić jego architekturę w Ghidra, a potem uruchomię jej wyświetlacz z Arduino. https://obrazki.elektroda.pl/3095604700_...
Cześć, poniżej rozkodowany VIN : Model308 Nr APV/PR (obsługa posprzedażna/część zamienna)12497 89 1 0217 Data Początku Gwarancji01.03.2011 NRE(homologacja)e2*2001/116*0362*29 P4A9665526199 Informacje ogólne RODZAJ PRODUKTUPOJAZD SPECJALNY ZNAK HANDLOWY/TYP ELEMENTUPEUGEOT LINIA PRODUKTU308 TYP NADWOZIAHATCHBACK 5DRZW WYKOŃCZENIEWYSOKA NISKA SILNIKDIESEL...
Dane z ServiceBox'a Peugeota Model 3008 Nr APV/PR (obsługa posprzedażna/część zamienna) 12394 89 2 0592 Data Początku Gwarancji 22.11.2010 NRE(homologacja) e2*2001/116*0377*04 Informacje ogólne RODZAJ PRODUKTU POJAZD SPECJALNY ZNAK HANDLOWY/TYP ELEMENTU PEUGEOT LINIA PRODUKTU 3008 TYP NADWOZIA CROSS OVER 5-DRZWIOWY WYKOŃCZENIE ŚREDNI ŚREDNI SILNIK DIESEL...
Jeśli się chcę używać 222.222.222.1 to raczej nie wystarczy tylko wpiąć do WAN, potrzebna by była jeszcze reguła routingu. Skąd router będzie wiedział, że 222.222.222.1 jest pod jakimś tam portem w obrębie własnego switcha ethernet. Po pdłączeniu routera do WAN najlepiej dodać statyczny mapping (Address Reservation) po stronie routera MAC<-->...
. może moja tablica partycji jest dla 2mb flash czy coś. to jest płyta 4mb. Pokombinuję.
TEQOOZ(R) Inteligentny regulator wentylatora Wi-Fi + przełącznik dotykowy Bluetooth (biały) | Oparty na kondensatorze - bez buczenia | Kontrola aplikacji Tuya i Smart Life | Kompatybilny z Alexa, Google Home, Apple Siri | Wykończenie szkła Ten kontroler wentylatora nadaje się do indyjskich domów z oprawą Roma Informacje o produkcie KONTROLA APLIKACJI...
Próbowałem znaleźć, ile wersji bootloadera znamy, ale nie działało mi to zbyt dobrze. Może wymaga to więcej pracy. Myślę, że twoja tablica partycji jest również bardzo dobra i przydatna do wdrożenia
Witam, wracam z kolejną inteligentną żarówką i tym razem jest to urządzenie oparte na BK7231T (moduł wewnątrz to WB3L). I... tak, ta również pochodzi z pchlego targu Oznaczenie na nim mówi, że jest to ExtraStar A60WIFI-2, 2 jest prawdopodobnie dlatego, że są one dostarczane w pakiecie dwóch. https://obrazki.elektroda.pl/5929908800_...
Otrzymałem takie wsady oraz ich LOGi: Kasowanie pamięci ID : EC D5 84 72 50 42 EC D5 Manufacturer : SAMSUNG Model : K9GAG08U0E-SCB0 Konfiguracja: Target count : 1 LUN count : 1 Block per LUN : 2076 Page per Block : 128 Page size : 8192+436 Rozmiar całkowity : 2 292 701 184 bajtów Error erase block: T:1...
http://obrazki.elektroda.pl/4339422600_1... To moja trzecia konstrukcja na FPGA ;) pierwszy był trywialny zegarek na kilku licznikach, a potem prosty kalkulatorek dodający dwie liczby. Tak więc proszę o konstruktywną krytykę i porady, co by tu można jeszcze ulepszyć. FPGA ciekawi mnie już od jakiegoś czasu, ze względu na to, że można...
https://obrazki.elektroda.pl/3570276400_... Pokażę tutaj jak przyśpieszyłem programową komunikację SPI służącą do obsługi pamięci Flash. Sprawdzę jak dużo kodu może kryć się za warstwą abstrakcji GPIO BK7231 a potem spróbuję operacje na pinach zredukować tak, by działały bezpośrednio na rejestrach. Ile cykli procesora tracone jest...
Mam to samo urządzenie z Aliexpress. Wykonałem inżynierię odwrotną śladów. W mojej wersji RMW002 konfiguracja jest podobna, ale nie identyczna z konfiguracją opisaną powyżej. GPIO_3 = TglChanOnTgl GPIO_20 = Przycisk GPIO_14 = LED_n GPIO_21 = Przekaźnik W przypadku TglChanOnTgl działa również przełącznik zewnętrzny (S1/S2). https://obrazki.elektroda.pl/4834153600_...
(at)ElektrodaBot poniżej widać flashowanie aac do naszej procedury, ale nawet pomyślnie nie widzę żadnego AP w moim wifi leo(at)leo-HP-ProBook-6560b:~/bl602$ bflb-mcu-tool --chipname bl602 --port /dev/ttyUSB0 --baudrate 115200 --firmware OpenBL602_1.18.187.bin Wstępna ocena dostępnych informacji - Dziennik flashowania pokazuje kompletny, zweryfikowany...
Cześć, Ponieważ pojawiła się prośba o możliwość udostępnienia uproszczonej wersji na inny uC to przedstawię krótką instrukcję jak dostosować projekt do potrzeb. Generalnie w obecnej wersji obsługiwane są dwie rodziny procesorów czyli STM32F4xx i STM32H7xx - prawdopodobnie nie powinno być większych problemów z innymi podobnymi układami STM natomiast...
Witam , Wracam do tematu . Zegar skończony i przetestowany . Podziękowania dla autora za pomoc . Kilka krótkich filmów z pracy zegara wykonane telefonem . https://filmy.elektroda.pl/11_1551555088... https://filmy.elektroda.pl/90_1551555174... https://filmy.elektroda.pl/15_1551555225... https://filmy.elektroda.pl/89_1551555287... Jedna z dwóch gier...
Witam. A więc jest to kontroler LED SP530E 5CH PWM+SPI sprzedawany przez BTF Lighting, oraz inne generyczne firmy, jako model SP530E. Zamierzałem kiedyś pobawić się na nim z WLED, ale teraz https://obrazki.elektroda.pl/4191588100_... https://obrazki.elektroda.pl/9929033900_... https://obrazki.elektroda.pl/2411107800_...
Tak, nie do końca poprawne informacje. Na module SM-028_V1.3 - BL602L20. Drugi moduł pod ekranem. jest to wersja N, a nie M, jak podano na stronie tuya i na tym forum. O UART2 nie wiedziałem, sprawdzę teraz. w module CB3S cyklicznie zrzuca log: . Info:CFG:####### Boot Count 6633 ####### Info:MAIN:###### tryb bezpieczny aktywowany - błędy rozruchu 6633...
Jesteśmy świadkami, jak cała konstrukcja jest generowana przez AI. Nie tylko kod programistyczny, ale również sposób łączenia elementów. Na razie modele radzą sobie z popularnymi elementami, pewnie kwestia czasu, jak zostaną przetrenowane na datasheetsach elementów elektronicznych. . No właśnie AI kiepsko radzi sobie z Datasheet. Nie za bardzo radzą...
Bipy na biegu jałowym w przedziale -10 do 1. Przy obrotach 2500 -24 do -7. Wałek na dwuch krzywkach ma delikatne ślady zużycia, ale nie są wyrobione w istotny sposób. Rozwinąłem izolację z wiązki silnika i nie znalazłem śladów uszkodzeń. Z ciekawości spróbowałem jazdy z tempomatem. 3 bieg ustawione 50km/h. Jedzie, ale bardzo nierówno, troszkę przyspiesza,...
http://obrazki.elektroda.pl/4155164900_1... Witam wszystkich Tym razem chciałbym zaprezentować jeszcze programowy projekt radioodbiornika internetowego. Prezentowany projekt jest rozszerzeniem przedstawionego wcześniej projektu odtwarzacza i dyktafonu na STM32F407VG. Połączenie z Internetem zapewnia moduł WiFi WF121-A (internal antenna)...
https://obrazki.elektroda.pl/1655231800_... Microchip, po zakupieniu Atmela, utrzymuje nadal projekty, jakie realizowała ta firma przed przejęciem. Wypuszczane są kolejne układy z rodzin AVR (tinyAVR i megaAVR) jak i 32-bitowe mikrokontrolery z rdzeniem ARM-Cortex. Do układów tych dodawane są nowe rozwiązania, czego przykładem może...
Pytanie nr 1 :) Jak wskazuje się czy tablica ma być w RAM'ie lub flash'u? 2 Jak powinien wyglądać taki kod kopiujący flash do ram [syntax=c]//============================... void CPY_FLASH_RAM (char *TAB) //kopiuje tablice z flash do ram { unsigned short int i; for (i=0;i<1024;i++) {...
Witam serdecznie, Poszukują gruntownych, wyczerpujących informacji na temat sposobu implementacji tablic funkcji do pamięci FLASH. Chodzi Ci o to, żeby trafiły do pamięci FLASH, a nie RAM? Jeśli tak to wystarczy zapis: [syntax=c] const int tablica={ 8, 7, 6, 5, 4, 3, 2, 1, 0 }; // tablica idzie do FLASH int funkcja(int argument) { return(tablica[argument]);...
Aby wyjaśnić Ci Twój problem, podaję Ci metodę "czytania" typów zmiennych, który wyjaśnia wszystko. Jest kilka zasad: 1. Czytanie zaczynamy od nazwy zmiennej 2. Czytamy w prawo dopóki nie dojdziemy do "końca", po osiągnięciu "końca" czytamy w lewo od nazwy zmiennej 3. Obowiązują nawiasy, które są "lokalnymi końcami" Tak więc: const char * const l_wartosc[]...
Cześć! Niedawno natknąłem się na to forum, gdy chciałem przekonwertować przekaźnik Aubess/Tuya na OpenBeken... Więc proszę, dołącz do mnie w tej podróży po modowaniu :) Kupiłem te światła w 2019 roku od https://obrazki.elektroda.pl/5695976400_... https://obrazki.elektroda.pl/3193775500_... https://obrazki.elektroda.pl/1387495300_...
flash znaczy ze ta tablica jest wpisana "na zawsze" w pamięć programu (flash). Nieznajduje sie ona w ramie, jak to by bylo przy deklaracji bez modyfikatora "flash". Avr rozdziela pamięć danych i pamięć programu, a natywny ANSI C juz nie, dlatego dostosowano C do avr-a w ktorym te dwie przestrzenie pamięci są oddzielne.
tablica flash tablica wektor flash tablica chara flash
pionier stereo przestroić słuchawki grania podświetlanie matrycy samsung
instrukcja obsługi predom manetka hulajnoga
Zasilanie wideorejestratora w Volkswagen Passat B8 – skrzynka bezpieczników, fuse-tap, hard-wire kit Passat B8 – zasilanie wideorejestratora z lampki sufitowej, BCM, hard-wire kit, ACC