Czuję się zaburczany. Rozwiązanie, o którym myślałem jak widzę nie ma sensu. Przyznaję - moja wina. Nie do końca przemyślałem sprawę. Dziękuję za uświadomienie problemu. Aby temat nie został bez żadnej merytorycznej zawartości - powiedzcie proszę, abstrahując od zastosowania, jak w miarę łatwo zapisywać dane do flasha z programu, jeśli macie link do...
kolego no ale gdzie dodałeś? ;) .... ..... form4.Edit8.text := sList.Strings zobacz najpierw próbujesz odczytać coś ze stringlisty i to normalne że wywali się błąd index out of bound bo nie ma do niej nic wczytane najpierw wczytaj zawartość pliku do stringlisty sList.LoadFromFile(NazwaPliku); {dodałem} a potem odczytuj z niej poszczególne stringi form3.label1.caption...
String to ogarnie.
Witam. Nie bardzo rozumiem o co ci chodzi. To jest mikrokontroler 8 bitowy i pamiec jest zorganizowana w komorki 8 bitwe. Wiec jesli chcesz zapisac np zmienna typu int robisz to tak: zapis gornych 8 bitow -> zwiekszasz adres -> zapis dolnych 8 bitow/mozesz i odwrotnie ,zalezy to od twojego zapisu notacji/ i analogicznie robisz odczyt. Ponizej...
No myślę, że rozwiązaliśmy problem dostatecznie go podsumowując, także zamykamy. A ja dziękuję za zagorzałą :) dyskusję. Pozdrawiam. Temat okazał się być niedostatecznie rozwiązany gdzyż funkcje nie działały poprawnie. A oto 100% działające kody do obsługi flash: Wyłączenie zabezpieczenia zapisu wybranych oczywiście grup stron : [syntax=c]if((GPIOA->IDR...
Witaj, to urządzenie jest najprawdopodobniej zbudowane w oparciu o TuyaMCU, więc procedura wyglądałaby tak jak tutaj: https://www.elektroda.com/rtvforum/topic... https://www.elektroda.com/rtvforum/topic... Z tego co widzę dpID są już znane: A właściwie to mamy już zrobione, można to pominąć, chyba, że producent coś mocno pozmieniał...
Panowie wydaje mi się, że właśnie w takim przypadku użycie volatile jest KONICZNE i to zdecydowanie, ponieważ to właśnie tylko w funkcjach a w zasadzie TYLKO w funkcjach zawierających pętle nieskończone bez możliwości ich przerwania dochodzi do buforowania zmiennych Nie jest to prawdą: Poczekaj poczekaj, może nie jest to prawdą jak napisałeś, ale opóźniony...
Proszę bardzo! Wersja minimalna - zapamiętywanie jednej zmiennej na F0. No fakt, aż 36 wierszy. Nie no błagam... nie rozśmieszaj mnie. Chodziło o kod który dla DOWOLNEJ ilości zmiennych (oczywiście w granicach rozsądku tak aby wszystkie mieściły się w emulowanym EEPROMie) pozwala NA ŻĄDANIE odczytać/zapisać WYBRANĄ zmienną. A ty wrzucasz tu jakieś...
Duży filtr na zasilaniu A po co? Wystarcza tylko dioda shottky'ego+ mały supercap 1F albo duży zwykły i sprawdzanie czy jest napięcie przed diodą. Ale czy to tańsze, szybsze i bardziej niezawodne niż bateria i watchdog? :) Szczególnie jak się A/D do czego innego chce wykorzystywać..
Słyszałeś pewnie o zmiennych typu bool (boolean) - taka zmienna przyjmuje tylko dwie wartości: prawda (true) lub fałsz (false). Najczęściej jest to wynik jakiegoś porównania, np. zmienna x będzie miała wartość true dla następujących porównań: zaprzeczenie warunku logicznego , czyli: [syntax=cpp]!false = true !true = false[/syntax] Pamiętając o tym co...
https://obrazki.elektroda.pl/3221612800_... Witajcie moi drodzy. Zapraszam na relację z postępów prac nad otwartym firmware dla BK7231T. Temat ten napisany będzie w formie tutoriala, przedstawię tu krok po kroku jak opracowałem własny, wieloplatformowy (działający na Windowsie i BK7231T) mini-serwer HTTP, system konfiguracji pinów...
czy ten zapis "2019-12-31" jest dobry Nie :cry: musisz przekonwertować na typ zmiennych taki jak "tera" [syntax=vbscript]kryt = "2019-12-31" If tera > CDate(kryt) Then [/syntax]
Nie ma potrzeby ustawiać adresów zmiennych "na sztywno". Ponieważ Bascom dla zmiennych wielobajtowych , stosuje zapis typu Little Endian to kod może wyglądać tak: Dim Zmienna As Word Dim Zmienna_lo As Byte At Zmienna Overlay Dim Zmienna_hi As Byte At Zmienna+1 Overlay I nie obchodzi nas pod jakim adresem znajduje się Zmienna , bo kompilator zadba o...
Pokaż kod.
Aby uzyskać dostęp do odczytu eeprom, trzeba ustawić bit EEMEN w rejestrze WMCON. Wtedy eeprom widziany jest jako pamięć xdata (adresy 0x0000-0x07ff), i odczyt odbywa się tak, jak zmiennych z przestrzeni xdata, np: xdata char eep_var; data char x; (...) WMCON |= 0x08;//wybor pamieci EEPROM jako XDATA x = eep_var; Dodatkowo aby móc zapisać EEPROM,...
To wszystko kewstia programu a nie samego układu. Moza przecież przed zapisem pobrac częsc całkowitą z liczby podzielonej przez 256 i zapisac do drugiej komórki. A w czesie odczytu odczytac jedna i dodac do niej zawartośc drugiej komórki*256. przykład: 1750 = 214 + (6*256); W jdenej 214 a w drugiej 6 A doczytujesz to tak: 6*256+214=1750. Kompilator...
szelus : nie w tym problem - zmienne w pamięci i tak muszą zostać zaktualizowane, chciaż dodanie volatile powinno zapewnić kolejność aktualizowania zmiennych. Bardziej obstawiał bym na błąd z czasem istnienia zmiennych - zmienna checksum jest tworzona na stosie (zmienne lokalne, których adres jest potrzebny nie są umieszczane w rejestrach), więc jej...
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ą...
Działa to poprawnie, czy są jakieś krytyczne uwagi co do tego? Ten kod można raczej mocno skrócić. Np. czekanie na dostępność EEPROM nie jest potrzebne, bo to już załatwiają funkcje odnoszące się do EEPROM. Ponadto, jeśli te zmiene wrzucisz w strukturę, to można to potem łatwo zapisać przez zapis blokowy od razu całości, co oszczędza kolejne wywołania....
Chciałbym zapisać wartości zmiennych w pliku po czym przywrócić je do pliku wsadowego. Czy ktoś mógłby mi pomóc?
Witam. Zmienne oznaczone jako retain są zapisywane do pamięci nieulotnej tylko w razie zaniku zasilania, a podczas normalnej pracy znajdują się w RAM, więc można je bez ograniczeń nadpisywać. Któraś z dokumentacji o tym wspomina. Mogę poszukać w razie potrzeby i w wolnej chwili. Pozdrawiam Andy
Jeśli chodzi o AVR: Zapis stałoprzecinkowy robiony jest wg. dwóch formatów: 2^7, 2^6, 2^5, 2^4, 2^3, 2^2, 2^1, 2^0 w zapisie -1, 2^{-1}, 2^{-2}, 2^{-3}, 2^{-4}, 2^{-5}, 2^{-6}, 2^{-7} zapis 2^{-8}...2^{-15} teraz, aby załadować liczbę tego typu (czyli z przedziału (-1..1)) do rejestru najlepiej posłużyć się wbudowaną funkcją asemblera (w wersji v2):...
Może za szybko zapiszujesz albo niepełny ten zapis? ;ldi r18,128 clr r16 cli ;eeprom_zapis: ;out eear,r16 ;adres w eeprom ;out eedr,r16 ;zmienna w eeprom ;sbi eecr,2 ;ustawienie EEMWE ;sbi eecr,1 ;impuls EEWE ;test: sbic eecr,1 rjmp test ;inc r16 ;cpse r16,r18 rjmp eeprom_zapis sei ;sprawdz czy adres rowny Jak widać służyło do zapisania kolejno...
Ad 1 Ponieważ są 4 zmienne to traktujesz je jako kolejne bity adresowe pamięci RAM o pojemności 2^ilosc_zmiennych. Dla kolejnych kombinacji zmiennych wejściowych (od 0000 do 1111) w odpowiadające komórki pamięci RAM wpisujesz wymagane wartości funkcji logicznej. Przykład dekoder BIN->7 segm. Potrzebna jest pamięć 16*8 bitów w kolejne adresy wpisujesz...
Zamiast męczyć maliny z poziomu każdego użytkownika osobno (jak polecają w poście wyżej). Możesz sprawdzać stan malin z serwera (z niego wysyłać zapytanie) - w wypadku gdy stan portów zmienia się w dużej częstotliwości, w tym wypadku polecam cron'a. Możesz przy zmianie stanu portu wysyłać post do serwera i tam mieć zapisane stany dla każdej maliny osobno,...
po prostu - masz thread, który pisze do SD. odbierasz ramke, który jezt zablokowany na kolejce, semaforze, mutexie czy tez notyfikacji. Przykład: Jak odbierzesz ramkę wstawiasz do kolejki dane (lub tylko referencję). Thread zapisujący na kartę się odblokowuje i zapisuje. Możesz miec (jezeli wstawiasz do kolejki same rwskażniki do buforów) dwa (lub węcej)...
Podnieś Bascom do nowszej wersji. Wersję 2078 już spokojnie znajdziesz w sieci. Na 2080 się to kompiluje bez błędów mimo iż program zgłasza kilka ostrzeżeń o dwukrotnej deklaracji tych samych zmiennych itd.. Musisz wiedzieć że AVR-DOS potrzebuje minimum 1500B SRAM i w Mega32 zostaje Ci 500B SRAM. Nie zadeklarowałeś wielkości stosów HW i SW oraz ramki...
co robię źle ... Np.: brak deklaracji zmiennych "ostw" i "ostw2", jak również deklaracje innych nie wiedzieć czemu "variant", Np.: ... ostw = Worksheets("DANE").Cells(Rows.Count, "B").End(xlUp).Row ostw2 = Worksheets("LOG").Cells(Rows.Count, "B").End(xlUp).Row Zapis " Rows.Count " odnosi się do bieżąco aktywnego arkusza, a nie do arkusza "DANE", czy...
Taki zapis ( definicja )powinien być w jednym pliku C (zmienna globalna) volatile unsigned char stan = CZEKAJ; w pliku headera (chyba sensor.h) tylko deklaracja extern volatile unsigned char stan; w żadnym wypadku nie można dawać w headerze (pliku *.h) includowanym do wielu plików *.c definicji zmiennej statycznej static unsigned char stan = CZEKAJ;...
Taki zapis jest generalnie niepoprawny: signal counter : std_logic_vector(3 downto 0) := "0011"; bowiem większość układów FPGA nie ma możliwości zdefiniowania początkowej wartości sygnału. Po prostu technologia na to nie pozwala. Trochę tak, a trochę nie ;) VHDL to nie tylko kodowanie pod syntezę, a często modelowanie do celów...
możesz zrobić przerwanie z timera + programowy "watchodg" który sprawdzi co jakiś czas czy procesor działa. Jeśli nie (bo wartość w programowym watchdogu jest zbyt duża) to wtedy taka sekwencja: 0. sprawdzenie flagi "gotowy" - jeśli ustawiona to czekaj na reset z WD - nie rób nic 1. reset wd 2. zapis do eeprom 3. ustawienie flagi "gotowy" cóż, słyszałem...
Witam, żadnego może nie być Chyba kolega miał na myśli każdego . Sądzę, że dlatego, iż pokazujesz x1, ale nie deklarujesz jaką wartość ma mieć. Tu nie ma co sądzić, zresztą błędnie (lecz pośrednio prawidłowo), kompilator jasno informuje nas co jest przyczyną ostrzeżenia. W pierwszym argumencie pętli for deklarujesz zmienną albo przypisujesz wartość...
[syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.2 , Rs = Portd.3 Config Lcd = 16 * 2 Config Debounce = 10ms 'konfiguracja magistrali I2C Config Scl = Portd.0 Config Sda = Portd.1 'przypisanie nazw przyciskom P_1 Alias Portb.0 Ok Alias Portb.1 Esc...
Nie bardzo rozumiem. na pierwszym miejscu mamy zadeklarować gdzie ma być zapisana czyli adres, a na drugim zmienna. zmienna w RAM to kWh_stan zmienna do eeprom to kWh_stan_ee - ewentualnie jak to się nie pomiesza to może być jedna zmienna kWh_stan do eeproma i do Ramu. uiAddress jest zadeklarowana na samym poczatku jako float uint16_t uiAddress = 0...
W porządku, więc skoro dopiero zaczynasz, to: 1. Utrzymuj porządek w kodzie - wcięcia, odstępy między blokami kodów, pozycjonowanie składni typu ' If ... End If ', ' Select Case ... End Select ', itd. Robisz to co prawda dla siebie, nie dla innych, ale im większy będziewsz mieć porządek, tym szybciej będziesz mógł coś zmienić, poprawić, przestawić,...
Aż sprawdziłem datasheet tego uC co podałeś bo niemogłem uwierzyć w blokowanie. Mikrokontroler ten jest programowany maska i nie ma takiej mozliwosci (oprócz załatwienia go na ament zasilaniem albo mechanicznie) żeby sam sobie zmienił program. Więc i zablokowanie z tego powodu nie wchodzi w grę. Napewno mozna to zrobić grzebiąc własnie w eeprom bo pewnie...
Skąd wiedzałeś żeby użyć akurat rejest 3 i 4 ? register uint8_t pwm_val asm("r2"); register uint8_t pwm_mask asm("r3"); Stąd że r0 i r1 były już wykorzystane i poprostu wykorzytałeś 2 kolejne/wolne ? I czy moge wykorzystywać to ot tak w innych programach gdzie liczy się czas instrukcji. http://www.nongnu.org/avr-libc/user-manu...
na temat detekcji w kamerach . Mam na myśli "co to jest detekcja ? " "i co robi ?"w senie co rozpoznaj Nie tylko kamerach ale takze urządzeniach zwanych rejestratorami. Polega to na analizie wybranego fragmentu obrazu, a dokładniej na zmiennych pojawiających się w jego obrębie - dla uproszczenia, masz szachownicę którą obserwujesz, nagle pojawia się...
Niestety funkcja jest tak skomplikowana (czytaj długa) że nie da się tego zmieścić w jednej komórce w związku z tym jest tzw. tabela pomocnicza która wylicza oddzielnie przypadek z CL, przypadek z PM (9-13PM) i split Na razie stosuj zapis jak dotychczas (oprócz tego split - chyba że to będzie drugi przypadek 12 +17:30-23:30 czy może 8- 11 +17:30-23:30...
Najpierw skupiłbym się na pobraniu danych do przetwarzania. Sama obecność złącza usb nic nie daje. Musisz jeszcze wiedzieć jak pobrać dane z urządzenia. Musisz też pomyśleć nad prezentacją wyników: LCD, transmisja do PC czy zapis na kartę pamięci i później transmisja do PC jako plik .csv? Prezentacja wyniku 13000,000 na 13 bitach jest niemożliwa. Jedyne...
Witam, Dużo rozkazów jest niepotrzebnych: ustawioanie pojedynczo bitów a potem przez zapis całego rejestru (rejestr IE), nie powtarza się konfigurowania liczników w przerwaniach jeśli zostały skonfigórowane na początku, to samo z aktywacją przerwań, więc po okrojeniu: $mod51 ;istotne dla kompilatora asm51 pre0equ10h;deklaracje komórek zmienne "set"...
... Co do pytania czy odnajduje sie w kodzie, to w końcu sam go napisałem i dla mnie jest czytelny, choć wygląda na zagmatwany przez ilośc zmiennych i funkcji if, to spełnia swoja rolę idealnie ... ... Program działa bez zarzutu, tak jak pisałem wcześniej ... Wybacz mój "sceptycyzm", ale wątpię. W kodzie, który zamieściłeś (Sub KCKW): 1. Brak jest...
sugerujesz się nazwami zmiennych i komentarzem, a kompilator nie czyta komentarzy. Nie sugerowałem się komentarzami w kodzie, ani jakimikolwiek innymi. Analizowałem tylko sam kod źródłowy pierwszej wersji programu w poście #1. Może czegoś nie widzę, ale na pierwszy rzut oka, to program3 uruchomiony w piątej sekundzie od włączenia urządzenia powinien...
Witam DAC AC CHARACTERISTICS- tutaj chodzi pewnie o charakterystyki przejściowe albo dla sygnałów zmiennych (AC) Voltage Output Settling Time- czas ustawienia napięcia wyjściowego COMPARATOR komparator Input Voltage Range zakres napięcia wejściowego Input Capacitance pojemność wejściowa Hysteresis4 histereza Response Time czas odpowiedzi TEMPERATURE...
Zastosowałem się do instrukcji i dalej nic mi nie wychodzi.Przepraszam ,że zawracam głowe ale ja dopiero się uczę i to moje pierwsze pisanie. Dodano po 7 Teraz wygląda to tak: $regfile = "2313def.dat" $crystal = 800000 Config Pind.0 = Output Config Pind.1 = Output Config Timer0 = Timer , Prescale = 256 On Timer0 Odmierz_1s Dim Licz_8ms As...
http://obrazki.elektroda.pl/6106634100_1... Przedstawiam projekt inteligentnej stacji meteorologicznej. Jest to nietypowa konstrukcja, zdolna do przewidywania temperatury powietrza atmosferycznego na kolejne 24 godziny. Wykorzystałem do tego celu sztuczną sieć neuronową. Stacja rejestruje co minutę wartość temperatury oraz prezentuje...
Witam, 1. UL to jest unsigned long (32bitowa liczna bez znaku) standardowo wszystkie stale liczby traktowane są jako int ponieważ 4000000 nie zmieści się na 16bitowym int , wiec musi być jako long lub też unsined long 2. uint8_t to tak naprawde unsigned char w pakiecie WinAVR znajduje się plik inttypes to właśnie w nim są zdeklarowane podobne typy zmiennych...
Przyjrzyj się dokładnie temu co napisałem - właśnie do separowania parametrów się doskonale nadaje. Skrócenie łańcuch następuje niejako samoczynnie - nie potrzeba dodatkowej pamięci kopiowania Ogólnie: zapis char t[]="abcde" oznacza tablicę 6 elementową (5 liter + 0) przy czym t z definicji wskazuje pierwszy znak (a) w związku z tym t+2 wskazuje 3 znak...
Wielkie dzięki, wszystko działa super, a ja tyle się męczyłem i kombinowałem. Przepraszam za błędy i postaram się pisać lepiej. To był mój pierwszy post i jeszcze nie wiem jak zakładać tematy. Poprawiłem ponownie błędy. Wstawiajmy spacje po znakach przestankowych. /salmon/
myślałem że Arduino kasuje flasha jak się ustawi "Enabled" w "Narzędziach". Moim zdaniem robiłeś dobrze kasowanie całego flasha, też tak robiłem i działało z poziomu menu Arduino IDE. (at)hevet spróbuj ogarnąć zapisywanie ostatniej stacji za pomocą biblioteki <Preferences.h> mi się to nie udaje. Myślę, że można dać odczyt "get" na końcu setup-u...
Kod wydaje się sprawować prawidłowo. Przecinek jest względny. Operacje na zmiennych z przecinkiem są męczące dla mikrokontrolera. Jesli nie jest to konieczne to należy ich unikać. Zauważ że sam DS nie wysyła Single tylko Integer. Każda zmienna z jednym miejscem po przecinku pomnożona przez dziesięć da liczbę całkowitą. Tutaj przecinek jest "wirtualny"...
zapis zmiennych flash bascom zmiennych przekazywanie zmiennych
modyfikacja softu tripower sunny środek czyszczący
bateria parkside radio stolica
Błąd F943 w piekarniku Electrolux - przyczyny i rozwiązania MSD3663 TV Board PCB Design and Resources