Złapałem ten tani dzwonek do drzwi Tuya z Ali Express, zastanawiając się, czy będzie on wyposażony w BK7252. https://obrazki.elektroda.pl/9324523600_... . I chociaż wiem, że OpenBeken nie obsługuje BK7252 ani nie ma sterownika / opakowania kamery, nadal będzie interesujące zobaczyć, co jest w środku, sprawdzić wyjście dziennika rozruchu...
Nie mam zbyt wiele do zgłoszenia, ale jest tak, że P21 musi być podciągnięty wysoko, aby dziennik debugowania mógł wyjść HLK-M50 dostarczony firmware, P21 wysoki, 921600 TX0/IO27 https://obrazki.elektroda.pl/5484529300_... Sflashowałem uarthut_V9_20231014_debugUart1.bin z ftp Hi-Flying HF-LPX30_Compile\tools na 18001000 https://obrazki.elektroda.pl/6317433400_...
Oto kolejna kamera BK7252U, ale tym razem jej bijącym sercem jest 48-pinowa BK7252UQN48. Na stronie https://obrazki.elektroda.pl/9729959900_... Moja podróż do tego urządzenia przebiega tą samą ścieżką, co w przypadku dwóch innych urządzeń BK7252U, więc pominę wafle i przejdę od razu do opublikowania kilku zdjęć, dzienników i kopii...
Szybko Ci poszło przeczytanie wszystkich artykułów na mikrokontrolery.blogspot. W każdym programie jakoś musisz obsługiwać upływ czasu, na pierwszej lekcji do zamigania led użyłeś delay, do paru innych prostych programów to też wystarczy, ale generalnie należy to robić na timerze. Jest to tak oczywiste, że w Arduino zrobili do tego gotowe funkcje, w...
Ta biblioteka nie używa sprzętowego PWM. Według opisu używa jednego 16Bit Timera na każde 12 serv. Tak wiec Timer 16Bit jest już zajęty, PWM sprżętowy tego timera również jest niedostępny, ale możesz sobie te serva podłączyć pod dowolne piny a do odmierzania czasu zamiast Delay musisz/możesz użyć innego Timera :D
Problemem jest to jakieś. Jesli timer ma np. okres 550us, a twoja pętla np. 551us to się robi problem - synchronizacja będzie się co raz bardziej rozjeżdżać, a kolejnej impulsy PWM będą co raz bardziej zniekształcone. Zamiast delay zrób tak jak pisałem - w funkcji obsługi przepełnienia timera uaktualniaj OCR. W dodatku musisz tak ustawić preskaler,...
IRQ tester https://obrazki.elektroda.pl/3243423400_... IRQ Tester to proste narzędzie, głównie do testowania czasu odpowiedzi na impulsy, lub czasów międzyzboczowych dostarczonego sygnału. Program został napsiany na ukontroler AVR Atmega168, a jego głównym zadaniem jest funkcja multiwibratora monostabilnego, którego działanie polega...
Akurat odmierzanie czasu na podstawie takiego delay opartego o timery jest całkiem precyzyjne. Z drugiej strony tak właśnie implementuje się delay na ARM, jako timer używa się SysTick. Z pewnością. Ale nie robi się tego w tak brutalny sposób, że angażujemy jeden timer do tylko jednego odliczania opóźnienia. Lepiej to zrobić w taki sposób: [syntax=c]void...
https://obrazki.elektroda.pl/3153730500_... Witajcie moi drodzy W tym temacie najpierw szczegółowo pokażę wnętrze drukarki HP Deskjet D1360 , a potem przedstawię jak można wykorzystać jej części z Arduino. Określę pinout enkodera ze środka, napiszę kod pozwalający określić pozycję karetki dzięki użyciu enkodera, oraz też oczywiście...
https://obrazki.elektroda.pl/8335986900_... Witajcie moi drodzy Przedstawię tutaj przykład użycia 32-bitowego mikrokontrolera PIC32MX250F128B w roli hosta USB obsługującego pendrive (zapisującego i odczytującego z niego dane). W temacie opiszę najpierw płytkę którą pod tego PICa zaprojektowałem, a potem przykładowe kody obsługi pendrive...
https://obrazki.elektroda.pl/2718988000_... Witajcie moi drodzy W tym temacie pokażę jak każdy początkujący może najprościej uruchomić w warunkach amatorskich mikrokontroler PIC32MX795F512H bez potrzeby trawienia/kupowania pod niego konkretnego PCB. Oprócz minimalnego niezbędnego układu pracy tego mikrokontrolera umieszczę tutaj kilka...
hmm może wkleje cały flik, a systick co ma z tym wspólnego i ma być w ogóle podzielony? przez 1? ------------edit A już chyba widze, po drodzę brakuje mi[syntax=c] LPC_SYSCON->SYSAHBCLKCTRL |= 1<<TIMER_SYSAHBCLKCTRL_BIT;[/synta... ------------edit2 Ok, lata :) teraz moja zwłoka wygląda jak poniżej, oczywiście trzeba jeszcze doszlifować bo funkcja...
Czołem! Chciałem napisać własną funkcję delay_ms w oparciu o timer procesora Atmega168. Namęczyłem się z tym strasznie, aż w koncu wziąłem gotowca - trochę przerobiłem - i dochodzę do takich wniosków, że Ten kod nie działa(nie wiem czemu) - próbuje w nim mrygać diodą przypięta do portu B za pomocą odczekiwania 10[jednostek czasu] poprzez wywołanie funkcji...
Witam Zawsze można dać Arduino Nano które jest dużo tańsze od UNO oraz mniejsze a w zasadzie wielkiej różnicy między nimi nie ma, ostatnio zakupiłem kilka sztuk cena za 1szt niecałe 7zł z wysyłką... (oczywiście paczka z Aliex....) Rozwiązanie z Arduino (jak i innymi uC) ma taką zaletę że można to rozbudować o dodatkowe "bajery" np: pomiar temperatury...
Wiem że zaraz mi się oberwie od innych ale na szybko to pokombinuj z wartością OCR0 - zwiększ ją np do 150 , po drugie możesz przełączyć na inny preskaler mniejszy niż 256. Lecz nie spodziewał bym się wielkiego efektu. Aby otrzymać pożądany efekt musisz zmienić plik ds18b20.c i zamiast wyłączać i włączać przerwania w funkcji temperatura musisz je włączać...
https://obrazki.elektroda.pl/9840486500_... Witam, długo się zbierałem ale myślę że projekt jest już na tyle dobrze działający by zaprezentować go tutaj. Co jest projektem ? Sterowanie dowolnym urządzeniem posiadającym odbiornik IRDa (innymi słowy, sterowany Irdą :) ) poprzez nasz telefon komórkowy. Po co ? Mam w domu sporą liczbę...
https://obrazki.elektroda.pl/6483751800_... Witam, PROJEKT ostatecznie ukończony :D wersja ostateczna programów dla płytek MASTER Arduino Mega2560 i SLAVE ESP8266-12E Testowałem urządzenie przez kilka dni, w międzyczasie dokonałem kilku przeróbek, jak w kodzie tak i w połączeniach PIN itp. Usunięte zostały wykryte błędy, najważniejsze to...
http://www.tutorialspoint.com/java/util/... Jeźeli dalej bedziesz miał problem to podaj kod ktory stworzyłeś.
Hm, wydaje mi się, że całe rozwiązanie opisałeś w treści zadania. Stwórz sobie zmienną typu int i zliczaj wyłączenia pompy na zbocze opadajace. I1 (N) -> ADD 1 do licznika Kiedy licznik =20 wrzucasz np off delay timer na 5 sekund (do wystawienia elektrozaworu) i w tym samym networku resetujesz licznik (Move 0) W załączniku wrzucilem drabinkę zrobioną...
Czyli sam nie zrobiłeś nic w sprawie tego Timera? No nic. Tutaj masz przykład od samego TI: [syntax=c] //Gdzies w mainie: TBCCTL0 = CCIE; // TBCCR0 interrupt enabled __enable_interrupt(); ... ... delay(7500); //≈ 5 sekund ... ... //Koniec maina /***************************************... * BEGHDR * Function:...
Witam, bardzo proszę o pomoc. Zrobiłem układ na Atmega32 z podłączonymi diodami do całego PortuA, oraz do PortuB Pin2 (PB2) dekoder podczerwieni TSOP31236 (testowałem też na TSOP31238). Wykorzystać chciałem bibliotekę IRMP https://obrazki.elektroda.pl/6945425800_... a w załączniku spakowany cały projekt z plikami biblioteki irmp.
Delay zatrzymuje działanie pętli głównej Arduino więc nic sobie w tym czasie nie wyświetlisz. Tzn. jest to wyjaśnienie na poziomie pytania, bo oczywiście można użyć przerwań. Możesz sobie ustawić jakiś timer i w sprzętowym przerwaniu wysyłać coś na ekran co 1ms. Nie wiem jaki wyświetlacz masz na myśli, ale to zwykle trwa długo w Arduino, czasami odświeżenie...
Stos dla przerwań ustawiłeś? 4\/3!!
Obsługuje, bo ma pamięć na 80 znaków. Taki wyświetlacz jest widziany jako 2 x 40, zwykle 3. linia jest kontynuacją pierwszej. Dzięki za odpowiedź. Póki co i tak przełączyłem się na LCD WINSTARa 2x16. Jeśli góra gaśnie, to znaczy, że wyświetlacz zainicjował się poprawnie na 2 wiersze - sukces. Jest dobrze ;). ...ale jak się dobrze przyjrzeć - widać...
Na oscylogramie widać podstawę czasu przypadającą na działkę więc wrzuciłem aby ktoś porównał to z tym jak ma być, więc dlaczego twierdzisz że nie jesteś w stanie odczytać zależności czasowych? Co mi da wrzucenie przez kogoś swojego oscylogramu z działającej komunikacji? Ano to że wówczas dokonam właśnie porównania z timingami które ja mam u siebie...
I co to zmienia? Zamiast pętlić się w delay, pętlisz się w while czekając na flagę. Dokładnie to samo, a nawet delay lepszy bo prostszy. Z timerem potencjalny zysk jest taki, że w międzyczasie można w tą pętlę włożyć jakieś użyteczne instrukcje wykonujące fragment programu - zaleta teoretyczna, bo w praktyce prowadzi do supernieczytelnego i awaryjnego...
mam już wizję całego programu, pojawił się niespodziewany problem którego od kilku godzin nie mogę przeskoczyć... otóż wg wyliczeń wyszło mi, ze aby w PWMie uzyskać 36kHz to należy dołączyc zewnętrzny kwarc o czestotliwości 9,216MHz (preskaler=1). W związku z kwarcem zmieniłem procka na ATtiny 2313, kwarc podpiąłem pod XTAL1 i XTAL2 i do masy przez...
. Fajnie gdyby dioda zamiast gaśnięcia przy wykonywaniu operacji migała wolniej zamiast gasnąć. Nie chcę wykorzystywać jej do zaawansowanych operacji, tylko do tej jednej, ale jeśli to w czymś przeszkadza, to zrezygnuję z tego. Popatrz na to bardziej realnie:Aby migac diodą, coś musi to robic w sposób raczej dedykowany. Może to byc processor, lub jak...
Już wszystko jasne - jedyne pytanie zadaję na końcu. Przygodę z PWM zaczynam od sterowania jasnością diody. Atmega8 + diody + rezystorki 330Ω Ćwiczenie polega na cyklicznym rozjaśnianiu i ściemnianiu diody 3 diody podłączone do PB1, PB2, PB3 w założeniu tylko PB1 (OC1A) powinna świecić zgodnie z PWM. Ustawiłem tryb Fast PWM 8bit Kod: #include...
Witam po małej przerwie. Mam znów kilka pytań, ale proszę o wyrozumiałość, bo naprawdę dopiero zaczynam z u-kontrolerami. A więc tak, zrobiłem jak radziliście, niestety nie potrafie jeszcze pojąć w pełni timerów, chodź umiem już je ustawiać aby odliczały jakiś tam ''kwant'' czasu. Przeglądam forum i widzę tutaj jeszcze dziwniejsze dla mnie rzeczy, mianowicie...
Napisałem coś takiego (kod poniżej) i prawie działa. Problem był w deklaracji: volatile int LICZNIK (miałem double zamiast int i nie chciało działać). Jak przepisać cały licznik do zmiennej (jaką zmienną zadeklarować)? #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> //Definicje i markodeklaracje //Definicje do...
Aby wejść do drugiego warunku i musi przyjąć wartość co najmniej 256, co jest nie możliwe, bo przy i == 255 program nie wejdzie do pierwszego warunku w którym jest inkrementacja. W drugim warunku z kolei nie osiągnie wartości potrzebnej do wyzerowania i. Czemu nie nie zastosujesz if()...else? Faktycznie, niedopatrzenie. Poprawiłem błędy ale i tak działa...
Już coś zaczyna działać, ale nie do końca tak jak być powinno (krzaki na ekranie zamiast "hello world", zdjęcie poniżej) .. http://obrazki.elektroda.pl/5185694100_1... Wyświetlacz podłączony tak samo jak Link Oczywicie użyłem PIC16F1459 zamiast PIC16F877A, komunikację ustawiłem po całym porcie C tego mikrokontrolera: http://obrazki.elektroda.pl/6525109900_1...
1. Czy wiesz, że Twój programowy timer liczy do 2001? 2. timerFlag źle zadeklarowane. Powinno być static volatile _Bool. Reszta zmiennych też dość radosna. 3. Kod, który wkleiłeś nie zawiera niczego, co odnosiłoby się do inicjowania portów dla wyświetlacza ani samego wyświetlacza, a problem masz podobno z wyświetlaczem, a nie z diodami LED. Mogą to...
Witam, cel pozostał ten sam, lecz zmienił się kod, tym razem bez Lcd, więc jako zadanie dostałem opisanie krok po kroku otrzymanego kodu oraz przeniesienie kodu z języka Bascom na kod Asemblera i C. Jako, że programowanie nie jest moją mocną stroną, prosiłbym o pomoc (rady, sugestie najlepiej w sposób tzw. łopatologiczny jak można osiągnąć postawiony...
Z tym kondensatorkiem, to wiem, masz rację. Obawiam się, że będę miał małe problemy. Zrobić klawiaturkę w przerwaniu, to nie jest problem. według pierwszego, czy też drugiego schematu. Gorzej jednak będzie z tym "dłuższym trzymaniem". Wpadł mi do głowy jeszcze inny pomysł, zamiast "długie trzymanie" naciśnięcie dwóch klawiszy równocześnie. To też jest...
Mam dwa foldery, każdy od innej wersji avr i w każdym jest inny interrupt.h. Da się jakoś sprawdzić, który avr używa podczas kompilacji? /* Copyright (c) 2002, Marek Michalkiewicz All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:...
Witam, od kilku dni "męczę" się w dosłownym tego słowa znaczeniu z implementacją KEELOQ'a w swoim urządzeniu. Pomęczył bym się jeszcze kilka dni ale gonią mnie terminy i dlatego chciałbym poprosić o pomoc bardziej doświadczonych kolegów. Buduję układ z sercem Atmela gdyż z tymi procesorami miałem do tej pory najwięcej do czynienia. Niestety nie mam...
OpenOCD zaktualizowanie tak jak kompilator wcześniej. Przerabiam przykład od początku teraz na bazie tego o którym mówiłeś LPC Będe wklejał tutaj co dokładnie przerabiam. Jeśli coś robię źle to mam nadzieje że mnie poprawicie. Jeśli dobrze to mam nadzieje że komuś się przyda. 1.Import projektu lpc1114_blink_led i rename na stm32f0_blink_led 2. Zmiany...
Spróbuj tak... Styk NO (ten którym chcesz wyzwalać) dalej w szeregu timer z delay'em ustawionym na 5s i za tym znów styk NO którym chcesz to wyzwalać. Powinno to działać tak, że po wciścięciu przycisku zaczyna się odliczanie i po 5 s timer wystawi 1 na wyjściu, ale nie uruchomi ona cewki, jeśli w tym czasie przycisk nadal nie jest wciśnięty.
Zamiast screen'ów daje raport z cpu-z. [syntax=text] CPU-Z Binaries CPU-Z version 1.63.0 Processors Number of processors 1 Number of threads 2 APICs Processor 0 -- Core 0 -- Thread 0 0 -- Core 1 -- Thread 0 1 Timers ACPI timer 3.580 MHz Perf timer 3.312 MHz Sys timer 1.000 KHz Processors Information Processor 1 ID = 0 Number of cores 2 (max 2) Number...
Nie każę stosować timera. Tylko takie użycie delay powoduje dość sporą jego niedokładność. Jeżeli mamy stałe skoki czasu to można to zrobić tak: [syntax=c]uint8_t delayTimeInSeconds; void delay() { int i; for (i = 0; i < delayTimeInSeconds; i++) { delay(1000); } }[/syntax] I obsługę przerwania/przycisku zrealizować tak: [syntax=c]#define MAX_DELAY_TIME_IN_SECONDS...
W dobrze napisanym kodzie delay nie jest potrzebny. OW robi się na przerwaniach - UART albo timer.
https://obrazki.elektroda.pl/5009750700_... Witajcie moi drodzy Oto druga część mojego praktycznego tutoriala dla ośmiobitowego mikrokontrolera PIC18F2550 od Microchipa i programatora SDCC . W tym temacie omówię podstawowe operacje cyfrowego IO na prostych przykładach. Spis części (osobnych tematów) tutoriala Tutorial podzielony jest...
Zmienną używaną w przerwaniu deklaruje się jako volatile (wykluczona z optymalizacji), inaczej będzie cyrk... volatile unsigned char licznik Ładniej by to wyglądało scalone... tzn... void czekaj(void) { licznik = 30; TCCR0 = 0x05; do{}while(licznik); } ISR(TIMER0_OVF_VECT) { licznik--; TCCR0 = 0; //wypadałoby...
F 08 - poszukaj bo dużo tego. Prawdopodobnie grzałka.
asm na pewno jest taki sam (szczegolnie ten ktorego uzywalem, bo to same podstawy), gorzej z timerami na ktorych opieraja sie dluzsze opoznienia (od ms w gore). nigdy nie zajmowalem sie dspic30, wiec... nie wiem jak to tam jest z tymi timerami. najwyzej dostosujesz sobie <: __________________________ modul sklada sie standardowo z pliku c i h. ponizej...
Nie używaj delay() tylko timera lub funkcji millis(): https://www.arduino.cc/en/Reference/Mill...
Bez timerów to bardzo trudne zadanie, instrukcje opóźniające _delay są dosyć niedokładne,.
Witam, myślę że można zrobić to dużo łatwiej. Potrzebny Ci będzie jeden pin z przerwaniem (może być puste) i pomysł na opóźnione przejście w tryb uśpienia.[syntax=c]void sleep_button(int is_pressed) { enum sbstate {SBSTATE_IDLE, SBSTATE_SLEEP, SBSTATE_WAKEUP}; static enum sbstate state = SBSTATE_IDLE; static unsigned int tp; switch (state) { case SBSTATE_IDLE:...
delay timer timer delay stm32 timer delay
sprawdzanie wirnika wiertarki gigabyte motherboard nvidia złodziej prądu kontrola
amplituner onkyo nrf52 problemy
Magnetofon kasetowy – jak uruchomić PLAY przy otwartej klapce, blokady door switch, auto-stop Licznik modulo 11 wstecz na przerzutnikach D