Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

COM-порт. Если девайс отключить... [D5, 2000]


Призрак ©   (2006-05-21 02:18:00) 

...то при посылке данных приходит абракадабра. Я пока ещё путаюсь в обилии функций, но где-то там должен же быть способ определить, отправилось ли!.. Терминалки-то в таких случаях как-то фильтруют это...

Я только начинаю работать с портом, поэтому использую режим 115200/8-N-1/no flow control и (что, видимо, и есть причина) не обращаю внимания ни на состояние модемных линий, ни на какие-то эвенты кроме RXCHAR, ни на всё многообразие ошибок в разных функциях... Наверное, именно по чему-то из этого можно установить, подключено ли устройство?.. По чему?..

мне кажется, вопрос простой и код приводить не надо, но если надо - приведу...


tesseract   (2006-05-23 15:14:00) [1]


>  MAX'ы тоже стойкие. И нафига защиту на RS-232 ставить,
> молния же полюбому не ударит. ;>

не 232-CPE.

У нас ремонтная мастерская их потребляет по 10 в неделю.
Не спрашивайте, кто их жжёт :-)


> Мусор сурубо от наводок в шнуре. Проведите уксперимент -
>  воткните в COM порт линии 2/3 два проводка и попробуйте
> что-то поотправлять в терминале. В результате будете принимать
> лабуду всякую.


это тоже согласен, у нас получаются две антенны дипольных :-) Вывод - неплохо бы заземлиться.
У меня например на 30 метров/9600 чегой-то мусор не приходит.


Defunct   (2006-05-23 15:03:00) [2]

tesseract ©   (23.05.06 14:52) [7]
> Мало работали с девайсами. там защиту ставят не всегда (весы/терминалы).

Ой ли откуда такие такие сомнительные сведения? ;>

Если преобразователь сделан на биполярных транзисторах, то статика ему в общем то до фени. MAX'ы тоже стойкие.
И нафига защиту на RS-232 ставить, молния же полюбому не ударит. ;>

Похоже кто-то из нас действительно мало работал с девайсами, и этот кто-то наверное не я :)

> А тот мусор - в порту имхо как раз может быть шумом статики.

Мусор сурубо от наводок в шнуре. Проведите уксперимент - воткните в COM порт линии 2/3 два проводка и попробуйте что-то поотправлять в терминале. В результате будете принимать лабуду всякую.


tesseract   (2006-05-23 14:52:00) [3]


> В девайсах, как правило, стоит преобразователь RS-TTL с
> высокой стойкостью к статике, так что о чем вы говорите
> не понимаю.


Мало работали с девайсами. там защиту ставят не всегда (весы/терминалы).
А тот мусор - в порту имхо как раз может быть шумом статики.


Defunct   (2006-05-23 14:04:00) [4]

tesseract ©   (22.05.06 13:03) [5]

В девайсах, как правило, стоит преобразователь RS-TTL с высокой стойкостью к статике, так что о чем вы говорите не понимаю.


tesseract   (2006-05-22 13:03:00) [5]


> Если вы шнур выдернете из разъема COM-порта, а не из девайса,
>  то более чем уверен никакой абракадабры приходить не будет.
>

Если в девайсе не стоит защита от статики, то уже ничего передавать не будет.


Defunct   (2006-05-21 19:45:00) [6]

> ...то при посылке данных приходит абракадабра. Я пока ещё путаюсь в обилии функций, но где-то там должен же быть способ определить, отправилось ли!.. Терминалки-то в таких случаях как-то фильтруют это...

Получается такое из-за помех в шнуре. Если вы шнур выдернете из разъема COM-порта, а не из девайса, то более чем уверен никакой абракадабры приходить не будет.

Два пути решения:

1. (программный) пакетный протокол обмена. В котором четко определяется пакет и работать можно только с ним.
2. (аппаратный) Линию RxD прижать на землю резистором 100k-1M прямо в разъеме шнура, подключаемого к компу.


tesseract   (2006-05-21 16:43:00) [7]


> Если необходимо знать, подключен девайс в настоящий момент
> или нет - пользуй аппаратный контроль потоком как в девайсе
> так и со стороны компа. Это самый лучший способ.

Если девайс поддерживает Cts/Dts - (даже закороченные ) то лучше через них .


YurikGL   (2006-05-21 09:20:00) [8]


> COM-порт. Если девайс отключить... ...то при посылке данных приходит абракадабра.

При отключеном контроле потоком если отключить девайс на ком-порте то данные будут посылаться в ком порт без проблем. Правда, девайс их не увидит...

Если необходимо знать, подключен девайс в настоящий момент или нет - пользуй аппаратный контроль потоком как в девайсе так и со стороны компа. Это самый лучший способ.


Германн   (2006-05-21 03:58:00) [9]


> мне кажется

ИмхоЮ "Когда кажется" - креститься нужно!
А код всегда "лучше приводить"!
И уж, тем более, когда "Я только начинаю работать с портом"


Наверх

Титульная страница Поиск, карта сайта Написать письмо