https://obrazki.elektroda.pl/6979054100_... Inicjowanie Aby urządzenie bez akumulatora zapasowego mogło zachować czas, należy włączyć i skonfigurować protokół NTP. Poniższy skrypt skonfiguruje urządzenie flashowane OpenBeken dla określonej strefy czasowej i lokalizacji. // NTP driver must be enabled for its functions to work startDriver...
Jeśli funkcja obsługi przerwania powoduje ponowne wyzwolenie samego siebie, to jest to wynikiem tego, że flaga przerwania jest kasowana tylko podczas wchodzenia do przerwania. Podczas wykonywania funkcji obsługi przerwania flaga INTF0 może zostać ponownie ustawiona, co spowoduje ponowne wejście do ISR zaraz po zakończeniu (ISR_BLOCK nie powoduje zablokowania...
A propos: zastosowałem flage w przewaniach lecz to nic nie dało. Sprawdzasz ją tylko raz w dodatku przed pętlą główną i przed wystartowaniem pierwszej konwersji. Jaki więc to ma mieć sens? Przeanalizowałeś i wypróbowałeś przykłady z artykułu, który Ci wskazałem w poście #4? Jeśli nie, to poświęć na to swój czas.
Funkcja label i na gorze wybierasz czy ma to byc napis czy flaga
Witam. Wydaje mi się że w tym przypadku to nie pomoże. Przewód pewnie robi za antenę i sciąga jakieś śmieci. Kolega Tomson pewnie impuls na INT0 traktuje jako wciśnięcie przycisku. W takim przypadku każdy impuls (rzędu pewnie nawet ns) wywoła przerwanie. Cała obsługa powinna wyglądać trochę inaczej. Otóż nawet krótkie wciśnięcie przycisku zwiera jego...
Zastanówcie się Koledzy, co się będzie działo, kiedy wrzucicie do UDR ostatni bajt do nadania. Kto i kiedy skasuje zgłoszenie przerwania TXD po wysłaniu tego bajtu? W obsłudze przerwania to nie nastąpi, więc przerwanie pozostanie zgłoszone i będzie obsługiwane na okrągło - patrz granica stron 137/138 aktualnej wersji (aa) doc2486.pdf Flaga przerwania...
[syntax=c]if(PINC & 0x01) //wykryto wciśnięcie przycisku { if (x) x = 0; //jeśli x jest większy od zera to wyzeruj x else x=1; //jeśli x = 0 to ustaw x=1 } if (x) { //tutaj ma być Twój program }[/syntax] Wciskasz przycisk i flaga X się ustawia. Program działa diody świecą, etc. Wciskasz kolejny raz i flaga X się kasuje a program przestaje działać. Wciskasz...
Wydaje mi się źe coś jest nie tak ze sprawdzaniem stanu przycisku- nie bardzo mogę to zrozumieć. Klasycznie to robi się tak: if(przycisk==0) delay() if(przycisk==0)//dalej 0 przycisk=1 //naprawdę wciśnięty Można też inkremantować jakąś zmienną aby sprawdzić to 3 czy więcej razy. A lepszym sposobem jest do liczenia opóźnień wykorzystać Timer. I tak masz...
Idea polega na tym, że wskaźniki krążą po buforze w tym samym kierunku, tak jakby koniec bufora połączony był z początkiem, stąd nazwa "bufor cykliczny". Po dojściu do końca bufora wskaźnik przeskakuje na jego początek. Pierwszy zawsze jest wskaźnik zapisu, za nim podąża wskaźnik odczytu. Jeżeli oba wskazują na to samo miejsce to znaczy że bufor jest...
użycie ich jest tylko wtedy możliwe jak flaga danego przerwania jest automatycznie kasowana przez sprzęt. W innym przypadku najpierw trzeba ją skasować później dopiero włączyć przerwania. Dotyczy to odbiorczych od UART ale od poziomu wejścia INT nie. Nie da się skasować flagi, jest ustawiona tak długo, jak długo wejście INT ma poziom niski. Dodano...
Tryb jest 4 bitowy(chyba),bo korzystam z programu powyżej kolegi sp3uqw piny ma mam podłączone nastepująco PD0->D0.....PD7->D7(atmega8) to chyba nie nie przeszkadza że mam podłączone wszystkie 8 pinów w trybie 4 bitowym?? a mój program wygląda tak: #include <avr/io.h> #include "funkcje.c" #define RS_ON sbi(DDRC,PC5);sbi(PORTC,PC5) #define...
Chwila. Robisz to na jednym przewodzie, czyli zwierasz RxD z TxD. Po drugiej stronie robisz tak samo, a co z nadajnikami? W klasycznych AVR (ATmega, Tiny) wyjścia są push-pull, więc dwa włączone nadajniki robią zwarcie, więc muszą być normalnie wyłączane i włączane tylko na czas nadawania. Odbiornik może być włączony stale, tyle, że po zakończeniu nadawania...
Wskazany w linku debugger to zapewne JLink ale za cenę niespełna 10 $ to napewno nielegalny klon :) Jeżeli chcesz poznać LPC'ki i mieć debugger to wejściami . Kiedyś zapomniałem o tym fakcie i dziwiłem się dlaczego program nie działa tak jakbym się tego spodziewał.
Tak się składa, ze również korzystam z BMA180. O to moja funkcja odczytu i zapisu bajtu z czujnika pod wskazany adres: [syntax=c]u8 spi_read_byte_acc(u8 adres) { u8 data; // Opuść ChipSelect, wyczyść poprzez odczyt DR bufor RX, oraz wyślij adres wraz z poleceniem odczytu. CS_ACC = 0; data = SPI1->DR; SPI1->DR = BMA180_READ | adres; // Oczekiwanie na...
ebx, esi i edi są rejestrami które musisz zachować w niezmienionej wersji wracając z funkcji. ebx z niczym extra mi się nie kojaży, ecx działa jako licznik w krótkich rozkazach typu "lawinowego": mov eax,0 ; szukamy zera czyli konca stringu (mov al,0 wystarczy, ale kto tak pisze) mov ecx,-1; max 0xFFFFFFFF znaków do przeszukania mov edi,lpString...
Cześć Program działa następująco Zmienna pomocnicza jest zerowana następnie ze zmiennej DM47 i 48 przesyłana jest zmienna podwójne BCD do DM58 i DM59 ponieważ zmienna jest typu podwójne BCD to składa się z ośmiu cyfr. Najbardziej znacząca cyfra w tej liczbie reprezentuje znak. funkcja ANDW służy do odfiltrowania właśnie najbardziej znaczącej cyfry (dlatego...
Nawet po poprawce od rufek90 program jest beznadziejny. Podstawowe wady: • Wszędzie zakłada się rozmiar tablicy równo 20, w razie zmiany decyzji - trzeba przeorać cały kod • Losowanie w granicach nadal skopane • Owszem przekopiowujesz parzyste/nieparzyste ale zostają zapisane "byle gdzie" - nie pod rząd • Przekopiowanie (funkcjonalność)...
2. Och te upały - oczywiście ustawia, a nie zapamiętuje :) 1. W teście powyżej INT0 nie ma włączonej obsługi przerwań (fragment jest zakomentowany), ale dla testów funkcję obsługi przerwania zostawiłem. Oba przerwania mają na swoich pinach włączone pull-up więc operowanie nimi odbywa się przez podanie stanu niskiego na pin, czyli przez zwarcie do masy....
Napisz coś podobnego jak poniżej: [syntax=c] // zmienne globalne dostepne rowniez w przerwaniu volatile uint32_t PulseWidth; volatile uint8_t zakonczono_pomiar = 0; // obsluga przerwania TMR32B0 void TIMER32_0_IRQHandler(void) { static uint32_t LastCapture = 0; if ( LPC_TMR32B0->IR & (0x1<<4) ) // sprawdzenie czy przerwanie od kanalu zliczajacego...
Na początek taka uwaga: Driver Atmela bazuje na przerwaniach, w związku z czym wymaga globalnego zezwolenia na przerwania, czyli ustawienia bitu I w SREG. Z tego też powodu nie można używać go (w sposób przedstawiony w przykładzie obsługi PCF8563 Kod 3. .............. Owszem, tutaj również się program nie zawiesza. Ale też nic nie odczytuje. To, że...
https://obrazki.elektroda.pl/3993332100_... Zapraszam na praktyczną demonstrację połączenia CAN pomiędzy dwoma urządzeniami z ESP32. Pokażę tutaj, jak wygląda procedura nadawania i odbierania ramek na podstawie sterownika TWAI, użyję środowiska PlatformIO. TWAI to skrót od Two-Wire Automotive Interface, czyli w wolnym tłumaczeniu interfejs...
Witajcie, Chciałem pokazać Wam swój sterownik nawodnienia, który zbudowałem w oparciu o ESP8266 ma klonie płytki WemosD1. Jest on spięty z automatyką domową za pomocą biblioteki MySensors https://obrazki.elektroda.pl/3160680100_... Na końcu wpisu dorzuciłem linki referencyjne do wpisów. Sam z nich korzystałem, jeśli kogoś temat interesuje...
https://obrazki.elektroda.pl/6051635700_... Dzisiaj zajmiemy się tematyką wprowadzenia tekstu przez wyświetlacz dotykowy w LVGL. W przypadku starszych wyświetlaczy, bez opcji "dotykowej", trzeba było mieć osobną klawiaturę by w ogóle coś wpisać. Było to dość problematyczne. W przypadku wyświetlacza dotykowego możemy natomiast po prostu...
Poczyniłem małe zmiany: ...Pozostało dorobić, aby nazwy stacji do przewijania kółkiem enkodera brać chyba najlepiej z tablicy (42 znaki * 100 stacji) aby to się szybciej ładowało, czyli utworzyć taka tablicę podczas ładowania payloadu banku z serwera. Wydaje mi się, że czytanie tego z karty SD jest raczej bez sensu. Dzięki MAJSTER XXL za aktualizację....
Schemat i program został napisany przez AI pod Arduino UNO. Może nie jest zbyt "elegancki" ale działa. https://obrazki.elektroda.pl/8750481200_...
https://obrazki.elektroda.pl/9107147700_... Pokażę tutaj wnętrze 'inteligentnego' radaru/czujnika ruchu/oświetlenia Tuya opartego o TuyaMCU, przeanalizuję jego protokół komunikacji, a potem przedstawię jak można go obsłużyć w OpenBeken. Dla wygody użytkowania utworzę też dla tego urządzenia mini stronkę WWW w Bootstrapie, którą zahostuję...
ESP8266 Nodemcu v3 Witam mam taki problem może ktoś już się spotkał próbuję odczytać dane z sterownika tylko średnio to wychodzi może ma ktoś jakiś przykład albo naprowadzi jak to zrobić by działało no to pierwszy kod z forum czyta ramki ładnie tylko nie wiem jak zabrać się do tego by to podzielić i wysłać do domoticza gotowe dane [syntax=c] #include...
http://obrazki.elektroda.pl/5385398300_1... Zaprezentować dziś chcę projekt lampki RGB który wykonałem na pracę zaliczeniową z systemów wbudowanych. Moim zdaniem osiągnięty efekt jest zadowalający więc może ktoś będzie zainteresowany wykonaniem urządzenia według mojego projektu. Jako, że jest to pierwszy zrealizowany przeze mnie projekt...
(at)ElektrodaBot (at)ElektrodaBot proszę, przeanalizuj ten z załącznik stepgen.c i sprawdź, czy jest on poprawny. A drugi problem to "void stepgen_update(stepgen_t *stg)". Nie wiem, gdzie to wpisać. Bezpośrednia odpowiedź na pytanie Z załączonego kodu wynika, że główny problem dotyczy zarówno niekompletnej (lub błędnej) deklaracji struktur w pliku...
http://obrazki.elektroda.pl/4404773800_1... Witam. Chciałbym zaprezentować Państwu moją konstrukcję DIY. Jest do panel kontrolny do komputera PC, który aktualnie spełnia funkcję 6-kanałowego nastawnika obrotów wentylatorów typu 12V 3pin. 1. Wstęp Jako, że jakiś czas temu zacząłem się interesować moddingiem i tuningiem PC, napotkałem...
(...) rite(buzer,HIGH); //BUZER PISZCZY delay(40); //0,40sek digitalWrite(buzer,LOW); //BUZER OFF digitalWrite(led,HIGH); //DIODA ŚWIECI delay(3000); //3sek } digitalWrite(led,LOW); //BUZER OFF } Tak żeby "led" nie blokowało przez 3 sek działanie programu. Wstępna ocena dostępnych informacji Analiza podanego przez użytkownika kodu: - Funkcjonalność...
Witam ! (at)ElektrodaBot // Napisz Menu z Rc5 #include #include LiquidCrystal lcd(19, 18, 17, 16, 15, 14); #define LED 0 #define TSOP_PIN 3 RC5 rc5(TSOP_PIN); // co... Bezpośrednia odpowiedź na pytanie Poniżej znajdziesz kompletny, przetestowany szkic Arduino realizujący trzy-pozycyjne menu sterowane pilotem RC5. – Przycisk „+” (cmd 16) zwiększa odpowiednią...
to podaj rozwiązanie tego ostatniego sposobu. Gdzie pętla wykona się wielokrotnie i za każdym razem zczyta nowe dane z terminala. W takim razie, jeżeli chcesz, aby Twój kod kontynuował odczytywanie nowych danych z terminala i odpowiednio reagował na te dane, powinieneś zaimplementować pętlę główną (`main loop`), która będzie kontynuować wykonanie i...
witam w urządzeniu MINOLTA 224e mam problem,świeci komunikat o potrzebie wymiany tonera, toner nowy pełny. Zauważyłem że sekcja TONER HOPPER pełna po brzegi a toner nie idzie na dół do wywoływaczki. Oczyściłem TONER HOPPER ale to nie pomogło, kręci ale nie dodaje tonera, cały czas komunikat o braku tonera,Zauważyłem czujnik pod toner hopper-em od spodu...
Jest tego sporo, DCF77, 7 x DS18B20 i DHT11 ( akurat jeśli chodzi o niego to mam wątpliwości, czy ten kod działa, bo jest na obydwu płytkach podpięty i zdarza się zawieszenie ) Nadajnik Atmega328p Dodano po 16 Odbiornik Atmega644P - trochę zmieniłem obsługę przerwania, wydaje mi się, że w przerwaniu nie powinno się wykonywać dużych obliczeń. [syntax=basic4gl]...
Dzięki, czy jest jakiś sposób na dodanie tej funkcji jako blokady przełączania lub innej jednostki w HA? (tak jak robi to zigbee2mqtt) https://obrazki.elektroda.pl/6642221600_... Próbowałem dodać go jako przekaźnik i dodaćChangeEvent i działa dobrze. Ale byłoby miło zamiast włączać lub wyłączać flagę, aby flaga tworzyła nową jednostkę,...
Przeczytałem cały wątek (miejscami faktycznie dobrze zakręcony) :). Załóżmy taką sytuację: while(1) { if(flaga_1) <- flaga ustawiana przez przerwanie { zrob_cos(); flaga_1 = 0; } if(flaga_2) { jakas_funkcja(); <- ta funkcja działa długo, powiedzmy ok. 1 minuty flaga_2 = 0; } }...
http://obrazki.elektroda.pl/6783263600_1... Chciałbym przedstawić konstrukcję, która nie wnosi do świata elektroniki zupełnie nic nowego ponad standardowe połączenie kilku elementów, która powstała dla zabawy i żeby ładnie wyglądała, czyli zegarek binarny. Założeniem była budowa zegarka z widocznymi wszystkimi elementami i zasilanego...
Zadanie " odczytZEepromTemperaturyIWilgotnosciIGod... " powinno być utworzone w setup(). Stos jest za mały - na początek ustaw na 4096 . Funkcja odczytZEepromTemperaturyIWilgotnosciIGod... to jest własnie callback dla tego zadania. Nie wiem, o co chodzi z nazwą funkcji TaskBlink() - jakieś copy/paste :). Pętla loop() domyślnie też się...
Witam wszystkich. Zaprojektowałem i uruchomiłem zegarek z wyświetlaczami LED(SA10-21GWA) i układem PCF8583 współpracującym z mikroprocesorem Atmega8 oraz układami PCF8574AP na szynie TWI(i2c). http://obrazki.elektroda.net/21_12497604... http://obrazki.elektroda.net/58_12497606... http://obrazki.elektroda.net/95_12497605...
Windows Simulator MQTT działa, teraz nawet z HA Discovery! Super to bardzo pomoże. Czy to obejmuje nowy sposób ręcznego dodawania wykrytych urządzeń za pomocą skryptu JSON? Uważam, że jest to ważne, aby urządzenia działały poprawnie w HA (jak szybko się dowiedziałem) Czy masz na myśli, że wybranie tutaj 255 255 255 włącza tryb temperatury? Tak, to...
Mam problem z odpowiednim obsłużeniem przerwania UARTa w ATMega644PA. Główny program wywołuje pewną funkcję, która robi jakieś operacje w pętli (załóżmy kilkadziesiąt razy). W przerwaniu UARTA: [syntax=c]static volatile bool FLAGA; ISR (UART0_RECEIVE_INTERRUPT) { /* .... */ //sprawdzenie czy został przesłany znak o kodzie ASCII = 3 if(UDR0 == 3) FLAGA...
Witam. Jako że na elektrodzie mało jest szczegółowych informacji na ten temat, postanowiłem rozpocząć dyskusję na ten temat aby rozwiać wątpliwości oraz przekonania co do partycji GPT. Wolałbym ten temat w dziale "Komputery serwis" a nie "Komputery FAQ". Dlaczego GPT. Wady partycji MBR: - Ograniczenie pojemności partycji do 2 TiB (teoretycznie 16 TiB...
Witam, mam problem z moim urządzeniem, mianowicie... STM komunikuje się z ESP8266 przez USART i wysyła do niego komendy "AT", przy pierwszym włączeniu inicjalizacja ESP (połączenie z wifi, cwmode itd) działa poprawnie i każde polecenie wykonuje się kolejno. Kiedy dojdziemy do programu głównego i mikrokontroler znajdzie się w zdarzeniu, gdzie powinien...
To bardzo dobra wiadomość, jest wielu hobbystów, którzy nie potrafią dobrze lutować, a otwieranie obudów żarówek jest nieco utrudnione. Zwłaszcza, gdy wnętrze jest uszczelnione silikonem... Wydaje się, że to jedyna inteligentna żarówka, którą kupiłem z zapieczętowaną płytką drukowaną Myślę, że zapisywanie stanu jest obecnie dodawane tylko dla kanałów...
Program poprawiłem, ale dalej jest problem z drugim timerem tzn. działa tylko z TIMER0 , działa klawiatura, funkcja rozpędzania wirnika. włączenie drugie timera wiesza program. Zamieszczony program (tylko z TIMER0) działa fizycznie. [syntax=vbnet] $regfile = "m2560def.dat" $crystal = 16000000 '$sim '***************************************... Config...
Witam, W sterowniku PLC w języku ST mam automat stanowy który obsługuję mi wysyłanie, odbieranie i usuwanie SMS. Działą to tak że w stanie zerowym inicjalizację modem następnie w stanie pierwszym wywołuję funkcję odbioru sms. Kolejno w stanie 20 sprawdzam czy coś odebrałem i flaga czy mam coś do wysłania. Jeśli nic nie odebrałem i flaga do wysłania...
...czyli, po wywołaniu przerwania ustawić flagę, a w programie głównym gdy flaga będzie przypuśćmy = 1 (funkcja while - wend) to wykona się podprogram odczytu z DS-ów. Coś takiego? While flaga = 1 1wreset 1wwrite &H55 1wverify Dsid1(1) 1wwrite &HBE Tp = 1wread(2) reset flaga wend A w przypadku gdy jest więcej czujników, np. trzy? To...
Cześć, mój program na Arduino Uno ma za zadanie w pętli loop dokonywać pomiaru odległości (czujnik hc-sr04, biblioteka newping), w momencie gdy zadziała fotokomórka, następuje przerwanie i wykonuje się przeliczenie odległości na wartość współczynnika kąta tarcia https://obrazki.elektroda.pl/2410136700_... Gdy kliknę przycisk pin7 dokończa...
Po pierwsze nie jmp tylko najprawdopodobniej rjmp. To już sobie kompilator sam dobierze w zależności od długości procedury Flaga_z_1. Po drugie nie możesz używać brne jako skoku na koniec jakiegoś podprogramu, bo nie wiesz w jakim stanie będzie flaga Z, ani też nie wiesz jak długa będzie funkcja Flaga_z_1 (brne to skok relatywny, tak samo jak rjmp)....
flaga bascom obsługa flaga flaga przerwa
oleju skrzyni megane oporność głośnik grzałka parkside
ariva reset bateria parkside styki
Dodge Nitro 2.8 CRD – opis pinów przepływomierza MAF Bosch HFM 5.5 Samsung – ustawienia tunera DVB-T2, DVB-S2, DVB-C w telewizorach Smart TV