Najprościej wysłać na końcu ramki kod oznaczający "koniec nadawania". Ale też naj zawodniej - musisz dbać by w środku ramki danych przypadkiem nie pojawiła się taka sama sekwencja. Wzorując się na modbusie i podobnych proponuję tak zmontować ramkę by w jednym z pierwszych bajtów była zapisana długość ramki lub długość pola danych jeśli jest zmienna...
Po wybraniu pliku do odtwarzania (realizuje to poniższy fragment kodu umieszczony w głównej pętli programu w pliku main.c): if ((! (AT91F_PIO_GetInput(AT91C_BASE_P... & SW2)) & (~ play_key_pressed)) //gdy dopiero teraz naciśnięty przycisk SW2 - Play (czyli jeszcze w tym miejscu play_key_pressed ==...
Możesz rozwinąć skrót Uk ? ;) uk = µk = mikrokontroler (PL) uc = µc = microcontroller (EN) Dodano po 19 Czy mówisz, żebym sobie dał spokój z jakimkolwiek "hardware'wym STOPEM" Myślałem o takim rozwiązaniu jak mówisz ale strasznie dużo roboty z pisaniem warunków, budowaniem tablic i instrukcji case/if'ów i itp.. Myślałem, że da się to trochę...
Marekos - Chyba nieuważnie Przeczytałeś dyskusję, chodziło mi o to, że nie widzę sensu dla ograniczania rozległości magistrali tylko po to żeby uzyskać 2,5 Mb/s, że nie ma to sensu właśnie z uwagi na przeznaczenie i założenia tego systemu. A tak BTW. odnośnie jeszcze mojej odpowiedzi dla Nagitatora, to powinienem jeszcze skomentować tę linijkę: "Dlatego...
Witam, Właśnie sprawdziłem jakie dokładnie znaki są przesyłane przez Rs232 i oto co zobaczyłem: <STX> 525.555<CR><LF> [len=14] <STX> 525.555<CR><LF> [len=14] <STX> 525.555<CR><LF> [len=14] <STX> 525.555<CR><LF> [len=14] <STX> 525.555<CR><LF> [len=14] Jak widać...
Po przejżeniu i przeczytaniu części dokumentacji vorbisa, troche się przestraszyłem. Mi samemu nie uda się zrobić dekodera na uC, za mało rozumiem te ich wszystkie pomysły z pdfa, chociaż jest tam napisane że dekompresja jest prostsza od mp3, ale potrzebuje więcej `working memory`. A może by tak stworzyc własny codec audio, specjalnie dla uC, aby każdy...
Bytematch nie używa żadnego specjalnego przerwania że boisz się iż ci ich zabraknie ;) .... jakby było takie uzyte to zostałbyś poinformowany o tym w Helpie. Za to przykład, który wyczytałeś z forów internetowych rzeczywiście mógłby działać kiepsko i doszedłbyś szybko do wniosku, że coś do kitu działa ten mechanizm. Zawartość tej procedury powinna być...
Kolega adamusx wypisuje jakieś herezje... Po pierwsze deklaracja zmiennej w obsłudze przerwania... Druga sprawa, Bufor jest deklarowany jako zmienna unsigned char po czym przemienia się w tablicę... No chyba, że Bufor i Bufor to nie to samo... ;) W takim razie powinny mieć inne nazwy albo przynajmniej Bufor i bufor... to wystarczy... Proponowana metoda...
To co Ci napisałem wykorzystuje mniej więcej do odbierania danych z surowego GPSa smd, podłączonego do konwertera RS232->USB. No i wiadomo, dostaję ramki danych i je muszę rozłożyć itd. jeśli masz te 53 zapisane i musisz wysłać oddzielnie to również można zastosować Substring, tylko że najpierw to musi być jako zmienna string np. string sekundy = "53";...
Dziękuję uprzejmie za zainteresowanie i sugestie. :-D O RS485 mogę napisać tyle, że działa poprawnie. Bez oporników (terminatorów - linia wymaga dwóch!) rzeczywiście był niezły śmietnik (kiedyś oglądałem pod oscyloskopem). Dałem trochę większe (220 omów) niż przewiduje standard, gdyż transceiver RS232/RS485 wymagał takich (w specyfikacji - nie chciałem...
http://obrazki.elektroda.pl/5849326500_1... Opisany projekt jest raczej eksperymentem, mającym na celu sprawdzenie sposobu odbioru wzorca czasu WWVB i jego wykorzystania. Część sprzętowa: http://obrazki.elektroda.pl/3285928900_1... http://obrazki.elektroda.pl/4378658900_1... Schemat urządzenia jest bardzo...
Sporo tego ( obsługa SD, PCF8563 + menu do ustawiania daty, obsługa PCF8574 w przerwaniu INT1 )- ale nie ma problemu - zmieniła się tylko zawartość podprogramu Pomiar była taka, jak w pierwszym poście oraz wyłączyłem w wyświetlanie na LCD tych wartości wskazań z DS18B20, oczywiście dostosowałem pozycje wyświetlania do LCD 4*20 - załączniku spakowany...
To ciekawy temat i w zależności od tego jak bardzo będziesz chciał system rozbudować można brać pod uwagę. -wykrywanie zajętości kanału przez dane (odrzucanie zakłóceń). -ramkowanie danych -określenie maksymalnego czasu nadawania -adresy urządzeń -zapamiętywanie adresów dostępnych w otoczeniu -rozgłaszanie swojego adresu -stała/zmienna/maksymalna długość...
Pomyśl..Cztery znaki chcesz upchać w trzyznakowym stringu.. Nie wiesz jak to działa. Kiedy deklarujesz String * 10 rezerwujesz 11 bajtów bo każdy string ma znak swojego końca. Nie musisz wykorzystać wszystkich bajtów. String może być krótszy i zaraz po znakach postawiony będzie znak końca..ale zarezerwowałeś 11 bajtów i tam program nigdy nic nie będzie...
Temperaturę odczytaną z ds'a formatuję i wrzucam do zmiennej string poleceniem FUSING, np: Temp = Fusing(t1 , "#.#") gdzie Temp to string, a t1 to zmienna single z odczytaną temperaturą. Następnie mam kilka warunków if..then gdzie zmienna Temp jest uzupełniana znakami (np. spacji), tak aby fragment łańcuch z pojedynczą temperaturą miał zawsze tą samą...
Synchronizacja ma wyglądac następująco: Przyjmijmy że używasz jako preambuły 0xAA. Wtedy ostatni bit preambuły to 0. W takim przypadku bajt synchronizujący to musi być liczba zaczynająca się równiez od bitu 0. Niech to będzie np 0x66. Wtedy szukaz preambuły (0xAA lub 0x55) jesłi jakiś znak nie jest preambuła to bierzesz go jako bajt synchronizujący....
Skoro oba urządzenia robicie sami, to po co sobie utrudniacie życie jakimiś CR? Nie prościej wysłać bez niego? Kolejne ułatwienie stała długość ramki. Rozkodowanie jej (do zmienny,bo pewnie będą do czegoś używane) to jedna instrukcja sscanf. Przykładowe "(at)8;2018-12-2;22:22:34;234;33" można zrobić tak: sscanf( buforsms+1, "%d;%d-%d-%d;%d..itd",...
Podobają mi się te rzeczy o których czytam tutaj (; Do tej pory myślałem że DMA raczej nie ma sensu przy odbiorze danych których długość jest nieznana/zmienna, a tu proszę... Wychodzi na to, że przy zastosowaniu standardowych mechanizmów RTOSa (programowe timery) + ewentualne przerwanie od IDLE można mieć samo odbieranie "gratis". 4\/3!!
Przypuszczam, że przed uczeniem sieci neuronowej trzeba te kolejne widma cząstkowe jakoś normalizować, bo sieć może mieć problemy z rozpoznaniem obwiedni widma przy różnych głośnościach dźwięku (analizować trzeba przyrosty składowych widma pomiędzy kolejnymi ramkami - taka składowa zmienna ewolucji widma częstotliwościowego). Czy to będą instrumenty...
Witam Jak wielu spotkałem się z problemem problemem kłopotliwej obsługi pilota z RC5. Po poszperaniu w necie wpadłem na http://www.elektroda.pl/rtvforum/topic20... ten temat. Jak się okazało wszystko na tym programie pracowało, ale nie zawsze. Kłopotem było napisanie programu "pod pilota". Oczywiście pochwała dla Sabotaz'a który problem "ruszył"...
chciałeś przerwanie a wcale go nie używasz (prawie wcale). to Samo można zrobić w programie głównym poprostu sprawdzając stan scon.0 a tak zajmie mniej miejsca. Radze zmienić koncepcje. Rozumiem że chcesz żeby ci wypisywało jakieś cyfry czy znaki na lcd. No to zrób zmienna zliczajacą znaki, potem jakąś zmienna typu bufor (o długości taką jak ilość znaków...
Otóż pisząc program obsługi tablicy reklamowej (na Atmega32 )zupełnie przypadkiem stwierdziłem, że na zmienną typu string np 10 znakową można zapisać np 20 znaków instrukcją Restore i Read. Co więcej to działa w normalnym programie tak jakby ta zmienna miała faktycznie 20 znaków ! Oto przykład sprawdzony na symulatorze: Dim Tekst As String * 10 Dim...
Z czystej ciekawości raczej kupię jeden Aurel i Hope. Trudno mi jeszcze dokładnie sprawdzić przez obecne pogody na otwartym terenie jednak co jest korzystniejsze? wysyłanie menchester czy zmienna długość impulsu która mówi o danym stanie logicznym tak jak jest to poniżej przedstawione: http://obrazki.elektroda.pl/3808682400_1... Na tą...
skąd moge wiedzieć czy 0 to nie jest bajt jaki potrzebuje odebrać. Idealnie by było jak timeout zmieniał by jakąś zmienną "wewnątrz bascomową" którą można odczytać, następnie zresetować 1.Poczytaj o Ischarwaiting. 2. Zobacz czy przypadkiem zmienna ERR nie załatwi sprawy. Sam nie jestem pewien, bo jako takiego opisu jakie funkcje ją generują to nie...
[syntax=cpp]std::vector < unsigned char > Temp_Pakiet; Temp_Pakiet.clear(); //Czyszczenie ze smieci - przy powtornym wywolaniu Temp_Pakiet.resize(Pakiet_odb.size(), 0x00); //Nowy rozmiar + inicjalizacja 0x00 //Procedury wstępne //... unsigned char Dane ; //Zmienna do ktorej bedzie zapisywany pobrany znak z bufora COM if(ReadData(&Dane,sizeof(Dane))...
Witam, walczę z GPSem od kilkudziesięciu h i nadal mam drobne problemy. Potrzebuję odczytać dane z GPGGA i GGVTG (długość, szerokość, satelity, czas, prędkość). Puki co mam kod który znalazłem gdzieś w internecie i lekko zmodyfikowałem, problem w tym, że czasami myli ramki i źle odczytuje dane: [syntax=basic4gl]Onrxd: Udr_buf = Udr 'Byte aus UART lesen...
Ramka cyfrowa Lenco DF-911 ????? cuda jakieś! Uruchamia się i świeci bardzo ładnie, stabilnie, bardzo długo nawet cały dzień. pokazując stronę tytułową, dalej jest już gorzej jeśli w gnieździe karty jest karta to po chwili około, kilkanaście sekund na wyświetlaczu pokazują się migające naprzemiennie poziome czarne wąskie paski ich długość i szerokość...
spr cos takiego ;) niemasz wogole funkcji main, a te ustawienia uarta niesa wogole w zadneg funkcji. oczywiscie plik makefile masz poprawnie stworzony, odpowiedni procek i predkosc etc? jezeli nie to nie dziw sie ze kompilator nie wie skad ma wziac nazwy rejestrow skoro nie podales mu z jakiego uC one są #include <avr/io.h> //nadawanie pojedynczego...
Witam! Kilka słów o projekcie. Urządzenie wykonuje odczyt z czujników - częstotliwość pomiarów i ilość punktów pomiarowych jest zmienna. Pomiary następnie są wysyłane do urządzenia nadzorującego w odpowiedzi na jego zapytanie. Moim założeniem jest kolejkowanie pełnych ramek z pomiarami i czasem ich wykonania w postaci listy jednokierunkowej, a gdy jest...
Spróbuj poniższego kodu. Co prawda napisałem go "na kolanie", sprawdziłem tylko czy się kompiluje, ale zapewne zawiera kupę błędów. Idea jest taka, że wywołujesz wielokrotnie funkcję IrReceive(), aby odczytać pojedynczy bit z IR. Funkcja zwróci true, gdy odczyta pełne 11 bitów (również bit startowy w pozycji LSB; musisz sam sprawdzić, czy bit startowy...
Wysłałem filmik na youtube for (i=0;i++<1000;) line(rand()%640,rand(... ok 200 średniej długości (400p) linii/s (nie wiem jak szybka jest funkcja rand() ) 2. Koncentryczne okręgi - ta matryca ma tylko 3 składowe co daje 7 kolorów +tło jednak wizualnie kolorów...
Majster , do testów co fajnego zrobiłeś w kodzie wrzucam zawsze cały Twój oryginalny plik do ESP. Dopiero potem kopiuje sobie co mi się tam podoba :) Co do problemu czcionki i podświetlenia wyboru. Zerknąłem do kodu i problem leży w nieprawidłowym przeskoku i malowaniu tej ramki. Czcionka Spleen, której używamy nazywa się Spleen6x12 ale w rzeczywistości...
Właśnie mam już opracowany program pod Windows komunikujący się z modułami. Wykorzystałem następującą konstrukcję ramek: http://obrazki.elektroda.pl/6262891000_1... Każde 8 bit jest jakby jednym znakiem RS-232. Ramka ma stałą długość, więc mam nadzieję, że nie będzie potrzeby wprowadzania dodatkowych znaków typu '\n', czy '\r'. Nie wiem,...
Witam Nie za bardzo wychodzi mi wykorzystanie z dwóch portów UART. UART sprzętowy odbiera ramki z modułu GPS ( Tx modułu do Rx AtMega32 ) i to działa. Działa do momentu gdy włączę UART sprzętowy ( tylko Rx na jednym z portów Atmega do Tx portu Com w komputerze - korzystam z przejściówki, ale to chyba nie problem ), wtedy informacje na LCD nie są aktualizowane...
Dzień dobry szanowne grono, mam kilka podstawowych pytań odnośnie płytki STM32 Nucleo-G491RE dokładnie, oraz modułu marki Digilent Pmod I2S2. Płytka ta zawiera przetwornik ADC oraz DAC, oba 24-bitowe, z częstotliwością próbkowania do 108 kHz dla ADC oraz 200 kHz dla DAC. Na studiach wykorzystywaliśmy taką płytkę, ale było to typu przepisz instrukcję...
Witam. Czy ktoś może walczył z odbieraniem danych z programu LCDsmartie pracującego w trybie szeregowym ? Są tam 2 opcje szeregowe Crystalfontz i matrix orbital. Z tego co ustaliłem obie są co najmniej dziwne. W opcji crystalfontz wysyłane są dane w formacie 6znaków stałych dane o 1 lini 3 znaki stałe dane o 2 lini. Niby fajnie ale ramka ta nie ma stałej...
http://obrazki.elektroda.pl/6148316100_1... http://obrazki.elektroda.pl/9687194100_1... Mając kilka wolnych chwil, postanowiłem skonstruować odbiornik do bezprzewodowego czujnika stacji pogodowej Oregon Scientific RMR203HG. Stacje tej marki są ogólnie dostępne, jeśli chodzi o wrażenia z użytkowania – działa bez...
Witam. Niedawno rozpocząłem swoją przygodę z Atmegą8. Chciałem sprawdzić jak działa interfejs TWI. Na podstawie książki pana Cezarego Klimasza zakupiłem układ 24c16wp i napisałem program. Niestety program zamiast wyświetlać mi w terminalu liczby od 255 do 0 wyświetla bliżej nieokreślone sekwencje znaków. Czy mógłby mi ktoś pomóc znaleźć błąd w moim...
Witam. Mam taki problem, gdyż chciałbym ogarnąć komunikację poprzez UART między dwoma mikro. Mam dwa uC: Atmegę 16, która działa jako master oraz Atmegę 88 jako Slave (na której będzie termometr, z którego będę odczytywał dane). Programy, definicje wyglądają następująco: plik RS485.h #indef RS_INT_H #define RS_INT_H //rozmiar buforów nadawania i odbierania...
Jesli ramka ma max 20 bajtow to zadeklarowac pole o tej dlugosci, w przerwaniu odbierac kolejne bajty i je zapisywac. Dodatkowo jeden bajt jako flaga, ze cala ramka zostala odebrana (w przerwaniu trzeba porownac odebrana informacje o dlugosci ramki z iloscia faktycznie odebranych bajtow). Ta flaga w programie glownym mowi o tym, ze jest gotowy pakiet...
Witam, drogich forumowiczów. Mam problem z komunikacją kilku urządzeń w sieci rs485. A tak prawdę mówiąc to z komunikacją pomiedzy dwoma, jednym "master" i jednym "slave". Normalnie staram się zadawać pytania w ostateczności na forum Elektroda, ale po prawie 3 tygodniach siedzenia przy problemie, przeglądaniu masy poradników i postów związanych z rs485...
No to masz 4-bajtowy znacznik początku ramki, w dodatku niejednoznaczny, tylko po co? Przy automacie masz zmienną - stan automatu, którą elegancko robi się jaku enum, a dalej switch zapewniający obsługę kolejnego bajtu i przejścia pomiędzy stanami. Do obsługi tego początku, jaki masz, potrzebujesz czterech stanów automatu (piąty stan to odbiór danych)...
Witam ponownie, Jak obiecałem, wrzucam skan szkicu. Ponieważ jest to na razie koncept, szkic jest odręczny. Jak już uporam się z obliczeniami, postaram się wrzucić rysunki 3D mojego rozwiązania. http://obrazki.elektroda.pl/1659232500_1... Z moich przemyśleń i obliczeń wynika, że żeby to działało zgodnie z założeniami, to muszę zwiększyć...
https://obrazki.elektroda.pl/4444898400_... Są takie chwile w życiu elektronika-hobbysty, zwłaszcza programującego mikrokontrolery, gdy jego największym pragnieniem jest umieścić dwa układy w odległości kilkuset metrów i wymieniać między nimi dane. Tanie moduły radiowe nie dadzą rady. Moduły LoRa radę dadzą i do kilku kilometrów, ale...
Napisałem wersję "new core" dla tego projektu. Niestety zajmuje 82 procent flasha w Atmega8 Dlatego w załączniku jest skompilowane archiwum. W przyszłości planuję napisanie programu, który w łatwy sposób pozwalałby edytować dane w EEPROM, czyli zmieniać treść SMS i numery telefonów. [syntax=vb]'****************************...
Nie napisałeś nic, co mogłoby pomóc rozwiązać problem. Nie wiadomo jakiego typu jest zmienna ramka2, co zwraca funkcja USART_Receive(). Może być to zmienna ośmiobitowa, a jeśli tak jest, to taki token się w niej nie zmieści, choćbyś nie wiem jak się starał. Jeśli token ma długość 6 bajtów, to musisz je odczytać, zapisać np. do tablicy i tą tablicę zapisać...
Dołączę się do wątku. Ja z kolei mam problem z konfiguracją kodeka K-Lite Codec Pack Mega zainstalowane domyślnie bez modyfikacji ustawień. Film zrobiłem sobie w Vegas Movie Studio HD Platinum 10.0, ponieważ VirtualDub odmówił wykonanie poprawnie połączenia 6 plików AVI o łącznej długości 3 godzin. Plik wynikowy ma następujące dane: Ogólne Pełna ścieżka...
Walczę i walczę z tym programem ale nie daje rady.... :cry: Wrzucam cały kod, jest on zrobiony na bazie jak wspomniałem wcześniej: Projekt powiadomienia o alarmie by Xury wersja 2.0 [syntax=basic4gl] '***************************************... 'Projekt powiadomienia o alarmie by Xury wersja 2.0 'Działanie na przerwaniach...
Od dawna interesowało mnie wykonanie efektownego oświetlenia LED choinki. Jednak żeby efekty były satysfakcjonujące, każde światełko musiało by być sterowane niezależnie a nie tak jak w chińskich lampkach segmentami. Niestety, żeby każdą diodę sterować oddzielnie trzeba by całej sieci okablowania, zwłaszcza, że chciałem użyć diod wielokolorowych RGB....
Witam, poszukuję termoregulatora Craftel C24/3 z tego, co widzę w internecie, to firma już chyba nie istnieje, ale były one stosowane w wielu różnych urządzeniach, więc pewnie są dostępne zamienniki, ... Bezpośrednia odpowiedź - Gotowego „drop‑in” Craftel C‑24/3 praktycznie nie ma już w regularnej sprzedaży (na HvacPR widnieje jako Produkt niedostępny)....
długość ramki zmienna długość rs485 długość ramki
podłączenie kolumn subwoofer atmega płytka testowa schemat vestel 17mb170 firmware
Fiat Panda 1.1 2004 – rechotanie silnika jak diesel, regulacja zaworów, rozrząd, typowe usterki Grundig VS 960 – magnetowid VHS Hi-Fi Stereo, typowe usterki, serwis, instrukcje online