Przestawienie kierunku po rozpoczęciu wysyłania ostatniego bajtu jest błędem. Należy go przestawić dopiero _PO_ tym gdy ustawi się flaga TC. Ty natomiast sprawdzasz tą flagę _PRZED_ rozpoczęciem wysyłania (ale tak czy siak po przestawieniu kierunku), co jest mało sensowne. Wewnątrz pętli powinieneś sprawdzać flagę TXE, a TC tylko przed zmianą kierunku...
(at)kubamiszkiewicz Do takich rzeczy potrzeba jakiś program do debugowanie ramki i symulacji mastera/slave modbus. Potrzebujesz konwertera RS485/USB i np. programu ModbusViewTCP. Tutaj może być masa nakładających się błędów np. niewłaściwe parametry komunikacyjne, błędnie zarobiony przewód komunikacyjny, zapis/odczyt nieprawidłowych rejestrów ( trzeba...
To ja się już pogubiłem. Czyli jak z termminala PC naciskasz 1 znak przychodzą Ci 2 takie same na terminal ? Nie masz zaznaczonej opcji automatycznego echo ?
Cześć, Mam STM32 z obsługą Modbusa. W CubeMX można wybrać w ustawieniach UARTa modbus, gdzie wyciągnięta jest tylko jedna linia. Niestety nie znalazłem w internecie w jaki sposób to obsłużyć i jak sprzętowo mają wyglądać połączenia (schemat) w tym procesorze z modbus-em dla RS485. Możecie mi pomóc w takim temacie? Pozdrawiam.
Chciałbym dowiedzieć się jak coś takiego mogłoby wyglądać, jak dogadać się z samym mikrokontrolerem tak aby w odpowiednim języku mnie zrozumiał. Reszta przyjdzie z czasem. Mnie sie wydaje kolega, że nie masz problemu z CRC tylko z samą transmisją danych po USART.
No to może zapodaj kod. Karta SD powinna wyciągnąć co najmniej kilkaset KB/s.
Czy korzystaliście z RS485 lub z CAN we własnych projektach, a jeśli tak, to do czego? Tak. Mam projekt (komercyjny) gdzie korzystam z obu. CAN komunikuje się protokołem OBDII z ECU, a 485 służy jako transmisja między głównym modułem a tym montowanym na słupku A. Z tym, że ja użyłem innych transciverów oraz STM32 posiadającego już FD-CAN.
Ekrany polskiej firmy Riverdi z STM32 na pokładzie + TouchGFX robią robotę pod względem płynności działania. CANy szmery bajery wszystko co trzeba zintegrowane, dużo pamięci. Wstępnie zaprojektowałem urządzenie z NEXTION, ale to w ogóle bez porównania po przejściu na w/w.
Taka ciekawostka związana z obecnymi problemami na rynku STM32: https://obrazki.elektroda.pl/6296079900_... https://yanlingcats.aliexpress.com/store... Istotne tutaj jest to że Chińczycy dotychczas stanowczo nie byli skłonni oferować gołych płytek ewaluacyjnych do STM32 a jedynie gotowe,...
https://obrazki.elektroda.pl/8760486500_... Po przygodach z matrycami zbudowanymi na max7219, przyszła pora na coś bardziej zaawansowanego. Miałem w planach zrobienie własnej matrycy z 1500 jednokolorowych ledów 0603, 3 rejestrów przesuwnych i paru elementów dyskretnych, ale jak już ją zaprojektowałem, to przypadkiem trafiłem na matryce...
komunikacja pomiędzy dwoma STM32 poprzez RS485
Na 99% będzie to rs485
Problem pojawia się na mikrokontrolerze STM32F100RB, aczkolwiek wydaje mi się, że nie ma on związku z samym mikrokontrolerem. Próbuje odczytywać dane z ultradźwiękowego anemometru, który jako jedyną magistralę cyfrową posiada RS485 (ma też wyjścia analogowe). Podłączam go do mojego sterownika przy pomocy takiego konwertera: . Jest on oparty na układzie...
Napisałem program obsługujący komunikację RS232 dla płytki STM32 P103: - dokumentacja płytki https://www.olimex.com/dev/pdf/ARM/ST/ST... - schemat https://www.olimex.com/dev/images/ARM/ST... Niestety łącząc docelowo przez konwerter RS232 -> RS485 i podłączając do serwomechanizmu RS28 dynamixel podłączyłem raz zasilanie 15V,...
https://obrazki.elektroda.pl/7613860700_... Arduino Opta to nowa platforma wbudowana z dwurdzeniowym mikrokontrolerem STM32 (STM32H747XI) z ARM Cortex M7 i M4. System dedykowany jest do zastosowań przemysłowych działających w czasie rzeczywistym. Urządzenie oferowane jest w trzech wariantach posiadających interfejs Ethernet, RS485...
Zmień procki na jakieś STM32 - policzą FFT dużo szybciej. Pytanie - RS485 bo chcesz mieć to z większego terenu zebrane? 2. Poczytaj o FFT - to jest związane z cz. próbkowania i czasem trwania sygnału. 3. Zależy od jakości sygnału i pasma. 4. ADC nie obchodzi co dostaje na wejściu ;)
Zarówno MAX485, jak i SN75176 maję poziomy wejściowe TTL, więc nie potrzeba konwersji poziomów, wystarczy w STM32 wybrać jako RxD pin 5V-tolerant. Droższy transceiver na 3,3 V opłaci się tylko jeśli w systemie nie ma możliwości łatwego uzyskania zasilania 5 V.
Jak koledzy wyżej zaproponowali - CAN. Na początku może wydawać się trochę bardziej skomplikowany niż RS485, ale zapewnia bardziej niezawodną transmisję i upraszcza komunikację w wyższych warstwach (CAN ma zaimplementowane mechanizmy unikania kolizji na magistrali, retransmisji w przypadku błędów, CRC itd). Przede wszystkim pozwala zbudować magistralę...
Na 100% jest błąd w programie. Na jakiej podstawie twierdzisz że wysyła 1, 2, 3 a nie 8 bytes? Czy potwierdziłeś to na oscyloskopie? Czy twierdzisz na podstawie odebranych bajtów w PC-cie (odbiorniku)? Czy twierdzisz na podstawie odebranych bajtów w STM32 (odbiorniku)? Może coś nadpisujesz?
USB działa na określoną odległość. Przy dobrym kablu, nie ma siły, będzie działać ok. RS485 lub CAN rozważ jeśli urządzenia są daleko od siebie i w efekcie poza specyfikacją USB.
Czy autor wątku poradził sobie z przerwaniami?? Pytam bo zamierzam napisać bootloader do programowania kulku uC po RS485 i planuje wykorzystywać w booltoaderze przerwania od UARTa oraz Timera.
Witam STM32 komunikuje się przez układ MAX3485 po magistrali RS485 z innymi podobnymi urządzeniami. Podaję VCC=3.3V na pin /RE oraz GND na pin DE by przełączyć tryb Shutdown Mode, a układ nadal pobiera ok 0.65 mA w stanie czuwania (powinien max 1uA). Jakie warunki trzeba jeszcze spełnić by przełączyć w tryb b. niskiego poboru prądu przez MAX3485 a może...
tmf napisał: LChucki napisał: Możesz przez UART skonfigurować VID, PID, deskryptor, funkcje LED, dostac się do EEPROM w FTDI? Ale po co? Nigdy w żadnym projekcie nie potrzebowałem takiej możliwości i trudno mi sobie wyobrazić sensowny powód dla którego miałbym to zmieniać w gotowym układzie. Nigdy nie używałeś FT_PROG? Nigdy nie zmieniałeś funkcji...
Wybór mikrokontrolera dla mnie w tej sytuacji wydaje się raczej sprawą drugorzędną. Ważniejsza jest eliminacja zakłóceń w warstwie sprzętowej lub programowej. Ogólnie mikrokontroler STM32 wydaje się być dość dobrym wyborem-ostatecznie są wersje szybsze niż taktowane 72MHz ( serie F4, F7). Trochę trudno cokolwiek się wypowiadać bez pooglądania schematu...
Dzięki wielkie za pierwszą podpowiedź jutro sprawdzę sugestię, ale priorytety w NVIC rozumiem : Hmmmmmm... czyli w pierwszej grupie TIM1 ma preemption=0 i sub=2 natomiast systick jest w 0 grupie i ma preemption == sub == 0 czyli wg mnie powinien wywłaszczać. P.S: W timerze delay jest mi potrzebny bo wysyłam dane po rs485 i muszę odczekać czas ze względu...
Niektóre LPC (LPC210x, LPC23xx, LPC24xx) mogą pracować na 72MHz, a więc wtedy masz 4.5. Dla STM32 również można wyciągnąć tylko 4.5M. Zasadniczo jednak nie rozpędzałbym się tak na twoim miejscu. Naszybsze transceivery RS-485 od Maxima pozwalają na osiągnięcie do 2.5M i to zapewne na odpowiedniej magistrali z odpowiednią terminacją i topologią. Do tego...
Witam Mam chiński klon Maple ze STM32 nazywany STM32 Mini. Problem mam z bootloaderem. Wgrałem zgodnie z instrukcją przez program STM32, chodzi tu o możliwość wgrywania programu przez wbudowane USB. Teoretycznie nie powinien działać reset automatyczny ponieważ opornik jest za duży. https://www.elektroda.pl/rtvforum/topic3... W sumie raz działało...
Urządzenie wykonuje pomiary co kilkanaście minut i w zależności czy jest połączenie GPRS wysyła dane po sieci. Jeżeli z jakiegoś powodu nie ma połączenia to zapisuje wyniki pomiaru do pamięci flash mikrokontrolera. Urządzenie pełni rolę SLAVE a ja komunikuję się w dowolnej chwili z wykorzystaniem Modbus RTU przez RS485 i odczytuję bieżące wyniki, które...
Nie neguję sensu dobrego zaprojektowania wg wątku. Jednak zadam pytanie bazowe co to są "ciężkie warunki" ? W "dużej" teleinformatyce profesjonalnej są jasne zasady, skrętką/eternetem skrętkowym się nie robi przejść między budynkami itd ... są od tego opcje światłowód (kompatybilna softwarowo) czy rs485 *) (inny protokół). A że zasady są naruszane (amatorskie...
Osobiście nie zastanawiałem się nad tym długo, szukałem zestawu który ma chyba wszystko na pokładzie: Ethernet, Can, RS232, USB-RS, 485, pamięci Flash, Sram, Kartę muzyczną, Usb Host OTG, LCD + dotyk, złącze na karty SD i wiele innych... W polsce ktoś sprzedaje RedDragon za ~350zł ja zamówiłem to w chinach przez ebay i zapłaciłem z presyłką ~180zł uważam...
(at)LChucki Co do tych 15 UART-ów to był trochę sarkazm, generalnie cała ta odpowiedź miała być trochę ironiczna. Mam nadzieję że kolega się nie obraża. Jak kolega korzysta z wielu takich modułów to ok, może dziwiło mnie to dlatego że mało kiedy korzystam z takich modułów i głównie wszystko montuję na PCB od zera. Natomiast jak mam potrzebę współpracy...
Witam. Zamierzam nauczyć się programowania mikrokontrolerów ARM - z rdzeniem ARM Cortex - M3 w języku wysokiego poziomu C. Nie ma dużego wyboru jeżeli chodzi o książki, zdecydowałem się na: "STM32. Aplikacje i ćwiczenia w języku C" M. Galewskiego (http://www.kamami.pl/index.php?ukey=pro... Zastanawiam się nad tym, jaki zestaw startowy...
W przerwaniu od DMA oczekujesz na ustawienie flagi oznaczającej zakończenie transmisji (TC). Jeśli chcesz super elegancko, ale niekoniecznie lepiej, to w momencie rozpoczęcia transmisji DMA włącz przerwanie od tej flagi w module UART - nadajnik będziesz wyłączał dopiero w tym przerwaniu. 4\/3!!
(at)Freddie Chopin Można przyjąć UB. PEIE sprzęt nie zmieni tylko program stmx Co masz na myśli poprzez UB? Do obsługi komunikacji RS-485 wykorzystałem biblioteki HAL. Poniżej obsługa wysyłania danych: [syntax=c] // #define GET_SETTINGS_PERIOD 20//co ile wysyłanych ramek należy pobrac ustawienia Master_struct_typedef *MasterWskaz; Slave_struct_typedef...
Hej, szukamy projektanta elektronika, praca stacjonarna w biurze we Wrocławiu (po okresie próbnym możliwa praca hybrydowa) B2B: 7000-12000 netto (+VAT) UZ: 6000-10000 pln brutto Projektowanie urządzeń elektronicznych Przeprowadzanie obliczeń obwodów, symulacji, walidacji i testowanie prototypów. Projektowanie architektury systemów elektrycznych i elektronicznych...
Nie ma żadnego dodatkowego przerwania... Przecież to się opiera na zwyczajnym mechanizmie zdarzeń - żaden z obiektów synchronizacyjnych nie zmienia stanu "sam z siebie" i bez powodu, tylko to Ty go przestawiasz (zwalniając mutexa, wpisując coś do kolejki, ...). Tak więc po prostu wszystkie operacje na takich obiektach na koniec zawierają - w uproszczeniu...
Najprościej to bazować na timeout - dopóki coś jest nadawane to odbierasz. W chwili, gdy następuje przerwa w nadawaniu, np. dłuższa niż czas trwania jednego znaku, uznajesz, że nadawanie się zakończyło. Oczywiście to potem można nadbudować kolejnymi warstwami logiki - strukturą pakietu, długością pola danych. Nie bazowałbym na żadnych specjalnych bajtach...
Jeżeli macie sprawdzony sposób ochrony to proszę o podpwiedź. Zależy jak długie te przewody. Naprawdę długie to tylko rozwiązania typu pętla prądowa albo komunikacje na np RS485.
RS485 opisuje tylko standard elektryczny.
Chodzi o zabezpieczenie przed nadawaniem kiedy już inny SLAVE jest w trakcie wysyłania odpowiedzi no chyba, że do takiej sytuacji przy tej komunikacji nie dochodzi (RS485)
(at)obywatellutzek Jeśli musisz to użyj np. transceiverów do rs485. Jeżeli t jest jakaś pojedyncza taśma w normalnym, niezaszumionym środowisku, to można się pokusić o puszczenie tego na żywioł. Kwestia jak często odświeżasz te LEDy? Czy dopuszczasz jakieś przekłamania? Jeśli wyświetlane efekty są dynamiczne, to nawet jeśli od czasu do czasu będzie...
Witam, mam pytanie odnośnie portu USART w STM32. Projektuję płytkę, na której ma znaleźć się komunikacja po RS485. Chciałbym się dowiedzieć, czy włączenie linii RTS (CTS) portu UART będzie umożliwiało sprzętowe sterowanie przepływem na porcie RS485 (Master/Slave). PS. Oczywiście wiem, że sterowanie programowanie z użyciem GPIO też jest możliwe.
Według mnie moduł BLE jest podpięty wewnętrznie do tego samego UARTa w STM32 który jednocześnie jest podpięty do transceivera RS485. Widzę jakąś transmisje na pinach A B na oscyloskopie po połączeniu się przez bluetooth. Po zamknięciu połączenia jest cisza. Dodatkowo poziomy na pinach A i B mogą wskazywać na obecność mastera. Jest jakaś szansa, że ten...
Kontroler i tak nie będzie prawie wcale obciążony, więc RS485 można zrobić programowo, LAN też można programowo + jakiś moduł. Zwykła ATmega podoła, wszystko zależy jaki masz budżet, ile czasu na to (dostępność bibliotek, chyba, że chcesz własne pisać) oraz tego, która architektura Ci najbardziej odpowiada. Gdybym robił własną płytkę to bym użył jakiegoś...
(a przecież chyba o to chodzi każdemu hobbyście);:) o to to... Pomysł zmiany magistrali powstał po tym jak zacząłem szukać modułu sterującego. Wpadłem ostatnio na pomysł żeby użyć raspberry pi (niestety już kupiłem), który nie ma CAN. A ma SPI? Jeżeli ma to polecam MCP2515. Pozostaje kwestia kontrolera CAN (MCP2515 koszt 3-4zł). W CAN nie ma kontrolera...
No fakt, w kodzie powyżej jest tyle skomplikowanych odwołań do rejestrów, że zrozumienie ich zajmie na pewno więcej czasu, niż zrozumienie 10 parametrów konfiguracji HAL i z 5 potrzebnych do tego samego funkcji HAL oraz ich argumentów. ;) Dodajmy do tego niezwykle długi i skomplikowany kod inicjowania UART na rejestrach: RS485_UART->BRR = (SYSCLK_FREQ...
https://obrazki.elektroda.pl/9171824700_... Pokazywano już projekty, w których mikrokontroler Raspberry Pi RP2040 wykorzystywany był w płytce sterującej drukarki 3D. Nie powinno, więc dziwić, że ta dwurdzeniowa jednostka znalazła się również w płytce sterującej maszyny Pick-and-Place (PnP) do rozmieszczania elementów na PCB podczas...
W Tera Term mam ustawione 8-bitów danych, bez kontroli parzystości, 1 bit stopu. Szybkość transmisji jest ta sama. Odczytywanie w Tera Term "Hello world" działa. Coś takiego napisałem ale nie działa. Jest w stanie ktoś coś podpowiedzieć? [syntax=c]void send_char(char c) { while (USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET); USART_SendData(USART2,...
Witam, mam problem z zawieszaniem się freeRTOSa. Program grzęźnie w funkcji vListInsert void vTaskUSART3(void * pvParameters) { portCHAR i; vSemaphoreCreateBinary( xSemaphore_US3_O ); xSemaphoreTake( xSemaphore_US3_O, 0); xQueue3_TX = xQueueCreate( 32, sizeof( portCHAR ) );//32 xQueue3_RX = xQueueCreate(...
Interfejs USI ma nawet 8-pinowy ATTiny, czyli masz RS232, RS485, SPI, I2C itd. USB działa programowo nawet na 8 pinowym ATTiny. Ethernet nie, ale tu ze względu na skąplikowany protokół nie ma sensu tego pakować do małego procesorka. Wchodzimy więc w obszar 20zł UC3 z gotowymi stosami. Sory, ale jakoś nie widzę tu niszy rynkowej. Nie ma sensu rozmawiać...
rs485 stm32 rs485 falownik rs485 bezprzewodowo
zmywarka uszkodzić kondensator mniejszy zasilacz słuchawki mikrofonem laptopa
transformator sprzedać sharp 65bl5ea
Lenovo IdeaPad G710 – typy gniazd USB: USB 3.0 i USB 2.0, porty Type-A Strojenie pośredniej częstotliwości w radiu Unitra Diora Elizabeth R-601/R-602 – procedura i wskazówki