ЗАО «ЗЭО»

Техническая поддержка пользователей => Тион-Про28, Орион28 => Тема начата: Genues от 12 Июля, 2017, 16:13:16

Название: Проблемы с RS232
Отправлено: Genues от 12 Июля, 2017, 16:13:16
Доброе время суток.

На нескольких платах имеется проблема с работой RS232.
Если во время работы отсоединить кабель от порта, то в порт постоянно попадает байт со значением "0".
При подсоединении кабеля всё становится нормально.

Насколько я могу судить, плата где такой проблемы нет и платы где такая проблема есть отличаются выходным буфером.
На проблемных платах применены микросхемы ADM485, на без проблемных Sipex 485E.
Система Linux.

Помогите пожалуйста разобраться.
Название: Re: Проблемы с RS232
Отправлено: Danila от 12 Июля, 2017, 17:57:59
Добрый день.
Попробуйте добавить согласующий резистор на линию RS485.
Название: Re: Проблемы с RS232
Отправлено: Genues от 13 Июля, 2017, 10:59:07
Добрый день.
Попробуйте добавить согласующий резистор на линию RS485.

Напишите пожалуйста подробнее, куда именно и какой резистор нужно добавить.

У меня оба порта включены в режиме RS232 и на обоих одинаково есть проблема.
Название: Re: Проблемы с RS232
Отправлено: Danila от 18 Июля, 2017, 14:52:20
Если речь о RS232, то резистор не нужен. Я думал вопрос про RS485, т.к. ADM485 и SP485 относятся к нему.

Не совсем понял проблему. При отсоединении кабеля RS232 из порта постоянно считывается \0 или только один раз при отсоединении кабеля?
Название: Re: Проблемы с RS232
Отправлено: Genues от 18 Июля, 2017, 18:35:22
Не совсем понял проблему. При отсоединении кабеля RS232 из порта постоянно считывается \0 или только один раз при отсоединении кабеля?

Постоянно.
Название: Re: Проблемы с RS232
Отправлено: Danila от 18 Июля, 2017, 18:40:59
Попробуйте задать эти настройки, а затем читать из порта командой cat:
stty -F /dev/ttySP0 115200 time 5 -parenb -parodd cs8 -hupcl -cstopb cread clocal -crtscts ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 -isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke

Или открыть порт с помощью minicom и посмотреть, как ведет себя порт.
Название: Re: Проблемы с RS232
Отправлено: Genues от 19 Июля, 2017, 12:31:42
Есть проблема в том, что эти варианты не показывают вывод 0.
Название: Re: Проблемы с RS232
Отправлено: Danila от 19 Июля, 2017, 13:07:47
То есть если читать из порта командой cat или с помощью minicom, то нулей нет? Тогда, вероятно, проблема в том как Вы открываете или конфигурируете порт.
Название: Re: Проблемы с RS232
Отправлено: Genues от 19 Июля, 2017, 13:36:04
Т.к. никакой символ не связан с байтом ноль, то понятно, что никакой терминал не будет ничего печатать.
Я ставил такой эксперимент - писал в цикле в порт железки с компьютера примерно такую посылку char("-") char(0) char("+")
Minicom печатает "-+-+-+-+-+-+-+-+-+-..."
Название: Re: Проблемы с RS232
Отправлено: Danila от 21 Июля, 2017, 15:59:36
Проверил командой "od -x < /dev/ttySP1". Если отправлять \0 по RS232, то нули видны. Если отключить кабель - нулей нет.
Название: Re: Проблемы с RS232
Отправлено: Genues от 24 Июля, 2017, 10:13:52
Вроде бы решилось закрытием порта и открытием его заново.