Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизПочему Com-порт может сбоить? Найти похожие ветки
← →
Artem (2012-02-22 20:59) [0]Написал 2 простенькие программы для чтения и записи...
Когда ноутбук читает, а ПК записывает (в основном) все нормально...
Когда ПК читает, а ноутбук записывает (в основном хотя и читает немного) в некоторых случаях иногда сбоит. Сбоит причем конкретно при передачи определенного вида посылки и не всегда-передаются неверные данные... Может ли быть проблема в кабеле??
← →
Inovet © (2012-02-22 21:06) [1]> [0] Artem (22.02.12 20:59)
> Может ли быть проблема в кабеле??
Может. Попробуй уменьшить скорость.
← →
Artem (2012-02-22 21:07) [2]Inovet © (22.02.12 21:06) [1]
Скорость - 9600. Куда меньше?
← →
Inovet © (2012-02-22 21:08) [3]> [1] Inovet © (22.02.12 21:06)
И COM прорты разные бывают, для RS232 ограничения в 15 м длины кабеля, для других и километр можно.
← →
Dimka Maslov © (2012-02-22 21:09) [4]Не зря, мне кажется, придумали несколько уровней протоколов передачи данных по сетям. А для того, чтобы отлавливать возможные ошибки, природа которых различна.
← →
Inovet © (2012-02-22 21:09) [5]> [2] Artem (22.02.12 21:07)
> Скорость - 9600. Куда меньше?
Поверь кабель.
← →
Artem (2012-02-22 21:09) [6]Inovet © (22.02.12 21:08) [3]
Кабель не больше 2 метров...
← →
Artem (2012-02-22 21:10) [7]Inovet © (22.02.12 21:09) [5]
А как его проверить?
← →
Inovet © (2012-02-22 21:13) [8]> [7] Artem (22.02.12 21:10)
> А как его проверить?
Другой хотя бы подключить.
← →
Inovet © (2012-02-22 21:15) [9]> [8] Inovet © (22.02.12 21:13)
> Другой хотя бы подключить.
Этот к другим компьютерам.
← →
Германн © (2012-02-22 21:18) [10]
> Сбоит причем конкретно при передачи определенного вида посылки
А именно?
← →
Artem (2012-02-22 21:19) [11]Inovet © (22.02.12 21:15) [9]
Я пробовал между ноутбуком и одним компьютером, и ноутбуком и другим компьютером - всё равно возникает ошибка...
← →
Artem (2012-02-22 21:23) [12]Германн © (22.02.12 21:18) [10]
> Сбоит причем конкретно при передачи определенного вида посылки
А именно?
1fh 67h c CRC1 CRC2,
здесь с - символ от A до Z
CRC1, CRC2 - два байты CRC суммы посылки
Самое интересное что когда посылаешь посылку 66h, 68h сбоев не происходит.
Я это посылку посылаю 26 раз для каждого символа... И на одном из них происходит сбой...
← →
Artem (2012-02-22 22:05) [13]Да и когда пытаешься переслать его снова, снова та же ошибка...
← →
Германн © (2012-02-22 22:50) [14]Что портмон показывает на передатчике и на приемнике?
← →
Artem (2012-02-22 23:18) [15]Германн © (22.02.12 22:50) [14]
На ноутбуке 7ка - portmon не идет. А на PC показывает, что пришли искаженные данные...
← →
Германн © (2012-02-22 23:32) [16]Каким образом они искажены?
← →
Artem (2012-02-22 23:42) [17]Германн © (22.02.12 23:32) [16]
00h ffh 00h 6fh c7h
вместо вышеупомянутой посылки...
← →
Германн © (2012-02-23 00:00) [18]Компьютеры соединены стандартным кросс кабелем?
← →
Artem (2012-02-23 00:05) [19]Германн © (23.02.12 00:00) [18]
Для ноутбука использую USB-to-RS232 cable. К нему подсоединяю COM-кабель , не самодельный... Что значит кросс - не знаю...
← →
tesseract © (2012-02-23 00:24) [20]
> Для ноутбука использую USB-to-RS232 cable.
Очень редко видел нормальные конвертеры usb-rs232. Они работают через драйвер-фильтр и задержки там сильно увеличиваются. Да и постоянно фонят - необходимо чистить буфер порта.
← →
Германн © (2012-02-23 00:33) [21]
> К нему подсоединяю COM-кабель , не самодельный...
Я почему спрашиваю. По "посылкам" для меня очевидно, что конечной целью вашей задачи является работа с нестандартным внешним железом. Если ошибаюсь, поправьте. А там не всегда используются стандартные кабели. Так что вышеприведенная цитата не дает полной ясности.
← →
Германн © (2012-02-23 00:36) [22]
> tesseract © (23.02.12 00:24) [20]
Задержки тут очевидно не при чем (по крайней мере напрямую). Автор должен получить на приемнике 5 байт. Портмон подтверждает, что принято 5 байт, но значения этих байт не такие.
← →
Artem (2012-02-23 00:48) [23]Германн © (23.02.12 00:33) [21]
Внешнее железо, пока ещё один ноутбук с установленной DOS и программой (читалкой) на нём... Я для теста написал программку которая как бы частично заменяют ту... Ошибка все равно вылезает. Хотя я тестировал без коннектора USB-COM.
← →
Германн © (2012-02-23 01:19) [24]
> Artem (23.02.12 00:48) [23]
>
> Германн © (23.02.12 00:33) [21]
> Внешнее железо, пока ещё один ноутбук с установленной DOS
> и программой (читалкой) на нём... Я для теста написал программку
> которая как бы частично заменяют ту... Ошибка все равно
> вылезает. Хотя я тестировал без коннектора USB-COM.
>
Можете (если хотите) выслать мне на почту в анкете техзадание и описание железки. Посмотрю.
← →
Германн © (2012-02-23 01:25) [25]P.S.
Меня смущает "а ноутбук записывает (в основном хотя и читает немного)".
← →
Artem (2012-02-23 14:19) [26]Германн © (23.02.12 01:19) [24]
Зачем ТЗ? Когда не работает даже простейший пример программки... Я просто посылаю туда вышеприведенные байты, а оттуда читаю, без пересылки - и происходит эта ошибка...
P.S.
Суть задание простое: нужно написать файловый менеджер для работы с документами на устройстве...
← →
Лукошко (2012-02-24 12:26) [27]
> Artem (22.02.12 23:18) [15]
Портмон нормально работает на семёрке, по крайней мере - на 32битной. Сам юзаю постоянно
← →
VICTOR_ (2012-02-24 13:59) [28]Попробуй изменить настройки для COM - порта в Windows.
Нажми кнопку - установить по умолчанию - затем ОК (если Тебе настройки по умолчанию подходят).
Еще проверь буферы Fifo. В большинстве случаев рекомендуется - ставить галочку и бегуноки - в крайне правое положение.
← →
VICTOR_ (2012-02-24 14:02) [29]>>>Портмон нормально работает на семёрке
Уже несколько раз стыкался, что Portmon - ничего не показывает. В отличие от Hyperterminal, который на том же компьютере все показывает
← →
Loginov Dmitry © (2012-02-24 21:51) [30]
> Почему Com-порт может сбоить?
Существует масса вариантов, например:
- на устройствах выставлены разные скорости СОМ-портов
- заданы специфические настройки СОМ-порта (там можно много чего понастраивать)
- изредка попадаются хреновые юарты, не выдерживающие заданной частоты
- Hyperterminal (если он используется) после "автоопределения" скорости начинает корежить байты. За это сильно его не люблю
- хреновый преобразователь USB<->RS232
- глючат драйвера виртуального СОМ-порта
- переломан кабель
- плохо пропаян разъем DB9
- слишком сильные помехи
- слишком слабый ноутбук, не справляющийся с "чудовищной" скоростью 1000 байт/с :)
- отключен FIFO, что приводит к десятикратному увеличению кол-ва прерываний процессора (правда врядли оно имеется в USB, не знаю)
- самое банальное - криво написанный автором софт :)
В такие случаях Portmon - поистине незаменимое средство.
← →
Германн © (2012-02-25 02:02) [31]
> Artem (23.02.12 14:19) [26]
>
> Германн © (23.02.12 01:19) [24]
> Зачем ТЗ? Когда не работает даже простейший пример программки.
> .. Я просто посылаю туда вышеприведенные байты, а оттуда
> читаю, без пересылки - и происходит эта ошибка...
>
Простейший пример - это когда нет речи о нестандартных железяках!
Просто хотел помочь. Но если вы не хотите раскрывать подробности даже в личном общении, тогда я пас.
← →
Забаненный (2012-02-25 14:50) [32]
> Германн © (25.02.12 02:02) [31]
ну, это же Секретный-Очень-Модуль!
← →
Artem (2012-02-25 20:37) [33]Loginov Dmitry © (24.02.12 21:51) [30]
Спасибо
И вообще всем спасибо за поддержку...
Приобрел карточку PCI с тремя выходами: 2 RS232 и LPT - пока сбоев вроде бы нет... Видно дырявый USB-конвертер...
← →
Artem (2012-02-26 13:52) [34]Хотя нет читает иногда неправильно...
← →
Лукошко (2012-02-27 11:52) [35]
> VICTOR_ (24.02.12 14:02) [29]
> Уже несколько раз стыкался, что Portmon - ничего не показывает. В отличие
> от Hyperterminal, который на том же компьютере все показывает
Есть небольшой глюк с "Capture events" - иногда включение приёма не срабатывает, это да. Ну дык и не пользуйтесь этой фичей :o)
Всё остальное работает дюже надёжно, уже года 4 Портмоном пользуюсь.
← →
VICTOR_ (2012-02-27 11:59) [36]
> Есть небольшой глюк с "Capture events" - иногда включение
> приёма не срабатывает, это да. Ну дык и не пользуйтесь этой
> фичей :o)
>Всё остальное работает дюже надёжно, уже года 4 Портмоном пользуюсь.
А что значит - не пользуйтесь? Толку от PortMon - если он ничего не показывает. Или может есть другой метод?
← →
Лукошко (2012-02-27 14:53) [37]Дык я про что: у меня PortMon всё показывает, под win7x32
У вас я не знаю, попробуйте WireShark какой-нибудь...
DTR/RTS установлены правильно? Натыкался на преобразователи, которые криво работали с DTR (Китай гольный, неполное соответствие спецификациям)
← →
VICTOR_ (2012-02-27 16:40) [38]Я же написал Hyperterminal - все показывает.
Моя программа - тоже все видит и ловит сигнал.
PortMon - на том же компьютере с теми же настройками ничего не показывает. В самом PortMon - никаких настроек нет - указываешь номер порта и все.
Сейчас к сожалению не имею девайса под рукой, чтобы детально исследовать что и чему.
← →
tesseract © (2012-02-27 21:47) [39]
> PortMon - на том же компьютере с теми же настройками ничего
> не показывает. В самом PortMon - никаких настроек нет -
> указываешь номер порта и все.
Бывают комфликты с другими драйвер-фильтрами. Но как правило просто неправильно настроен фильтр событий в портмон-е.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.055 c