Czy takie rozwiązanie będzie działać? czy można to zrealizować w lepszy sposób?? Będzie dobre, wiele rzeczy się tak robi, żeby uniknąć działania na float'ach. [syntax=c] while ( !(UCSRA & (1<<RXC)) ); [/syntax] Co to robi w przerwaniu? Przecież jak Ci się już wywołało przerwanie to nic nie trzeba sprawdzać. Co robi ta linijka? [syntax=c]...
https://obrazki.elektroda.pl/5461019800_... Opiszę tutaj proces implementacji wysyłania sygnału IR w oparciu o PWM i timer. Wysłany tak z mikrokontrolera sygnał będzie w stanie kontrolować klimatyzację. Dodatkowo użyty format sygnału będzie zgodny z tym co przechwytuje Flipper Zero, co pozwoli na wykorzystanie przechwyconych w ten...
Dziękuję wszystkim za poświęcony czas i uwagę.Proszę o jeszcze :) - dlaczego akurat Moving Average Filter? Jako analogowy, tutaj można dać prosty całkujący. Takie mam wytyczne, to pewien test. - w domenie cyfrowej jak najbardziej, ale to wymaga nieco od procesora i tu masz pierwsze kryterium wyboru mikrokontrolera: -- próbkowanie na tyle szybkie, aby...
Jeszcze raz wytłumaczę - Twój sposób jest najgorszym możliwym sposobem projektowania urządzenia. Zamiast zliczać błędy i interpolować pomiary należy: dondu napisał: ... upewniać się, że próbka została odebrana przez aplikację, a jeśli nie to ponawiać jej wysyłanie do skutku. To tylko kwestia opracowania własnego protokołu, który zapewni że wszystkie...
wiem, że mój program do odbioru nie ma zabezpieczenia przed nadpisaniem bufora, ponieważ akurat w tym własnie przypadku zależało mi bardziej na tym aby bufor był kołowy. gdybym zabezpieczał przed taka możliwością kod wyglądałby inaczej: if overflow_485=1 then goto exit_485 if Rx_count>33 then set overflow_485 . . . a procedurkę napisałem, ponieważ...
Jak już ćwiczysz to zrób sobie bufor kołowy. Wtedy w przerwaniu tylko odebrną daną dodajesz do bufora, a w pętli wysyłasz. Aby zrobić to bardziej interesującym zrób sobie też taki bufor na wysyłce i wszystko rób na przerwanach wogóle bez pętli głownej (albo w postaci while(1);). Zrób też w ramach ćwiczeń aby korzystać tylko z jednego bufora do echa,...
nie rzutuje nic na floata. Wczytuje od razu z bufora do i2sa w przerwaniu od i2sa. Zaczynam od 45 bajtu. Słychać tylko szum. Może problem jest z czytaniem wartości z karty w przerwaniu? Może czytanie kolejnej wartości z karty trwa za długo? Mam bufor kołowy 512 i gdy dojdę do jego końca to odczytuje kolejne 512 bajtów pliku wave i wysyłam dalej od początku...
Nie rozumiem również linijki w usart_getc: UART0_RxTail = (UART0_RxTail + 1) & UART0_RX_BUF_MASK; Po co ta maska? Zajrzyj do przykładów z dokumentu o którym wspomniałem, tam jest opisany przyklad takiej funkcji getc z prawidłowo użytymi indeksami. Wyjaśnię za autora. Masz tablicę 2*N elementową, maska (N jedynek) w tym przypadku ogranicza zasięg i...
Problemem dla mnie w moim projekcie jest to, że ramki które składam i wysyłam mają klika długości (12B, 20B,48B i 248B). W związku z tym może lepszym rozwiązaniem będą osobne bufory statyczne dla każdego typu ramki np. bufor kołowy z tablicami dwuwymiarowymi?
Witam serdecznie. Niedawno postanowiłem przesiąść się z Bascoma na C. Postanowiłem napisać bufor kołowy do wysyłania znaków przez USART. Znaki niby się drukują, ale, jeśli rozmiar bufora jest ustawiony na 2 bajty to po drugim znaku dostaje "śmieci", jeśli na 3 bajty, to po trzecim, itd. main.c http://obrazki.elektroda.pl/2199292400_1...
Jeśli chodzi o to volatile, to jego działanie być może np. tak, że w kompilator umieścił zmieną wskaźnik w rejestrze i tam ją trzymał. Wywołanie delay (to chyba jest makro rozwijane w odpowiednie pętle) spowodowało, że rejestr był potrzebny i musiał zostać zapisany do pamięci. A jeśli chodzi o te ostatnie problemy to zwykle wysyłanie RS ma własny bufor...
No fakt, to jest BASCOM 8051 a nie AVR. :oops: Ale idea jest taka sama. Trzeba zrobić sobie bufor w pamięci (np. tablica bajtów - Array) i dwa wskażniczki: Zapis, Odczyt; które będa sobie biegać w kółko po tablicy - tworząc tym samym bufor kołowy (http://en.wikipedia.org/wiki/Circular_b... Zapis będzie wskazywał element, który aktualnie można zapisać....
Tomqu z podanych przeze mnie linków ściągnij przykład 04 i podmień w nim main.c na: [syntax=c]#include"main.h" //**************************************... #define BUF_SIZE 8 // definiujemy bufor o rozmiarze 8 bajtów (musi byc potega dwójki dla tego sposobu!!!) // definiujemy maskę dla naszego bufora #define BUF_MASK...
Nie rozumiem? W statusie transmisji nie masz żadnego ID, który mówiłby o tym do której transmisji jest ten status. Jak chcesz rozróżniać ID statusu? Zresztą funkcja wysyłająca będzie miała dostęp do indeksu aktualnie wysyłanej wiadomości i będzie ją ponawiała, aż wyczerpie liczbę prób po czym ustawi odpowiednie flagi dla main, usunie bieżącą wiadomość...
https://obrazki.elektroda.pl/5371288300_... Witajcie moi drodzy. Przedstawię tutaj teorię i praktykę implementacji wsparcia protokołu TuyaMCU. TuyaMCU to protokół oparty o UART, służący do komunikacji modułu WiFi z głównym mikrokontrolerem urządzenia Tuya. Protokół ten wykorzystywany jest w wielu produktach IoT, m. in. w ściemniaczach,...
Dzień dobry wszystkim znawcom przetwarzania dźwięku. Robie projekt z "modyfikacji parametrów dźwięku",(właściwie chodzi o głos) do pracy magisterskiej, No i oczywiście 100 rzeczy nie wiem, będę bardzo wdzieczny za wasza pomoc na tym forum. Projekt jest realizowany na EZ-kicie ADSP-2181, 16-bitowy procesor Analog Davices, taktowany 33Mhz. Na to chodzić...
Witam, Mam system modułów ZigBee, gdzie występuje jeden Master i wiele układów Slave. Master obsługiwany jest przez procek ATmega dzięki interfejsowi TWI (I2C). Układy Slave mogę wysyłać dane w dowolnej chwili do Mastera a ten informacje przesyła do mikrokontrolera-hosta, który albo aktualizuje sobie stan znanych mu układów Slave, albo pozwala użytkownikowi...
ok. jak tylko będę w pracy wkleję kod. teraz tylko napisze, iż mam bufor kołowy, wykrywam w moim przypadku znak 155 (przyzwyczajenia z transmisji w Atari 800) jak sie pojawi sprawdzam 3 bajty adresu i jeżeli jest ok ustawiam flagę i wskaźnik na początek bufora. procedura nie jest odporna na nadpisanie bufora!!! lecz u mnie sie to nie może zdarzyć. oto...
Trzeba było wziąć wyświetlacz 8-bit, AVR z 8 czy 16kB RAM albo lepiej ze sterownikiem FT8xx. Chyba każdy kontroler umożliwia przejście na tryb 8-bitowego koloru. Więc nie ma tu problemu. FT8xx pewnie byłby dobrym pomysłem, ale i na tym co autor ma da się zrobić płynnie animowany wykres, tyle, że nie da się tego zrobić bez znajomości C++ i jakiś głębszych...
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_...
Przejrzałem kod https://www.elektroda.pl/rtvforum/viewto... nie potrafię zgadnąć dlaczego układ czasami wybiera cyfry "sam", gdyby podejrzeć co dzieje się na konsoli szeregowej, może znalazłaby się jakaś podpowiedź. Co do bufora, jest to bufor kołowy, także wysyła to co do niego wpadło aż skończą się dane. Spróbujmy coś wyciągnąć...
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)...
(at)Dariusz Goliński zauważ proszę, że podany przykład (do którego chętnie zobaczę link) "ukrzyżowania za źle dobrany rezystor" jest efektem wypowiedzi pojedynczej osoby w jakimś temacie i trudno mówić o "schodzeniu na psy" portalu z tak błahego powodu. Każdy ma prawo do swojego zdania i inni mogą się z nim nie zgadzać tak jak ja nie zgadzam się z...
Ok. Zauważ, że kod odpowiedzialny za wysyłanie tego komunikatu (" Brak DS ") znajduje się przed pętlą główną w funkcji main. Czyli ten kod nie powinien się wykonać więcej niż jeden raz w trakcie działania programu. U Ciebie tak nie jest. Procesor cyklicznie wykonuje kod z początku funkcji main, stąd wniosek -> procesor się resetuje. To opóźnienie (około...
Brawo, punkt za bycie wróżką. Nie wiemy jak Autor ma zrealizowany program, w pewnych sytuacjach takie podejście uniemożliwi wysłanie czegokolwiek (jeśli np. Autor ma zrobione wysyłanie porządnie na buforze kołowym i przerwaniach od modułu UART). Poczekajmy może (i tu prośba do Autora) na udostępnienie jakiegoś kodu i podanie szczegółów.
Witam Mam działający program, który za pomocą USART-a i bufora kołowego wysyła na terminal jakiś komunikat (tutaj Hello! ). Program ten prawidłowo działa na STM32F103, po przerobieniu na STM32F072 nic nie zostaje wyświetlane w terminalu. Kod programu na F103: [syntax=c]#include "stm32f10x_usart.h" #include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h" #include...
https://obrazki.elektroda.pl/3803750000_... Witajcie moi drodzy Przedstawię tutaj mój sieciowy sterownik przekaźników kompatybilny z Home Assistant poprzez Tasmota HTTP. Sterownik oparty jest o PIC18F67J60 i dodatkowo oferuje m. in. odczyt temperatury, budzik, przyciski, niezależny panel WWW oraz szerokie możliwości konfiguracji. Wstęp...
Witam, próbuję uruchomić Watchdag'a jak w temacie i mam problem reset wykonuje się pięknie a i program "wchodzi" w wektor ISR(WDT_vect), tylko, że 30 razy .... zapewne robię kardynalny błąd, z nieznajomości dogłębnej tematu poniżej kody main https://obrazki.elektroda.pl/6340020400_... może ktoś wspomoże wskazaniem błędu pozdrawiam Dodano...
Jak masz wszystko w tabelki to wystarczy tyle metod ile używasz rodzajów kontrolek (o ile się dołoży jeszcze jeden parametr do metody oraz jeszcze jedno pole do tabelki). Dowolna rozbudowa i/lub zmiana w projekcie jest wtedy łatwa w implementacji. To samo moge powiedziec o moim kodze. Deklarujesz tablice jak const i w raze czego dopisujesz literke....
Witam serdecznie. Od pewnego czasu walczę z kartą SD (16MB Panasonic). Karta inicjalizuje się poprawnie, a przynajmniej tak mi się wydaje, ponieważ po wysłaniu CMD0 przychodzi odpowiedź R1=0x01, następnie po wysłaniu CMD1 otrzymuję 0x00. Wysyłanie innych komend również daje prawidłową odpowiedź R1. Problem polega na tym, że po otrzymaniu R1 dla komend...
bufor kołowy usart bufor kołowy bufor kołowy stm32
kondensator przechowywać ekran monitor różowy płyty ceramicznej siemens
samsung np550p5c schemat odkurzacza
Ustawienia anteny satelitarnej Astra 19.2°E w Hartenholm Bezpiecznik termiczny w myjce ciśnieniowej Kärcher K2