W STM32 bit parzystości wliczany jest do długości ramki. Jeśli więc ustawisz w STM32 długość 8 bitów i brak parzystości, to masz 8 bitów danych. Jeśli jednak ustawisz 8 bitów i jakąkolwiek parzystość, to w efekcie masz 7 bitów danych i bit parzystości. Jeśli więc chcesz uzyskać 8 bitów danych oraz bit parzystości, to musisz ustawić w STM32 długość ramki...
Skąd pomysł że to jest RC-5? Ani długość ramki nie pasuje do RC-5, ani ta sekwencja startowa, ani sposób kodowania bitów. Może to NEC? https://obrazki.elektroda.pl/8744099600_...
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...
Regulacja RTS sie opłaca , u siebie próbowałem ustawiać i sprawdzać jakie transwery mam i okazało sie ze jak ustawiłem na 410 to było najlepiej , parametr ten określa długość wysyłanej ramki jaką ma wysyłać urządzenie podczas transmisji na wlan, a fragmentacja określa od jakiej długości ramki ma zacząc fragmętować ramki na mniejsze, ale fragmętacje...
Po pierwsze czytaj ze zrozumieniem i spokojnie. Pole nr 1 i 2 to długość danych. Dwa razy powtórzone w celu eliminacji błędów. W instrukcji są inne bo może inne było zapytanie w odpowiedzi masz taką wartość jaką faktycznie odebrałeś. 0 - 68 - oznacza początek wiadomości zawsze 68 1 - 45 - długość ramki z danymi w 45 hex = 69 dec - tu masz 74 pola minus...
Można tak, a dla danych binarnych np. pierwszy odebrany bajt może zawierać długość ramki. Wtedy kończysz odbiór w momencie odebrania określonej przez pierwszy bajt ilości bajtów. Wygodnie jest też jako ostatni bajt umieścić CRC, wtedy CRC całej ramki powinno wynosić 0, jeśli nie to mamy błąd.
Nie wiem czy ma to znaczenie, ale w pozycji Port u mnie jest 16101, a u ciebie 27250, może tu jest błąd, jeszcze długość ramki TCP ja mam 0, a Ty 1200. Jak zmieniam port, nie mogę się zalogować. Długości ramki TCP nie mogę zmienić. Czekam do jutra.
witam, szukam odpowiedzi na ponizsze pytania: - Jak działa pierscien ze znacznikiem FDI - Uzasadnij dlaczego pojawia sie min. dł ramki w eternecie (to się wiaże z kolizjami) jesli to mozliwe prosilbym o pomoc z gory bardzo dziekuje
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...
-pkt1. - co zrobić jak nie nastąpi pkt2. - pytać dalej o to samo, ile razy Ja pytam 3 razy i zrywam programowo transmisję na PC jak nie dostanę odpowiedzi. To samo sie tyczy uP. -pkt4. i pkt.7 - dostał ramkę ale nie OK? - jak sprawdzić ,że dane OK? PC i uP wyliczaja sumy kontrolne z ramki tzw. BCC, jeżeli się zgadzają to OK, są one wysyłane zawsze...
To zależy od tego jak szybko będziesz nadawał dane i jaki masz baud. Jeśli procesor będzie działał względem baudu RFM'a dostatecznie szybko to tak być nie powinno, ale zawsze należy zabezpieczyć się na wypadek jakichś problemów i sprawdzać ten bit. Oczywiście jeśli dojdzie do OVF to cała ramka jest do śmieci. Dodano po 3 Nie napisałem, że sprawdzanie...
1. Fast Ethernet wykorzystuje ten sam format ramki i technologie CSMA/CD co normalny 10Mbps Ethernet. Różnice są w zmniejszeniu wartości maksymalnych opóźnień sygnału między segmentami z 51.2 ms na 5.12ms. Większość portów Fast Ethernet działa z opcją 10/100Mbps czyli z możliwością manualnego ustawienia prędkości transmisji lub też auto-detekcji parametrów...
Dane zostaną odcięte do 5-u bitów i tylko to będzie przesłane. W tym wypadku wysłany zostanie bajt = 1.
Jak to zwykle na początku projektu bywa, warto wejść w tryb brainstormingu ;) Wymagania co do samego protokołu: - koncentracja na tanich, prostych, chińskich modułach (zaawansowane moduły mają już własne protokoły lub wsparcie w postaci bibliotek i społeczności, brnięcie w protokół na mocnym module nie skończy się dobrze) - protokół zorientowany na...
(at)BlueDraco Dlatego trzeba robić przerwę co kilkadziesiąt bajtów. Jest oczywiście tak bo Ty tak mówisz i koniec. Dlaczego kilkadziesiąt? Nikt nie wie. Zrozum, że większość protokołów ma ramki o ograniczonej długości. Ramki takie posiadają nagłówki oraz CRC. Protokoły z ramkami o długości kilkanaście kilobajtów również istnieją i działają całkiem...
Hm.. jeśli długość ramki jest zależna od jej typu, to chyba trzeba obsłużyć wszystkie typy ramek, choć ciekaw jestem czy ktoś inny będzie miał jakiś pomysł. To co mi przychodzi jeszcze na myśl, to: - użyć informację o czasie, czyli na przykład agregujemy wszystko w buforze, a zaczynamy go parsować dopiero jak przerwa w odbieranych danych przekroczy...
Bardzo chętnie bym użył status byte ale u mnie sytuacja prezentuje się jak na obrazku poniżej. Nie mam "status byte" :(. http://obrazki.elektroda.pl/9867144000_1... Co do Twojego pytania na priv to zrzut programu do diagnostyki ET200S jest zrobiony na bazie WinCC jako jeden z ekranów SCADA. Jeśli chodzi natomiast o diagnostykę ET200S...
Przejrzałem dokumentację i mam 2 wiadomości. Te trzy układy kodują bity danych w ten sam sposób, tj. bit 0 trwa 100 µs, a 1 - 200 µs. Problem w tym, że wysyłają w ramce ich różną ilość. Mogło być tak, że w zależności od daty produkcji/rynku/dostepnosci itd. stosowali różne układy. W każdym razie MM53226 wysyła 256 różnych kombinacji, a SAA1250 - 1024....
To jest ten sam protokół co H02, ale nadaje ramkę naprzemiennie w DEC (plaintext) i HEX, więc parser musisz sobie napisać z dekoderem dla dwóch formatów. Czasami w jednym pakiecie leci kilka ramek, więc musisz tak napisać parser by oddzielał pakiety zakończone "#". Taka paczka ma różną długość. Za to ramka w HEX ma zawszę tę samą [90bajtów]. Na testy...
Witam, To jest schemat ramki. Podczas obsługi CAN interesuje nas CAN ID - czyli nr ID ramki, długość ramki oraz dane. Podany schemat dotyczy CAN w wersji 11bit i tak naprawdę nie obsługujemy poszczególnych bitów bo robi to za nas np. sterownik PLC. Pozdrawiam,
Mam w domu system z RS485 pracujący na 250kbps, bez kwarcu na wew RC 8MHz. Długość ramki 35 bajtów. Działa bez błędów. To, że działa to żaden dowód, że tak jest poprawnie. W jednostkowych przypadkach należy brać poprawkę na to, że ma się po prostu szczęście. Długość ramki danych jest bez znaczenia, gdyż zapewne używasz UART, a ten synchronizuje każdy...
O ile producent sterownika miał głowę na karku, to nie zastosował gołego UART ani RS232, tylko różnicowe RS485 lub 422 możesz rozwinąć dlaczego tak uważasz i czemu byłoby lepiej/gorzej? Dodano po 14 na długość ramki z danymi wpływa ustawienie w sterowniku czy jest podłączony regulator pokojowy zwykły czy TECH to brzmi logicznie, bo sterownik TECH dorzuca...
Przeczytaj dokładnie jak się liczy długość ramki w STM ach. To taki hint
Witam Korzystając z bibliotek stosu TCP/IP dla AVR i ENC28j60 ze strony tuxgraphics.com chciałbym zaimplementować obsługę DHCP. Niestety maksymalna długość ramki jaką mogę wysłać to około 220 bajtów. Czy ktoś może wie jak zwiększyć maksymalną długość ramki? Próbowałem na wiele sposobów, ale nie potrafię sobie z tym poradzić. Pozdrawiam
Tak właśnie!Zgodnie ze wzorem na siłę powstałą w polu magnetycznym F=B*J*L (F-siła B-indukcyjność J-prąd L-długość cewki) po przekształceniu tego wzoru widać że prąd zależny jest od długości cewki (czuli jej gabarytów) i indukcyjności (jeśli to jest np.prądnica ze stojanem wykonanym z magnesu stałego to czym mocniejszy magnes tym większy prąd)
Jeśli nie masz opisu protokołu komunikacyjnego, to pozostaje inżynieria odwrotna sygnału i testy naprowadzające na informację o temperaturze. Narysuj sobie wykres na podstawie zrzutu danych i zacznij analizować, z jakim kodowaniem możesz mieć do czynienia, jakie są długości ramek danych, itd. Dla ułatwienia analizy dodam, że prawdopodobnie dane nie...
Jeśli wszystkie kanały mam ustawione na DMA, to rozumiem że ten Callback będzie dopiero po przesłaniu całej długości ramki?
Np UART może sobie sprzętowo to wykryć jak przerwa jest dłuższa niż długość ramki. Proponuje zapoznać się z RM
Sprecyzuj dokładnie miejsce o którym piszesz-czy nagrzewanie ma miejsce na całej długości ramki czy tylko w narożniku-którym.
Ustawienia 9600 8N1 długość kabla raczej nie ma znaczenia bo wszystko się dzieje u mnie na biurku ponadto nie mam problemów z odbiorem danych które posyłam do ARM. Podglądnąłem transmisje w programie serial monitor i problem polega na tym że ARM wysyła mi różne długości ramki czasem casem 8 tyle ile trzeba czasem 1,3 bajty Najczęściej odsyła 8 bajtów...
Poprawność transmisji bajtu nie zależy od długości ramki (bloku danych). Od długości ramki zależą za to niewątpliwie: - czas potrzebny do pewnej i poprawnej resynchronizacji (do przerwy pomiędzy ramkami) - czas potrzebny do retransmisji błędnie odebranej ramki. Z tego powodu głosuję za krótszymi ramkami (a co to znaczy "krótsza" - to już zależy od...
Rozpoczynanie i zakańczanie transmisji tzn. ramki? Wogóle to jakie masz wymagania co do prędkości i długości ramek?
Jak chcesz to maksymalnie uprościć to możesz przyjąć długość ramki dla zadanego requesta. Gdy dostajesz bajt w przerwaniu inkrementujesz flage , jak doliczysz do założonej długości to analizujesz ramke. Na początek to wystarczy aby zrozumieć podstawy
MODBUS to w głównej mierze to protokół i hula po wielu mediach, ale CAN jest najmniej trafioną opcją, chociażby ze względu na długość ramek. . A w czym cię ogranicza długość ramek? Wiadomość do 4095bajtów -> ISO 15765-2 Jeżeli w samochodach się da, to dlaczego w domu nie? Wszystko zależy od długości przewodów, ale Can przewiduje max 1Mb. MODBUS, Dlaczego?...
nie wiem czy wszystkie są takie same, ale: różna długość ramki, protokół podobny do profibus ASCII, potrzebne jest zapytanie aby otrzymać dane (nie pamiętam jakie zapytanie), trzeba wyzwalać programowo.
Teraz już nie krzaczy źle miałem ustawiona długość ramki:) Problem z resetowaniem występuje tylko wtedy gdy jest obsługiwany wyświetlacz:/ Mimo tego że na wyświetlacz znaki były wyświetlana poza przerwaniem.
Napisze dokładniej o co chodzi Wysyłam poprzez RSA plik ~100KB(wartości kolorów pixeli) Potem w funkcji 'wyrzucam' te dane na wyśw i towrzy się obraz. Tylko jeśli moja funkcja będzie się zbyt długo wykonywała, lub prędkość będzie za duża, to zdarzy się, że pominę bajty dbierane z RSA, Dlatego chciałbym wyliczyć jaka może być max prędkość badów jeśli...
Nie no maksymalnie to udało mi się osiągnąć transfer 390kB/s ale przy wydłużeniu ramki do 820B. A, że ja chcę to wykorzystać głównie do przesyłania stron NAND flasha to wykorzystałem 512B + mały naddatek. Generalnie korzystając z funkcji API wszystko poszło. Maksymalna prędkość jest już jednak uzależniona głównie od długości ramki, którą wysyłamy. U...
Tak zgadzam się z tym .Jeden tor nadaje a drugi odbiera jak w RS422.Długość ramek waha się 5,5ms do 6,7ms a bit 100µs.
RealTerm znam i mam go przetestowanego ale niestety nie ma on możliwości sterowania nową linią w trybie hex, można ustawić tylko stałą długość ramek a ja potrzebuję czytać zmienną. Nic takiego nie znalazłem do tej pory. N.
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...
I tak właśnie jest jak napisał Krauser ... nie ważne jaką długość ramki ustawię i tak cały czas jest 16 bitów - oscyloskop to potwierdził. Spróbuję później przenieść LCD na SPI2.
tylko UART. 1 bajt niech będzie kodem diody a następne czym tam sobie chcesz. Ramka np o stałej długości lub zakończona odpowiednim znakiem.
Sygnał PWM do standardowych sprzętów modelarskich (pomijam rozwiązania cyfrowe - niszowe - Graupnera, Futaby itp) to impulsy czasowe - aktywny jest stan wysoki. Nie mówimy tu o % wypełnienia bo ramki mogą mieć różną długość a impulsy też różny czas trwania. Sygnał jest asynchroniczny - tzn nie jest w żaden sposób taktowany. Jedynie długości impulsów...
W F3 ST zrobiło całkiem inaczej konfigurację długości ramki (można wybrać rozmiar inny niż 8 lub 16bit) więc nie przejmuj się tym bitem. Sprawdź czy masz wszystko na pewno dobrze połączone i sprawdź konfigurację GPIO jeszcze raz :)
Z tą długością i negacją to nie mój pomysł, ale niezły. Właśnie tak to można traktować. Jeżeli kolejny bajt nie jest negacją poprzedniego, to przyjmujemy, że to nowa długość i czekamy, aż następny będzie negacją. Dodatkowo można narzucić ograniczenia na dozwolony zakres długości.
To też testowałem :) Próbuje teraz na ESP-12 i mam tak samo. Czyli krzaczki na wszystkich możliwych baud. Masz możliwość odłączyć konwerter i skrosować TxD z RxD, żeby sprawdzić, czy w ogóle transmisja jest poprawna? Długość ramki i parzystość ustawiona poprawnie?
W prądnicy i w silniku są pary biegunów na wirniku i w stojanie. Na wirniku są widoczne pary biegunów jako neodymy N i S i są wbudowane (wklejone) powtarzalnie na stałe. W stojanie też są pary biegunów.Można go łączyć w trójkąt lub w gwiazdę i liczba nie ulegnie zmianie. W trójkąt liczy się cewka pojedynczej fazy, ma dwa bieguny (ramki), cewka faza...
Czytając to co pisze autor już po pierwszych założeniach widać że porywa się kolega z motka na Księżyc . Już w założeniach widać braki w wiedzy dotyczące komunikacji po can a realizacja zdania na podstawie błędnych założeń jest po prostu pasmem niepowodzeń . Ramki w can się nie gubią , zgubił się jedynie autor już przy samych założeniach .Ja bym chciał...
Tu problemem nie jest FTDI tylko specyfikacja USB - zobacz jakie są odstępy pomiędzy kolejnymi paczkami wysyłanymi po USB. Jeśli chcesz uzyskać maksymalną prędkość to korzystaj ze sterowników D2XX, a nie z wirtualnego portu RS. Wtedy stosując maksymalną długość ramki osiągniesz gwarantowane prędkości.
Teraz dołóżmy do tego jeszcze fakt, że takie cuda można sobie robić na sprzętowych sterownikach które działają w czasie rzeczywistym. Np. ModbusRTU Funkcja 3 - Read Holding Registers (at)57600: Zapytanie: 8B + 3,5 znaku = 2ms ======Czas na generacje odpowiedzi...======= Odpowiedź - 5B + 2xN + 3,5 znaku = 4,8ms dla 10 rejestrów Odpowiedź - 5B + 2xN...
A właśnie, że jest sposób na efektywne wykorzystanie DMA przy odbiorze, nawet dla zmiennej długości ramek. Wystarczy ustawić przerwanie od stanu IDLE dla kanału szeregowego U(S)ART, które generowane jest po zakończeniu transmisji. W tym momencie wszystkie dane są już w zdefiniowanym w DMA obszarze pamięci.
Puszki Simet? Można kupić ich wkręty, mają spoko gwint. Lub zwykłe do drewna 2.5-3x długość dowolna. W zależności też jaki osprzęt (ramki). Mają ciut cieńszy gwint niż te wyżej i czasami jak jest gips w otworach czy inny problem, mogą "rozwiercić" otwór.
Obiecane źródła i schematy. Układ korzysta z taktowania z modułów. Więc źródło taktowania procesorów oczywiście trzeba ustawić na zewnętrzne. Komunikacja idzie po UARCie. PWM na razie jest jeden i powiela kanał SERVO7. Normalnie jak się chce PWMa to trzeba zrezygnować z jednego serva. Albo wydłużyć długość ramki komunikacyjnej żeby przesłać więcej danych....
To skąd wiesz kiedy się kończy ta ramka? Jeśli nie przyjdzie żaden kolejny bit przez ileś ms, ma jakiś znacznik końca, któryś z początkowych bitów określa jej długość?
może też być to wina taśm łączących elektronikę panelu lcd z jego szkłem. spróbuj poruszać, lekko powyginać, górną częścią ramki matrycy na całej jej długości
Może i tak. Ale na moje oko i tak kombinujecie. Ja od początków jak stosuję przesyłanie danych przez UARTa to stosuję jeden algorytm który wymyśliłem jak tylko zacząłem się zajmować programowaniem, i okazał się na tyle skuteczny że korzystam z niego od kilku lat i nie zmieniłem od tamtej pory w nim nic. Wysyłam: 23, Dana, Dana, Dana, Dana, ..., Dana,...
Witam, OlkuM, Twój program natomiast traci zawartość UBRRH, więc jeżeli będziemy chcieli zmienić długość ramki, ilość bitów stopu, czy to jest równoznaczne ze zmianą szybkości transmisji ? Panie Asembler, z pisaniem programów jest podobnie jak z jazdą autem, wszyscy robią to trochę inaczej i wszystkim wydaje się, że są w tym najlepsi ;) pozdrawiam
Zaproponowane zmiany nic nie zmieniły. Jak była obsługa 12bitów to procesor i tak rozpoznawał jaka to ramka za pomocą długości bitu startowego i dalej już "nie obsługiwał" części odpowiedzialnej za tą ramkę 12bit. Sprawdziłem i odbiera normalnie zawsze pierwszą ramkę, załączam ekrany oscyloskopu, drugi kanał jest wyzwalany flagą po odebranej ramce...
Ostatnia linijka na stronie 46: Note: Every Modbus frame has a maximum limit of 20 variables (40 register). Jednorazowo możesz odczytać 20 zmiennych czyli zawartość 40 rejestrów. Jest to maksymalna długość ramki danych. Skopiuj sobie wysyłane zapytania o zmienne które cię interesują (kompletne ramki z CRC). Zawsze będą takie same. Wtedy możesz używać...
(at)Mat_91 Nie ma potrzeby wysyłać kontrolną paczkę danych na początku ramki komunikacyjnej, chyba, że ramka będzie miała różną długość - wtedy to jak najbardziej, pierwszy bajt np. z informacją o ilości wysyłanych znaków, bajty danych i CRC. Ze stałą ilością bajtów jest łatwiej. Odczekujesz, aż uzbierasz określoną liczbę bajtów po czym porównujesz...
Proszę doprecyzować co za ramki chcesz przesyłać. Samo CRC to tylko suma kontrolna obliczana na podstawie zawartości ramki. Ja bym zrobił mniej więcej tak: - jakiś bajt startu, stały dla wszystkich ramek, np. FF - dwa bajty długości treści ramki (komunikatu) - suma kontrolna CRC obliczona z wartości długości i treści - jakiś bajt kończący, np. F0 Mikrokontroler,...
Według pdf parametry UART to: 9600 bps Check bit: None Stop bit:1 bit wysyła 24 bajty ze spacjami, pierwsze dwa są stałe, później długość ramki i dane. Kiedyś wysyłałem dane do playera TF16, gdzie format danych był taki sam i robiłem to przez printbin. Teraz wydawało mi się, że Inputbin załatwi sprawę. Wiem jakie są parametry, tylko nie...
Witam Przecież napisałem że sprawdziłem w PortMonitorze oraz własnym programie. Oprócz ramki (przykład powyżej w VB z Visual Studio), gdzie wykorzystałem funkcję SerialPort.Write(bytes(),offset,length)) nie są wysyłane inne dodatkowe znaki. Przykład ten jest kodem działającym, więc na 100% nie ma entera czy innego znaku kończącego ramkę. Protokół transmisji...
Bufor cykliczny w najprostszym przypadku możesz rozwiązać w ten sposób: 1) tworzysz tabelę o długości rozmiary bufora (sam tworzę nieco większe niż długość ramki, czasami nawet kilka ramek mieszczę w jednym buforze) 2) zapisując odebraną daną (czyli liczbę) zapisujesz ją pod adres buffor[indeks] po czym od razu po zapisaniu nowej wartości inkrementujesz...
Zero wymusza się przez zapis 0 do SPIx->DR, którego u Ciebie brakuje. Gdybyś zapisywał wartości ósemkowo, a nie szesnastkowo, byłoby łatwiej czytać. Ustawiasz coś w CR2 po włączeniu SPI - błąd. Najpierw zapisz CR2, potem CR1. Tak było w moim kodzie, który popsułeś. Jaką masz ustawioną długość ramki SPI? Zgaduję, że 8, a powinno być 12. Wydaje Ci się,...
Witam, nie wiem czy dobrze diagnozuję problem, ale skonfigurowałem sobie mikrokontroler w CubeMX jak urządzenie USB CDC. Po podłączeniu do PC pojawia mi się wirtualny port COM i mogę sobie odbierać dane wysyłane przez procesor, a także nadawać ramki danych. Natomiast zdziwiło mnie, że maksymalna długość ramki jaką mogę wysłać to 8 znaków, po wysłaniu...
Ponarzekałeś, powymyślałeś, ale ani kawałka kodu nie wkleiłeś i na dobrą sprawę nie napisałeś, z czym masz problem. Slave SPI na mikrokontrolerze musi wysłać dwie ramki danych przed zinterpretowaniem pierwszej odebranej - tego nie przeskoczysz. Jeśli pierwsza ramka od master zawiera jakieś polecenie dla slave - to odpowiedź na to polecenie może nastąpić...
Podłączyć do USB np. Arduino Nano. Arduino będzie odbierać informacje z portu szeregowego (dwa bajty) i konwertował na na ramkę o długości jedenastu bitów.
Witam. Jak można dokładnie odmierzyć krótkie czasy w Delphi? potrzebuję kontrolować długości ramek transmisyjnych rs232 i nie wiem jak to wykonać. Potrzebuję odmierzać czasy z dokładnością co najmniej 100µs (0,1ms) czy jest to w ogóle wykonalne ? w czasie trwania tej procedury nie mam potrzeby wykonywania innych czynności więc dopuszczam w tym...
Witam . Zacznij od tego jakie to procesory . Zapewne jakieś dwa mikrokontrolery . Większość współczesnych mikrokontrolerów posiada sprzętowe bloki komunikacji (I2C ,SPI ,UART itp.) chyba że chcesz użyć jakiegoś archaicznego Z80 lub jakiejś gołej 51 . Co do wymiany danych . Master wysyła ramkę danych slave to odbiera , interpretuje , wykonuje i odsyła...
Wydaje mi się, że jeszcze 1 ramka będzie ci potrzebna. Linki od dużej ramki muszą się zbiegać do mniejszej. Ważne, żeby miały tę samą długość. Mniejszą ramkę możesz podnosić na 1 lince za pomocą kołowrotu.
Witam, odkurzę trochę temat, bo mam pewne pytanie z modbusem. Powiedzcie, czy dobrze rozumuję, czy jeśli w urządzeniu np. udostępnię 400 rejestrów 16bit, to odczyt wszystkich to będzie w ten sposób, że adres początkowy to np 1, więc master będzie prosił o dane od 1 do 125 w jednej ramce, czyli offset 1 a długość 125, w kolejnej ramce offset 125 i długość...
Nic nie analizuję. Odbieram stały początek ramki składający się z adresu i pola określającego długość reszty danych. Dzięki temu wiem ile ich mam jeszcze odebrać. Jeśli jestem paranoikiem to dodatkowo opatruję to CRC, dzięki czemu wiem, że header jest ok. Cały pakiet kończy się CRC, jeśli liczę je na bieżąco to prawidłowa ramka musi dać w wyniku CRC=0....
Bufor cykliczny - tablica o długości N bajtów. Dwa wskażniki na elementy tegoż. Pierwszy wskażnik do odczytu (wo), drugi do zapisu (wz). Początkowo oba wskażniki ustawione na początek bufora. Zapis: Procedura przerwania po każdym odebranym bajcie zapisuje go w miejscu wskazanym przez wz. Następnie wz jest inkrementowany i jeżeli wskazuje na element...
Do przesyłania bardzo małych porcji danych typu sygnał z czujnika raz na jakiś czas Ethernet mało się nadaje, to jest kobyła. Żeby przesłać np. kilka bitów czy bajt danych musisz nadać ramkę o rozmiarze niemalże 100 bajtów (38 bajtów - cały narzut + 46 bajtów - minimalna długość zawartości ramki).
Można zrobić coś takiego, że tuż przed znakiem '=' jest liczba określająca nr tempx - można ją przerobić na byte i wpisać to tablicy pod tym samym indeksem. Czyli nie trzeba wysyłać całej ramki, tylko to co uległo zmianie (np. temp13=45). Program automatycznie wyłuska nr temp (13) i wpisze do tablicy temp[13] liczbę 45. Takie rozwiązanie uniezależnia...
Wg dokumentacji jest przynajmniej jedna 0xfe, nie udało mi się odgadnąć kiedy centrala wysyła więcej. Ja czekam tylko na ramkę 0x55 dlatego początek ramki to dla mnie 0xfe 0x55, mój program wyłapuje tylko ten typ ramek. I dla ramki 0x55 długość jest właśnie 18.
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ść...
W ilu linijkach napisałbyś driver do UART, żeby zawierał Timeouty, kilka enum' ów do wyboru, prędkości, bitów parzystości, długość ramki, bity stopu, włączenie przerwań, wraz ze zmianą ich priorytetu, wszystko oczywiście w osobnych plikach .h i .c? Do tego sprawdzić czy to wszystko działa, i napisać Unit testy które są wymagane w czymś większym? na...
Dlaczego wstawiłeś pół alfabetu jako zmienne? :O :) Timer2 powinieneś włączyć po odebraniu pierwszego bajtu, a wyłączyć i zresetować po odebraniu ramki lub zresetowaniu bufora. Chyba, że ma działać cały czas, wtedy zerować Ramkatimeout odbierając pierwszy bajt. Zerujesz bufor, ale nie zerujesz In_pos . Wyłącz przerwanie Urxc , gdy to robisz. Bezpieczniej...
I ja mam pytanie :) Jeżeli przerwa między ramkami (która jest stanem wysokim na linii) wynosi minimum 3.5T to jak ja odróżnić od 4 (i więcej) jedynek?? Druga sprawa .. Czy najpierw należy odebrać cała ramkę, a dopiero później ją obsłużyć? Czy na bieżąco powinienem sprawdzać 2 pierwsze bajty, choćby po to żeby wiedzieć czy informacja jest wysłana do...
Ramkę złożoną z 32 bajtów odbieram w poniższy sposób: Kod: If Ischarwaiting() = 1 Then Inputbin Mess_1 , Mess_2 , Mess_3 , Mess_4 , M0_1 , M0_2 , M0_3 , M0_4 , M1_1 , M1_2 , M1_3 , M1_4 , M2_1 , M2_2 , M2_3 , M2_4 , M3_1 , M3_2 , M3_3 , M3_4 , M4_1 , M4_2 , M4_3 , M4_4 , Chk_1 , Chk_2 , Chk_3 , Suma_1 , Suma_2 , Koniec_1 , Koniec_2 , Koniec_3 , 32 End...
też używam tego softu, przedtem źle napisałem .. com2com zamiast com0com.. pogadałem z kilkoma osobami i wychodzi na to że problem leży po stronie sprzętu, że bufory portów mogą powodować opóźnienia które soft może wykrywać jako przerwy w paczkach .. i stąd bierze się ten problem.. najlepiej zrobić jakiś znak początku ramki i końca, ewentualnie start...
Tylko że w tym drugim nie mogłem sobie poradzić z odczytem Slider(regulacja PWM). Przede wszystkim proponuje Ci kończenie komunikatu jakimś znanym sobie znakiem (\0 \n \r \f \b czy tez cokolwiek innego, lub przyjęcie stałej długości ramki. Pomoże Ci to wykrywać koniec komunikatu. W pierwszym kodzie jak wpiszesz: fromAndroid.startsWith("PWM") To oczywiście...
Ok, dzięki a mógłbyś jeszcze mi napisać "Do czego służy minimalna długość ramki ? " Oraz jeszcze mi się przypomniało padło pytanie różnica między "fast-forward" a "fragment-free". Co do odpowiedzi na temat "fast-forward" nie miał zastrzeżeń, powiedziałem, że wysyła ramke natychmiast po odebraniu adresu odbiorcy i wystarczyło, ale na temat "fragment-free"...
W koderze PPM na każdy kanał jest podawany impuls o długości od 700 do 2200ms ; ta długość zależy od położenia drążka sterowania. Podane zakresy mogą trochę się zmieniać w zależności od modelu aparatury. Średniej pozycji serwomechanizmu odpowiada impuls o długości ok 1500ms . Ilość impulsów w ramce to 2-8 w zależności od liczby kanałów. Tutaj nie powinno...
Jak zaznaczyć koniec ciągu (koniec tablicy)?? to już od Ciebie zależy. Możesz ustalić stałą ilość znaków, wtedy tą funkcję wywołujesz n razy , możesz na końcu wysyłać jakiś szczególny znak który nigdy napewno nie powtórzy się w innym miejscu. Ten znak gdy zostanie odebrany oznaczać będzie koniec tablicy. Wybór znaku zależy od ciebie. Jeśli transmitujesz...
Tak, oczywiście stała długość ramki, Wstępnie szacuję: 3 bajty kod odbiornika 16 bajtów danych 2 CRC - choć tu nie jest wymagane bo mogę powtarzać całe ramki, odbiornik z danych ramki w stosowanym prze zemnie algorytmie powinien kontrolować poprawność pakietów. Ma dużo czasu bo kolejny inny rozkaz otrzyma najwcześniej za 60 sekund. W tym czasie mogę...
Witam Kiedyś robiłem sterowanie ze sterownika S7-200 przez RS-485 z falownikiem Dandoss VLT serii 5000. Zależnie od wybrania długości ramki to można sterować tylko częścią parametrów jak start, stop, prędkość itp. a otrzymywać status przetwornicy. Przy wyborze długiego komunikatu można robić wszystko, nawet zmieniać i odczytywać dowolne parametry. Ta...
Dobry Wieczór, Mam pytanie odnośnie montażu paneli LED. Mam w domu sufit podwieszany z płyt gipsowych na konstrukcji drewnianiej. Zamontowałem panele LED - 120x30 oraz 60x60. Świecą i prezentują się super. Pomiędzy ramką panela, a płytą gipsową są delikatne nierówności, szparki. Chciałbym to uszczelnić akrylem (głównie dla efektu wizualnego). Tu pojawia...
http://eurodrut.pl/ 2700 ramki ÷ 54 żłobki = 50 ramek w żłobku (aktywnych odcinków) 54 żłobki ÷ 3 fazy = 18 żłobków na fazę. Każda cweka ma dwa boki (ramki) 54 żłobki ÷ 2 boki = 27 cewek 27 cewek ÷ 3 fazy = 9 cewek na fazę Długość ramki 12,5 cm × 2700 =33750 cm = 335,5 m Faza waży 850 g × 3 fazy = 2,55 kg. Drut Φ 1 mm Φ wirnika 115 mm , szer...
Witam serdecznie, Robię dla synka ramkę z modelami F1 LEGO, oświetlaną od wewnątrz taśmą LED. Problem pojawił się przy montażu przycisku włączającego oświetlenie. Kupiłem przycisk, który działa tylko wtedy, gdy jest wciśnięty — po puszczeniu LED-y gasną. Otwór o średnicy ⌀12 mm jest już wywiercony, a dodatkowym ograniczeniem jest długość przycisku,...
Ogólnie nie ma zapisane w MP3 jaka jest długość utworu. Trzeba sobie to albo policzyć z pliku (zsumować wszystkie ramki) albo przybliżyć (mało dokładne przy VBR) http://www.codeproject.com/KB/audio-vide...
-UART Jaka prędkość transmisji? Jakiej długości ramki danych? -Timery Programowe + PWM (Na jednym timerze"2") Dlaczego programowe? Ile ich będzie, co będą robić? -Czujnik HC-SR04 na timerze ICP Z AVR mega wybrałbym mega1281. Ma 6 timerów, w tym 5 16 bit. Nie wiem czy wszystko co potrzebne jest wyprowadzone na piny i być może potrzebna będzie mega1280....
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ć...
Moim zdaniem użycie tutaj TCP jest błędem i powinieneś użyć UDP. Kto o zdrowych zmysłach otwiera połączenie TCP "forever"? P.S. Jakie jest "sizeof(Dev2PcState)" ? Jaka jest długość bufora ramki TCP? Co z retransmisją pakietów niedostarczonych?
do 42 cali 42 z ramką, będzie większy niż 43 bez ramki.
No w sumie excray, to by się zgadzało ;) patrzyłem tylko na to, że ta wartość zapisuje się do UBRR i zapomniałem że tam jest URSEL. Dobra a wracając do ustawienia długości ramki, czemu przy takim ustawieniu nie działa ?? I co z tymi wartościami domyślnymi UCSZ0,UCSZ1 ?? Gdy sprawdzam je np w symulacji na Atmel Studio czy przez if'a to wychodzi, że są...
Używam konwertera rs484>USB podpiętego pod raspberrypie 3b+ No własnie miałem zamienione + z - na połączeniu do pieca aż głupio się przyznać :) Dane już lecą Podrasowałem trochę skrypt miszka Dodałem wyliczanie i weryfikację CRC Wydaje mi się że większość dekoduje z automatu Zerknijcie czy u was tez daje taki output : ramka: 680a005045d60b0aa016...
zmienna długość ramki rs485 długość ramki ramki samsung
najlepszy centrala domowy huawei e3372 schemat lampa canon
czujnik temperatury sterownika pieca czujnik temperatury sterownika pieca
Filtry kubkowe 3-10A w polskich radiach lampowych Diora, Eltra, Unitra Różnice między filtrami kubkowymi 3-D-10A a 3-10A2 w radiach lampowych