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.
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....
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...
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...
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ą...
ja zawsz robie tak: dim A as word dim a_e as eram word a=a_e '- czytam z komurki a_e=a '- zapisuje do komurki co do WRITEEEPROM to nie wiem czy można zapisywać z pomocą tej funkcji zmienne większe jak byte.
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)...
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,...
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,...
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):...
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...
Dzięki koledzy. Wygląda na to że już będzie działało, ale jeszcze chciałbym uściślić parę wątpliwości To w końcu float, czy uint16_t? To są różne rzeczy. jest mi obojętne czy to będzie float czy integer byleby działało. Ogólnie będą liczby całkowite więc wystarczy uint16_t, ale próbowałem już różnych sposobów. Nie działała funkcja eeprom_write_byte...
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...
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;...
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...
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...
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...
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"...
Mając trochę wolnego czasu napisałem parę funkcji do obsługi układu PCF8583. Funkcja która ustawia godzinę i datę zapisuje też dane potrzebne do obliczenia pełnego roku, dzień tygodnia jest obliczany automatycznie na podstawie daty. Funkcje Pcf8583_write i Pcf8583_read można wykorzystać do zapisywania/odczytywania danych z wolnej pamięci ram. Dostępne...
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...
... 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...
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
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/
Ja zrobiłem tak:(procek atmega 16 bo jak będzie mało eprom to wystawie mega32) Mierze sobie napięcie z przepływki ADC(0)- mam od 0 do 1023 Tak samo mam pwm od 0 do 1023 konfiguracja , im mniejsza liczba w rejestrze COMPAREA tym krócej trwa stan niski, korekta za pomocą przycisków + - i zapis do eeprom Adc=pwm to działanie liniowe , na którym auto po...
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"...
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...
https://obrazki.elektroda.pl/8668296200_... Pokażę tu jak połączyć z Home Assistant LCD kalendarz/termometr/higrometr model TH06. Kalendarz ten zbudowany jest w oparciu o moduł WiFi WB3S/BK7231T połączony z dodatkowym mikrokontrolerem, który komunikuje się z modułem WiFi poprzez protokół TuyaMCU. Moduł WiFi jest tu odpowiedzialny za...
Poradnik dla początkujących – o zasilaniu, zakresy napięć we. i wy, sposoby... 1. Terminy i pojęcia. Zasilanie symetryczne - zasilanie WO dwoma napięciami: dodatnim V DD (V CC ) i ujemnym V SS (V EE ) względem masy, których wartości bezwzględne są jednakowe: |V DD |=|V SS | np. +5V i -5V. Zasilanie podwójne - jak zasilanie symetryczne, ale bez...
https://obrazki.elektroda.pl/8545401100_... Mój poprzedni temat o Pierwsze kroki Jakiś czas temu publikowałem temat o https://obrazki.elektroda.pl/4535548900_... Wyszukujemy DHT. Biblioteka DHT wymaga też dodania Adafruit Unified Sensor Library, więc dodajemy obie biblioteki. Najpierw Unified Sensor: https://obrazki.elektroda.pl/1839946000_...
https://obrazki.elektroda.pl/7583117900_... Pokażę tutaj moją prostą implementację tzw. "WiFiManger" na Arduino R4, czyli mechanizmu, który pozwala parować Arduino z naszą siecią WiFi w stylu parowania Tasmoty, czyli najpierw Arduino jest w trybie otwartego access pointa, do którego można się podłączyć i wpisać dane naszej sieci WiFi,...
https://obrazki.elektroda.pl/8661538600_... Zainspirowany podcastami o historii komputerów (podcast #19 - Magnetofon w służbie informatyki Komputery, nawet wczesne modele z lat 50tych, potrafiły wykonywać obliczenia z niezwykłą prędkością i wydajnością. Wciąż jednak problemem była pamięć. Dostępne formy RAMu mogły pomieścić program,...
Zapisy o ktorym piszesz odbywaja sie do pamieci EEPROM, a nie FLASH. FLASH mozna zapisywac tylko z sekcji bootloadera za pomoca secjalnego ciagu instrukcji, no i zapis odbywa sie po stronie. Czyli na raz w zaleznosci od kontrolera zapisujesz 16-64 bajty. EEPROM ma trwalosc 100k zapisow, potem moga sie dziac cuda (zamiast 0 bedziesz na odpowiednim bicie...
zamiast fraktali (bo jak dla mnie - to powinno być umieszczone gdzieś znacznie później) proponowałbym inna formę kursu. ja wiem, że jakies szczątkowe materialy na temat sdcc są w internecie ale w pierwszej kolejności proponowałbym stworzyć jakąs instrukcję traktującą o tym - jak w ogóle dobrać się do pakietu SDCC (w odniesieniu do cobry ) i stworzyć...
https://obrazki.elektroda.pl/7185306600_... Oto mały program pozwalający przeanalizować zawartość podsłuchanych pakietów TuyaMCU. Program pokazuje typ, długość oraz zawartość pakietu, z podziałem na dpID zmiennych, ich typy oraz wartości. Program pozwala szybko zorientować się co zawierają podsłuchane przez nas dpID - czy np. jest...
https://obrazki.elektroda.pl/9290552300_... Witajcie moi drodzy. Zapraszam na kolejną część mojego tutoriala PIC18F2550 i kompilatora SDCC . W tej części poznamy sterownik wyświetlacza LED MM5450, połączymy go z PIC18F2550 i napiszemy od 0 implementację ich komunikacji. Docelowo użyjemy MM5450 do wysterowania wyświetlacza LED 5 na...
zapis do flasha jest skrajnie banalny, gotowy przyklad znalezc mozna w user manualu. 4\/3!!
Witam Przedstawiam projekt miernika energii elektrycznej 3 fazowy który został wykonany w celach edukacyjnych w efekcie końcowych działa w warunkach domowych bez żadnych problemów. Konstrukcja oparta jest na pomyśle http://obrazki.elektroda.pl/6049601700_1... http://obrazki.elektroda.pl/2466438500_1... http://obrazki.elektroda.pl/2177793100_1...
To jest tzw. problem XY. Zadajesz pytanie nie na temat faktycznego problemu, który chcesz rozwiązać, tylko na temat wymyślonego przez siebie sposobu rozwiązania tego problemu, sposobu który nie jest właściwy. Kod, który podałeś w załączniku jest powtórzony ileś tam razy - czy to jest konkretna liczba powtórzeń, czy zależy od liczby danych? Nie jest...
https://obrazki.elektroda.pl/1799053000_... Multimetr jest podstawowym narzędziem pracy każdego elektryka i elektronika. Modeli na rynku jest bardzo dużo, od najtańszych wyrobów chińskich po topowe produkty wiodących marek. Łatwo jest się zgubić w gąszczu ofert, a jedyną wskazówką jest specyfikacja multimetru. Specyfikacja, która bywa...
Kod wygląda tak: Z tego co widzę: EEPROM.read i EEPROM.write - zapisują zmienne jednobajtowe ( liczba z zakresu 0-255 ) proponuję używać EEPROM.get i EEPROM.put https://docs.arduino.cc/learn/programmin... deklaracja i inicjalizacja zmiennych w środku pętli to nie jest najlepszy pomysł Spróbuj to [syntax=arduino] #include <LiquidCrystal.h>...
Problem z pomiarami jest przy małym wypełnieniu np. gdy jest pochmurno. Zmniejszenie częstotliwości pwm faktycznie poprawiło odczyty. Dla majsterkowiczów wstawiam kod. Proszę pamiętać, że wykorzystując tylko "dolny klucz" IR2104 sygnał pwm mamy odwrócony, czyli pwm 99% z arduino daje 1% na mosfet. Program obsługuje 4 wątki. 1. Odczyt ADC 2. Wysterowanie...
https://obrazki.elektroda.pl/9234332600_... Ode mnie: Opis jest powierzchowny ze względu na brak czasu. Postaram się odpowiedzieć na rzeczowe, techniczne pytania dotyczące konkretnych zagadnień. Urządzenie jest projektem jednostkowym, niekomercyjnym. Schemat: https://obrazki.elektroda.pl/4430277100_... Z potrzeby...
Hmmm no nie próbowałem, nawet bym tego nie wymyslil... w końcu powinno zadziałać samo to: Tterm1 = Tzap1 Nie wiem dlaczego miałby to być taki taki zapis jak sugerujesz.. W końcu na zmiennych BYTE działa to bez problemów... A miało być to takie proste... Pozdrawiam
Nie widzę potrzeby zabezpieczania przed czymkolwiek. Zapis zmiennych w pamięci będzie następował w postaci pojedynczej operacji - to nie 8-bitowiec, w którym trzeba uważać na niepodzielność zapisu danej 16-bitowej w dwóch kawałkach. Inna sprawa, że zapewne zamiast średniej potrzeba tu filtra, który nie wymaga ani trzymania iluś pomiarów, ani ich sumowania,...
Witam ponownie po dłuższej przerwie. W międzyczasie usunąłem jeszcze jeden zauważony błąd powodujący zawieszenie się odtwarzacza, a przedtem wyświetlenie śmieci na LCD. Błąd ten pojawiał się, gdy do odtwarzacza włożyło się nowo zakupioną lub pustą po formacie kartę SD. Błąd ten usunąłem modyfikując fragment funkcji main, jak poniżej: if (! (AT91F_PIO_GetInput(AT91C_BASE_P...
Nie wiem czy wiesz co będzie wynikiem jeśli weźmiemy dwie zmienne szesnastobitowe bez znaku i odejmiemy większą od mniejszej? Wynik nadal będzie dodatni jednak pomniejszony o poprzednią wartość tej mniejszej zmiennej. Tak więc proponuję rozważyć taki temat: Timerx w momencie pierwszego odczytu w INTx ma 65530. Nie zerujemy Tmerx . Timerx w momencie...
Widziałem tamtą bibliotekę i przyznam, że odrzuciłem ją ze względu na zapis zmiennych float i int - jakoś taki mało czytelny. Jeżeli nie znajdę innej opcji to do niej wrócę. Być może nie zapisuję - to też jest trop :D
nie może być FOR'a Bez pętli FOR? To co jest dozwolone ? Czemu nie piszesz takich rzeczy na samym początku? Twój przykład mniej więcej ok, trzeba poprawić zmienną pomocniczą j. Najlepiej ubierz to w jakiś język programowania, będzie chyba prościej analizować. W C# ja to zrealizowałem np. tak: [syntax=csharp] for (int i = 0, j=2; i <= 8; i++) { if...
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...
Konwersja obwodu logicznego, zrealizowanego przy pomocy bramek AND i OR na formę zestawioną z bramek NAND i NOR jest doskonałym ćwiczeniem, które pomoże zrozumieć podstawowe prawa logiki Boola. Poniższy artykuł podzielono na trzy sekcje. Opiera się on na zadaniu domowym pewnego studenta, który poprosił o pomoc na forum EEWeb. Sedno tego zadania jest...
http://obrazki.elektroda.pl/4973437600_1... Korzystając z odrobiny wolnego czasu postanowiłem stworzyć GUI/Layout/Interface, lub jak kto woli międzymordzie, deski samochodu. Głównym elementem jest wyświetlacz DMT80480C070_02WT 800x480 7" z modułem sterującym DGUS. Ponieważ jest to tylko demo to dane sterujące są wysyłane z prostego...
Konwencje w tworzeniu oznaczeń dla zmiennych czy funkcji są niezwykle widoczne. Warto jest używać spójnego sposobu tworzenia nazw w swoich projektach - schematach urządzeń elektrycznych, oprogramowaniu etc. Dzięki temu będą one znacznie czytelniejsze dla odbiorców. W poniższym materiale przyjrzymy się kilku konwencjom, stosowanych w różnych aplikacjach....
https://obrazki.elektroda.pl/2537694500_... Pokażę tutaj jak wygląda tworzenie strony WWW dla dowolnego urządzenia IoT na wieloplatformowym firmware Podstawa interfejsu REST OpenBeken/Tasmota OpenBeken ma interfejs REST zgodny z podstawą Tasmoty, co oznacza, że składania komend i zwracanych danych jest w dużej mierze taka sama. Samą...
https://obrazki.elektroda.pl/7326093500_... Dzisiaj uruchamiamy najnowsze Arduino R4 WiFi wraz z nakładką Data Logger Shield, która pozwala wygodnie zapisywać dane na kartę SD. Najpierw uruchomimy najprostszys zapis do pliku na karcie, a potem spróbujemy go rozbudować i wykonamy prosty termometr na bazie DHT11 wraz z historią pomiarów...
https://obrazki.elektroda.pl/4196928500_... Witajcie moi drodzy Tutaj opiszę moje doświadczenia z uruchamianiem sterownika LED MAX7219 oraz bibliotekę do jego obsługi którą opracowałem dla mikrokontrolerów PIC. W skrócie MAX7219 to kostka która pozwala sterować bardzo dużą liczbą diod LED za pomocą tylko kilku pinów mikrokontrolera....
Znalazłem specjalnie dla Ciebie jeszcze kilka bajtów :D ahahahahaha Bascom stara się być "ignorantoodpornym" czyli jak ktoś może czegoś nie wiedzieć to on to, na wszelki wypadek, robi za niego. W języku C każdą zadeklarowaną zmienną najczęściej inicjuje się jakąś wartością ponieważ po reset nie można być pewnym, że w niej znajduje sie zero lub potrzebna...
W Zmienne globalne — wiedz, kiedy są modyfikowane Zmienne globalne muszą być ostrożnie obsługiwane, gdy są używane z przerwaniami, ponieważ te są generalnie asynchroniczne. I jeżeli zmienna globalna jest modyfikowana przez ISR, może zostać zmieniona w dowolnym momencie. Musimy mieć na uwadze następujące aspekty: Odczyt/zapis zmiennych globalnych...
Chciałbym dzisiaj opisać i przybliżyć Wam bardziej czytnik kart RFID. Opis będzie dotyczył modułu RDM6300. https://obrazki.elektroda.pl/6096516800_... Jest to czytnik kart i TAGów RFID pracujący z częstotliwością 125kHz, urządzenie to nie potrafi zapisywać kart/TAGów. Moduł sprzedawany jest w komplecie z anteną. Jego wymiary to: 39x19x12mm,...
Rzeczywiście, w OpenBeken możliwy jest dostęp do zmiennych w komendach poprzez odpowiednie słowa kluczowe: https://github.com/openshwprojects/OpenB... Oznacza to, że przykładowo skrypt: setChannel 10 123 publishInt MyVar $CH10*0.1 opublikuje przez MQTT klucz MyVar i wartość 12.3, czyli wartość kanału 10 przemnożoną...
Witam, Jestem mocno skrępowany tymi pytaniami o programowanie PLC. Żaden ze mnie ekspert, wszystko, co wiem, wydłubałem w sieci i jestem pewny, że popełniam po drodze mnóstwo błędów w sztuce. Może ktoś z zawodowców zabierze głos? Jeśli chodzi o proces aktualizujący czas – dodałem osobne zadanie, gdyż gdzieś wyczytałem, że sięganie do wbudowanego...
Mam w programie zmienną o nazwie fuses. Do tej pory używałem jej bez problemu. Do czasu odczytania jej z eeprom. Ku mojemu zdziwieniu zmienna o niemal identycznej nazwie, zadeklarowana tak samo działa. Dlaczego? unsigned char fuses2=0b10001111; unsigned char fuses=0b10001111; //---- unsigned char xxx; xxx = eeprom_read_byte(FUSES_OFFSET); fuses2...
Dałem sobie spokój z CHATGPT i zmuszam moja mózgownice do wysiłku , czyli przypomnienia sobie co nieco z starych czasów. ARDUINO też leci w kulki, biblioteka LCD która wykorzystałeś w przykładzie "hello world"ma zamienione miejscami wiesze z pozycje kursora ......... co za logika !!!!!!!! najpierw WIERSZ a potem KURSOR !!!!. tak też napisałem kod więc...
Problemu szukaj w warunkach if. Zasilanie nie ma w tym przypadku znaczenia. Poza tym przed zapisem (eeprom_write_byte(&pamt1,++t1)) do zmiennej w pamięci EEPROM (pamt1) inkrementujesz wartość zmiennej t1 (++t1). Nie wiem, czy tego właśnie oczekujesz. Poza tym nie operujesz na pozostałych zmiennych zarówno w RAM (t2, t3, t4), jak i w EEPROM (pamt2...pamt4)......
To podpowiedz chociaż jak zmienić zapis const uint8_t payload PROGMEM = ...; aby dane zamieszczone we Flash można było odczytać jak z RAM, podobnie jak z EEPROM. Ponoć nowe AVR GCC ma nowe literały, które niezależnie od typu pamięci, gdzie składowane są dane, odczytuje je. W nowszych wersjach AVR GCC wprowadzono kilka ulepszeń ułatwiających pracę z...
Hmm, no napewno jest mniej kodu, ale czy prościej, zaraz się okaże :D. Pierwsze pytanie, w którym miejscu deklaruję pozycję zmiennych na wyświetlaczu?? bo niemogę tego rozgryźć. Tzn, myślę, że to będzie ten fragment For Index = 1 to 5 LCD(0 , Index) = Seq(index) ' LCD(x , y) lub inna procedura wyświetlania Next ale nie zabardzo...
Jedne spostrzeżenie to inne domyślne ustawienia kompilacji i większe zapotrzebowanie na pamięć programu w komplikacji debug. Tak, ale dla celu debug (możesz kompilować dla release, to bez znaczenia), też możesz ustawiać różne poziomy optymalizacji. Domyślnie jest -Og, ale możesz zmienić np. na -Os. Oczywiście może być potem kłopot, bo niektóre zmienne/linie...
Z drugiej strony nie wiem, czy zamiast rozdawać czwartoklasistom badziewiaste laptopy, takie Pi500 by nie miało więcej sensu Napewno miało by więcej sensu, czegoś innego niż x86, zapoznania z Linuxem. Wszyscy nie będą programistami, połowa dzieciaków przehandluje toto na allegro. A farbkek na plastykę, instrumentów w klasach brak, byle szafek na książki...
Nie rozumiem dlaczego zmienna $login zawsze będzie pusta? Przecież wybieram login z listy ... No i dlaczego nie definiuje tylko dwóch pierwszych zmiennych a resztę tak ? Jak ma wyglądać zapis tej zmiennej $login = mysql_real_escape_string(htmlspecialchar... Z użyciem isset ?? Bo nie ogarniam. Czyli muszę nadać nazwę imput'owi i przyporządkować...
Twierdzę, że opcja 2 byłaby bardziej elastyczna. Głównie dlatego, że w przypadku opcji 1 nie jestem pewien, jak zaimplementować „setChannel 15 ($minuta+45)%60” bez operatora modułu. W przypadku opcji 2 musiałbym po prostu przekonwertować czas na sekundy. Mam PR gotowy, aby przejść do opcji 2 w setChannel 10 $sunset+1800 addClockEvent $CH10 0xff 5 echo...
ad 1:Podaj F rezonatora np. 8mhz config timer1 = timer,prescale 256 'konfiguracja timera load timer1 , 31250 'załadowanie timera 1s on timer1 odliczanie 'określenie która procedura ma byc wykonana co 1s enable interrupts 'właczenie przerwań enable timer1 'właczenie timera1 dim twoja_zmienna as long ' twoja pętla do "jakis tam twój program" loop odliczanie:...
Zamykam temat. Sprawa okazała się dość trywialna. Przesyłałem łańcuch znaków co było błędem. Ramka składała się z 10 osobnych zmiennych USINT zapisywanych w kodzie HEX. Zatem krok 1 : zapis do tablicy 10 elementowej krok 2 : wyliczenie sumy kontrolnej i uzupełnienie tablicy krok 3 : kopiowanie tablicy do bufora z wykorzystaniem wskaźnika za pomocą polecenia...
Witam, Jeżeli masz panel HMI możesz odczytywać dane z PLC do HMI a następnie do bazy dnaych lub plików. Inna opacja to zastosowanie servera OPC plus zapis zmiennych do bazy lub pliku. Pozdrawiam,
Używam kości 512. Ogólnie jednorazowo zapisuję to co jest wyżej, czyli 8 bajtów. Jeśli chodzi o if'y to delaya dałem, żeby była przerwa pomiędzy zapisami (myślałem, że to rozwiąże problem niepoprawnego zapisu). Tak czy inaczej na końcu funkcji zapisu do EEPROM i tak jest delay 5ms. Zapomniałem wyżej wspomnieć, że problem ten pojawia się tylko jeśli...
Witam, mam drobny problem, którego nie rozumiem. Coś mi szwankuje podczas operacji na tablicach, ponieważ jak przerobiłem program na zwykłe zmienne to wszystko śmiga. Poniżej kod: uint16_t *Sekwencja[45]; ... *Sekwencja[1] = Data; if(Data==*Sekwencja[1]) ... Powyższe instrukcje to: deklaracja tablicy(statycznej) Sekwencja...
zapis zmiennych flash bascom zmiennych przekazywanie zmiennych
falownik silnika pralki electrolux 2n3055 komplementarny bosch rozbieralny
silnik odkurzacza części ue55tu8502 płyta główna
Jak ciężko powinien obracać się silnik inwerterowy po wyjęciu z pralki? Jak sprawdzić stan łożysk w silniku inwerterowym pralki?