Może spróbuj jeszcze w tym ostatnim przerwaniu wyłączyć obsługę DMA dla NVIC, a następnie włączyć jeszcze raz, może informacja o tym, że było przerwanie siedzi gdzieś tam jeszcze? Sam mam podobny problem przy współpracy ADC i DMA, gdzie mam w ADC odblokowane przerwanie od zakończenia konwersji, a przerwanie wywołuje się z flagą "konwersja rozpoczęta",...
W jaki sposób mogę rozpoznać koniec nadawania poprzez mastera, abym mógł slave-m wysłać do niego komunikat zwrotny? Najprościej wysłać na końcu ramki kod oznaczający "koniec nadawania". Lub jak napisano powyżej, użyj jakiegoś protokołu komunikacyjnego.
Ale czy tego problemu nie załatwia nam określenie rozmiaru w parametrze Size komponentu ComDataPacket? Załóżmy, że jesteśmy tym komponentem. Mamy dane; marker start, marker koniec i rozmiar ramki. 1. przychodzą jakieś dane 2. czekamy na marker start 3. marker znaleziony, więc rozpoczynamy zapis ramki. 4. czekamy na marker końca lub/i koniec ramki 5....
Dobrze kombinujesz. Ja rozwiązałbym to tak, że zapamiętywałbym timestamp (w milisekundach) ostatniego przychodzącego znaku. i jeżeli jest większy niż 4 ms (dla baudrate 9600) to uznajemy że jest koniec ramki. Oczywiście można użyć timera o większej rozdzielczości dla szybszych transmisji. Dla trybu ASCII sprawa jest chyba jasna.
Programem Hercules, a co do ustawienia ID urządzenia to musisz zerknąć do rozpiski ramki ModBUS. Można też samemu złożyć taką ramkę tylko trzeba wiedzieć jakie ID urządzenia, od jaki rejestru ma zacząć pytać/zapisać i ile rejestrów i na koniec wyliczamy CRC.
A z czym masz problem? odbierasz znaki uartem i je analizujesz. Co jeszcze?
Masz zły sposób sprawdzania poprawności transmisji. Komp stacjonarny może powodować jakiś mały impuls na linii TXD podczas uruchamiania się komputera. Więc AVR odbiera go jako bajt. Potem wysyłasz 72 Bajty, ale AVR odbiera 71 bo wcześniej już odebrał jeden. I na koniec odbiera ten 72-gi i traktuje go jako ten ostatni bajt kontrolny. A on nim nie jest....
0xFE, 0xFE, bit odpowiedzi - kod ramki, tutaj są zera, CRC (2 bajty), 0xFE, 0x0D. Bit a w zasadzie bajt odpowiedzi czyli konkretnie? Nie podał kolega jaki to bajt, a na dole pisze, że: Ogólnie do pobierania statusu wyjść/czujek służy ramka 0x17 Outputs State .. z tym, że to już nie dotyczy czujek (wejść), a tylko samych wyjść. Ogólnie, wg protokołu:...
To musisz sobie sam ustalić. Wszystko zależy ile danych przesyłasz i od protokołu transmisji (nie mylić ze stadardem poziomów napięć RS232). Jeżeli jest to kilka bajtów możesz liczyć te bajty i jak naliczysz ile przyszło to musisz wiedzieć ile miało przyjsć, porównać i odpowiednio zareagować. Ostatni bajt to przeważnie jakis specyficzny kod np: (ETX...
zależy jak tą ramkę sobie zorganizujesz ale jeden z prostszych sposobów, gdy przesyłamy znaki ASCII to koniec ramki łatwo np odróżnić po tym, że nadleciał znak ENTER (0x0d). Gdy wykryjesz go w przerwaniu to już możesz powiadomić pętlę główną czy jakieś zdarzenie w tej pętli, że już jakaś cała i gotowa ramka czeka na odczytanie. Jeśli pętla główna będzie...
Kamery analogowe nie mają powodu dawać obrazu z taką samą synchronizacją, więc przy przełączaniu przez prosty układ muszą być zakłócenia, bo koniec ramki z jednaj kamery nie będzie jednocześnie z początkiem ramki z drugiej - żeby ich uniknąć, twój układ musi dekodować i zapamiętywać ramki z obu kamer i z tego generować ramki, oraz przełączać na końcu...
Witam, Z opisu wynika że czasu są znane, tzn. znany jest czas każdej operacji. Znając harmonogram produkcji a taki znamy możemy dokładnie wyliczyć ile sztyk danego produktu wytworzymy np. 8h. Co więcej możemy wyliczyć jaki krok będzie realizowany np. za 1h i 34min. Możemy wyznaczyć automatycznie wykres ganta, uszeregować zadania, przydzielić zasoby...
To wiele wyjaśnia. Spróbuj tak ;) [syntax=vbnet]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 64 $swstack = 16 $framesize = 64 $baud = 9600 Config Lcd = 16x2 Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.6 , Db7 = Portb.0 , E = Portb.4 , Rs = Portb.5 Cursor Off : Cls Dim K1 As Byte Dim K2 As String * 20 Dim Id As String *...
Tablice wartosc1,wartosc2,wartosc3 są zbyt małe muszą mieć po 3 elementy. W funkcji hextoul tratujesz przekazaną zmienną jako string kończący się 0, a w tablicach nie masz już miejsca na koniec stringu. Dalej nie przeglądałem.
To można rozwiązać na wiele sposobów. Jeśli tylko cześć ramki jest stała a zależy Ci na wartościach odebranych to można użyć bufora kołowego i kiedy wykryjesz koniec ramki to wciągasz z bufora poprzednie siedem bajtów. Tutaj jednak sprawa jest prostsza. Poniższy mikroprogram powinien sprawdzać po kolei nadchodzące bajty. Jeśli się zgadzają to wskaźnik...
Nie pamiętam dokładnie tego modelu.Kojarzę cztery śruby z tyłu monitora.Być może jest jeszcze jedna śrubka na dole po środku i trzeba też odkręcić nóżkę.A "właściwe" rozbieranie takiego monitora polega na umiejętnym zdjęciu ramki na froncie-jest ona na zatrzaski.Tę operację proponuję zaczynać od środków ramki,a na koniec zostawić same rogi. Jak możesz,to...
Skoro chesz przesyłać dane czyste dane binarne to chyba zrozumiałe, że odpada ci konstrikcja Bytematch z zastosowaniem dowolnego bajtu, który byłby końcem jakiejś tam ramki w związku z tym musisz je albo: 1. wysyłać czysto binarnie z kompa a w procku po prostu czekać na zakończenie transmisji - wprowadzając jakiś TimeOUT (ale to czasami mało eleganckie...
Jeśli materiał jest w mpeg2, to ja robię tak (np. z nagraniami z dvb) programy darmowe 1.mpg2pva 2.pvastrumento 3.cutterman 4.dvdauthorgui 1 przerabia mpeg2 na bardzo podobny, lecz free pva, 1GB - 2min. po to by uporządkować strumień - niekonieczne przy dobrym materiale mpeg2 2 demuxuje pva na mpv i mpa (mpeg2 może też bezpośrednio demuxować, ale tylko...
Od góry jadę, zazwyczaj idzie całkiem nieźle. Musisz uważać pod koniec aby nie uszkodzić taśmy i elementów pod wyświetlaczem. Tylko musisz mieć dobre karty aby się nie łamały, gięły ani nie topiły się pod wpływem temperatury.
Lepiej sprawdzać sumę kontrolną. Po to została stworzona w systemach przesyłających dane szeregowo. Po pierwsze nie znalazłem w systemie Techa, żadnego zabezpieczenia przed wysłaniem 0218 w normalnych wartościach. Można więc potraktować, że to koniec ramki będzie, a to jakaś np temperatura podana. Po drugie błędne ramki się zdarzają. Nie dużo, ale ja...
Ja pozwoliłbym sobie coś takiego zrobić inaczej. Kolekcjonujesz dane aż natrafisz na koniec linii '\n' i wykonujesz funkcję sscanf na rzecz bufora z danymi. [syntax=c] int x, y; int r = sscanf(buf, "TXY X%d Y%d\n", &x, &y); if (r == 2) { //prawidłowa ramka } else { //nieznana ramka } [/syntax] Oczywiście można jeszcze stosować pewien timeout (np 500ms)...
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...
Konwertery to CONV485E. Podanie linku wiele ułatwia. Chodzi o Jeśli wyślesz coś przez modbus tcp do konwertera to on sobie sam wyliczy sume crc , dołączy do ramki i wyśle do slava Tak działa konwerter Modbus TCP (slave) na Modbus RTU (master). Natomiast w trybie "przezroczystym", wg opisu, konwerter słucha na wskazanym porcie TCP, a po nawiązaniu połączenia...
Tz że router próbował przydzielić adres 192.168.1.102 ? Tak! Aby DHCP działało, twoje oprogramowanie musi je obsługiwać! Widać, że router próbuje ci wepchnąć adres 192.168.1.102, ale płytka milczy. Proponuję wejrzeć w kod i zacząć od tego, czy płytka odbiera ramki (obserwować całość Wiresharkiem). W płytce po odebraniu ramki (czyli funkcja ETH_CheckFrameReceived()...
Zamiast robić tam opóźnienie można policzyć ile taktów zajmie uartowi wysłanie ostatniej ramki i robić sobie inne potrzebne operacje ,które zajmują czas a po odpowiedniej ich liczbie zmienić stan porty i tyle . Asembler daje wiele możliwości wykorzystania czegoś co się nazywa opóźnieniem . A jak masz wolny licznik to można na nim zrealizować opóźnienie...
Z zasilacza komputerowego masz diody schottky, a w spawarce szybkie krzemowe. Różnica w spadku napięcia w kierunku przewodzenia jest kolosalna, co spowoduje natychmiastowe zniszczenie tych komputerowych. Ponadto napięcie przebicia Zastosowana w prostowniku spawarki dioda 60APU04 ma prąd przewodzenia 60 amperów i napięcie wsteczne 400 woltów. Te z zasilacza...
Corel: "3 point curve" prowadzisz z ctrl ustawiając wierzchołek po środku strony, zmieniasz narzędzie na 'path tool' zaznaczasz całość i używasz "make curve node", to pozwoli na wygięcie (drugie będzie jego odbiciem lustrzanym wiec nie musisz się nim przejmować), uzyskany kształt kopiujesz i przeklejasz nieco niżej oba łączysz zwykłą linią. Photoshop:...
Witam, zastosowane sprężynki do wytworzenia momentu zwrotnego powinny mieć właściwe charakterystyki, by zależność wychylenia wskazówki od prądu płynącego przez ustrój była liniowa. Wobec powyższego, pozostaje praktycznie tylko przełożenie z innego egzemplarza takiego samego ustroju. Nie jest to takie trudne, tylko pod żadnym pozorem nie wyjmuj ramki...
ad. 2. W asmemblerze MC68k :], a co? jak dowolny, to dowolny :] (asm x86 nie znam za bardzo) Założenia: argument funkcji podawany jest przez stos (wskaźnik stosu - rejestr A7, stos rośnie w dół) Wartość (wskaźnik) zwracana jest w rejestrze D0. Reszta rejestrów pozostaje niezmieniona. Za obsługę stosu odpowiada funkcja wywołująca, więc po powrocie z...
Kolejny plik z działającym wsadem do procesora, tym razem obsługa przetwornika AC i portu RS. DSP czeka na komende z terminala "q" i wysyła pięć wartości hex reprezentujących napięcie na wejściach analogowych i 0Dh, 0Ah jako koniec ramiki oraz komenda "a" na która DSP odpowiada kodem procesora i końcem ramki (kod 0810h dla LF2401).
Urządzenia telekomunikacyjne wymagają pracy synchronicznej, inaczej na skutek różnic częstotliwości zegarów pokładowych dochodzi do poślizgów i utraty pojedynczych bitów. Gdy urządzenia przenosiły tylko ramki z kanałami rozmównymi, taka pojedyncza utrata nie była nawet słyszalna. Ale kiedy zaczęła się era prawdziwej transmisji danych, a zwłaszcza IP,...
http://obrazki.elektroda.pl/2475395200_1... Cześć! Pewnie część czytelników jest już znużona ilością tematów o zegarach nixie, ale nic nie poradzę na to, że ja także poddałem się magii tych cudownych wyświetlaczy minionej epoki. ;) Mogę tylko uspokoić, że jest to moja autorska konstrukcja, a nie kalka istniejącego projektu. Zdaję sobie...
https://obrazki.elektroda.pl/3993332100_... Zapraszam na praktyczną demonstrację połączenia CAN pomiędzy dwoma urządzeniami z ESP32. Pokażę tutaj, jak wygląda procedura nadawania i odbierania ramek na podstawie sterownika TWAI, użyję środowiska PlatformIO. TWAI to skrót od Two-Wire Automotive Interface, czyli w wolnym tłumaczeniu interfejs...
https://obrazki.elektroda.pl/3563451200_... Intro Zawsze fascynowała mnie możliwość konwersji sygnału czasowego na dane w dziedzinie częstotliwości. Pamiętam jak w wieku około 16 lat dopytywałem mojego ówczesnego nauczyciela matematyki, jak działa transformata Fouriera. Dowiedziałem się wtedy tylko że jest to całka, niestety nic więcej...
https://obrazki.elektroda.pl/1367031900_... Witajcie, koledzy inżynierowie! Dzisiaj opowiem o prostym obwodzie lewitacji magnetycznej. Zawsze chciałem spróbować lewitacji magnetycznej, ale niektóre projekty Arduino wymagają pewnej wiedzy programistycznej. Czy istnieje obwód odpowiedni dla początkujących? Dzisiejszy projekt jest właśnie...
https://obrazki.elektroda.pl/3496920600_... Jednym z pierwszych projektów, które zrealizowałem mając 9-10 lat było pudełko z kilkoma LEDami, przełącznikami i potencjometrem - taka tam wprawka w lutowanie. Drugim była migająca strzałka LED z kitu bodaj Jabela. Pierwszym, który zepsułem lutownicą transformatorową (której nie polecam)...
https://obrazki.elektroda.pl/2998720100_... W Koncepcja modularna niespójność skalarna Po wielu godzinach wspólnych przygód, spoglądając z perspektywy na budowę zestawu, odniosłem wrażenie, jakby trochę na siłę rozdzielono moduły, które wcześniej miały swojego protoplastę w postaci znanych nam audio kombajnów zawierających wszystkie...
Układ odbiorczy jest rzeczywiście prosty, co nie znaczy, że odbiornik jest prymitywny. Zwracam uwagę na zastosowanie jak filtru rezonatora kwarcowego na częstotliwość 77.5 kHz. https://www.micros.com.pl/mediaserver/in... Fragment z dokumentacji: "If the voltage at the input of amplifier 1 is higher than about 5 µV, FSI will be high"...
http://obrazki.elektroda.pl/3089511800_1... Witam, dziś prezentuje swój bezprzewodowy termometr pracujący na częstotliwości 433 MHz. Urządzenie składa się z nadajnika i odbiornika. Nadajnik odczytuje temperaturę pieca C.O. i wysyła ją do odbiornika. W odbiorniku mamy możliwość ustalenia górnego i dolnego progu załączenia alarmu, który...
https://obrazki.elektroda.pl/3788950300_... Kiedyś dostało się w moje ręce takie oto pół metra wyświetlacza alfanumerycznego o znakach wysokości 50 mm. Nie mam pojęcia do czego on służył, a opisy widoczne na maskownicy nic mi nie mówią. Poszukiwania w Internecie dają tylko parę ofert sprzedaży oraz kilka pytań na różnych forach, głównie...
Po co liczymy sumę? Odpowiedź jest bardzo prosta. Aby centrala miała pewność, że otrzymana ramka, czyli zestaw bajtów - jest poprawna. Gdyby transmisja została przekłamana a CRC nie było by liczone, mogło by dojść np. do wyłączenia czuwania zamiast załączenia lampy itp. Ty (program) liczy CRC dla ramki i ją dokleja do tej ramki. Centrala odbiera ramkę,...
W tytule artykułu znajdziecie wiele nazw firm, nie wiem, czy Was zaskoczę, czy nie, ale mimo różnych producentów (trafniej nazwać by ich można dystrybutorami) na obudowach urządzeń i szumnie reklamowanych wyższości nad konkurencją, która to nawigacja nie wygrała w testach etc., miejmy świadomość, że w większości urządzeń znajdują się te same podzespoły....
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 ==...
Tu masz ładnie opisaną ramkę: http://edu.i-lo.tarnow.pl/inf/alg/002_st... Pytanie może być podchwytliwe, tzn. jeśli uznać że koniec ramki to FCS no to musiał byś przeanalizować obliczanie sumy kontrolnej i jakie może przyjmować wartości, ale generalnie można chyba przyjąć że 4-bajtowy FCS może przyjąć 4 dowolne znaki ASCII. No chyba że chodzi...
https://obrazki.elektroda.pl/5366472900_... W tym temacie przedstawię LilyGO T-CAN485, czyli płytkę developerską opartą o ESP32, przeznaczoną do pracy z magistralami RS485 i CAN. T-CAN485 dodatkowo oferuje pracę na napięciu zasilania do 12V, złącze USB-C wraz z konwerterem USB na UART CH9102 do łatwiejszego programowania, slot na kartę...
W moim przypadku to akurat faktycznie DMA na odbiorze nie ma sensu bo otrzymuje kilkanaście ramek na sekundę (po kilkanaście znaków) więc szukanie cały czas w buforze końca ramki wyjdzie mi tak samo jak odbieranie znaku w przerwaniu sprawdzanie czy nie koniec i ładowanie do bufora. DMA chciałem dać dlatego żeby nie musieć się martwić odbiorem na kilku...
Witam Mam problem z reakcją na przerwanie od USART0. Za pierwszym razem przerwanie ma reagować na flagę RXRDY - pierwszy bajt ramki. Następnym razem przerwanie ma reagować jedynie na TIMEOUT lub ENDRX. Jest to w ten sposób zrobione, iż przy inicjalizacji odpalam przerwanie oraz ustawiam flagę przerwania na RXRDY. Po przejściu do przerwania i zrobienia...
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...
https://obrazki.elektroda.pl/2313750600_... Chciałbym przedstawić w sumie bardzo prosty projekt – układu pośredniczącego pomiędzy nowymi pompami Grundfos Alpha, a sterownikiem ogrzewania. Kilka lat temu prezentowałem układ sterownika kotłowni, który ma możliwość sterowania pompami Grundfos UPE z użyciem protokołu GeniBus. Niestety...
https://obrazki.elektroda.pl/4323852200_... Witajcie moi drodzy Dziś pokażę jak można praktycznie wykorzystać stary sprzęt komputerowy (nawet taki z lat 2005, czyli na moment pisania tego artykułu sprzęt piętnastoletni ). Użyję tutaj starego komputera i kilku starych dysków do utworzenia serwera plików , który będzie dostępny w sieci...
ramki samsung naprawa ramki ustawienia ramki
kondensator silnika fazowego zespół zaparzający mercedes impulsator
dacia sandero stepway pogoda gorzów
Kompresja Toyota Yaris 1.0 2003: Stopień i Ciśnienie Radio i wyświetlacz nie działa w Renault Clio - przyczyny i rozwiązania