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...
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...
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ść...
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....
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ą...
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...
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!!
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ć...
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...
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ł"...
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...
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ą...
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";...
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ść...
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...
[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))...
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...
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ę...
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...
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...
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...
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,...
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 ==...
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...
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...
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...
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...
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...
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",...
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...
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...
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...
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ć...
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....
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...
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]'****************************...
Mam problem z wysyłaniem sms, wykorzystuję atmege128 i moduł sim900 na płytce Evb v1.01_pcb , proszę o rzucenie okiem na kod gsm.c [syntax=c]// PLIK: gsm.c // Dołączone biblioteki #include <avr/io.h> // Biblioteka obsługująca peryferia mikrokontrolera #include <avr/interrupt.h>// Biblioteka obsługująca przerwania mikrokontrolera #include...
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...
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...
https://obrazki.elektroda.pl/3743484600_... Witajcie moi drodzy Przedstawię tutaj mojego shielda (nakładkę) na Arduino UNO opartego o układ ENC424j600. Shield ten pozwala podłączyć Arduino do internetu bez żadnego lutowania, a nawet bez użycia kabelków i płytek stykowych. W temacie dam jedenaście pełnych przykładów jego użycia z moimi...
Nowe niezwykłe możliwości sztucznej inteligencji na usługach człowieka. Co mogą nowe telewizory LG ? Dlaczego lewica rządzi ? Konferencja LG Polska ze Skandalem... w tle. https://obrazki.elektroda.pl/9861346400_... Nie, nie - nic z tych rzeczy ! Skandal to Bistrobar. Trzypiętrowe bistro które znajduje się na ulicy Sienkiewicza 4, w...
Witam, Realizuję pracę inżynierską na zestawie uruchomieniowym ZL27ARM z mikrokontrolerem STM32. Praca jest w zasadzie gotowa, ale niestety nie działa do końca poprawnie. Praca jest tworzona głównie w oparciu o książkę STM32 Aplikacje i ćwiczenia w języku C. Środowiskiem programistycznym wykorzystywanym w pracy jest Keil uVision 5. W pracy wykorzystane...
zmienna długość rs485 długość ramki zmienna długość ramka
sterowniki przemienników arduino nrf24l01 koszt roboczogodziny
generator funkcyjny prostownik tyrystor
Sterowniki USB dla myPhone Halo C - jak podłączyć? Procesory ARM i platformy FYT/TS10 w radiach samochodowych