-
1. Data: 2025-12-03 22:02:56
Temat: RS-485 ale automatycznie dwukierunkowy
Od: a...@h...invalid (Arnold Ziffel)
Chcę spiąć dwa urządzenia przez RS-485 (jedno będzie moje, drugie to
będzie przystawka / konwerter do PC, i soft do kontroli na PC).
RS-485 może być dwukierunkowy (czyli obie strony mogą nadawać), ale tam
jest z tego co widzę half-dupleks (czyli tylko jedna strona może nadawać
w jednym czasie). Czyli muszę przełączać nadawanie / odbiór.
Czy da się zrealizować to w taki sposób, żeby obie strony mogły nadawać
(nie w tym samym czasie, czyli nadal half-dupleks) bez dodatkowego
przełączania? Obie odbierałyby to, co jest na linii (czyli byłoby echo
lokalne).
Chciałbym, żeby to było jak najprostsze. Z MCU sobie wysteruję tak jak
chcę, ale z PC musiałbym wyprowadzać dodatkowe linie sterujące (chciałbym
użyć gotowego konwertera na FT232 + scalaka do zrobienia z tego RS-485),
oprogramowywać to. Zrobię to, jeśli trzeba, ale jeśli mogę nie robić, to
wolałbym nie robić.
Pomysły, idee?
--
Łysi mają lepiej chłodzony procesor.
-
2. Data: 2025-12-03 22:45:31
Temat: Re: RS-485 ale automatycznie dwukierunkowy
Od: Mirek <m...@n...dev>
W dniu 3.12.2025 o 22:02, Arnold Ziffel pisze:
> Czy da się zrealizować to w taki sposób, żeby obie strony mogły nadawać
> (nie w tym samym czasie, czyli nadal half-dupleks) bez dodatkowego
> przełączania?
Bez przełączania się nie da, jak chcesz nadawać to sterujesz linią, jak
chcesz odbierać to nie możesz nią sterować. To się robi bardzo prosto,
np. w układzie MAX485 dajesz jedynkę na DE i !RE i dane na DI, po czym
dajesz zero na DE i !RE i jesteś przełączony na odbiór.
Jak chcesz słyszeć z powrotem co nadajesz to trzymasz zero na !RE cały
czas, ale jedynki na DE się nie da trzymać, bo druga strona nie nada.
Przystawka do PC sama to robi (chyba sygnałami DTR CTS) - w każdym razie
programy i biblioteki to obsługują same - nawet nie wiesz kiedy. Jak nie
może nadawać bo akurat odbiera to zbuforuje i za chwilę masz wszystko.
--
Mirek


do góry
Ile kosztują tanie mieszkania w polskich metropoliach?