Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.02.13;
Скачать: [xml.tar.bz2];

Вниз

Работа с com портом   Найти похожие ветки 

 
Замученный   (2002-12-04 16:05) [0]

Народ, совсем замучился. Имеется устройство, подключенное к com порту. Скачал компоненту TComPort. Если на микросхема записана команда, которая просто возвращает получаемое значение, при посылке устройству любого значение, оно возвращается нормально.
Далее меняю микросхему. Она воспринимает 3-х байтовый адрес и возвращает 13-ти байтовое значение. Посылаю, но ничего не получаю. Помогите кто-нибудь. Буду благодарен за любую ссылку.


 
Андрей Ваганов   (2002-12-04 19:39) [1]

...ето программатор чоли?


 
mike-d   (2002-12-04 22:31) [2]

Проверь внимательно настройки порта, перед открытием (свякие там протоколы, стопбиты и прочая). Часто в этом кроется причина неправильного обмена.


 
Замученный   (2002-12-05 10:45) [3]

Не программатор, просто прога, забирающая значения из устройства, занимающего измерением.

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

Проблема в том, что необходимо передать адрес типа 02 98h 00 и микросхема отвечает только на него.


 
Андрей Ваганов   (2002-12-05 14:11) [4]

Если микруха хотябы в одном случае отвечает верно, то ...
...короче я как правило в таких случаях не работаю вслепую. Есть уйма итилит для просмотра потоков данных PC<->Device. Если есть желание могу выслать мылом.
мыль если надо...


 
Замученный   (2002-12-09 11:40) [5]

Извиняюсь за вторжение, но у меня никак ничего не получается.

Объясняю все подробнее.

Имеется устройство.
Ему посылается команда

02 98h 00

где 02 имя устройства
98h - команда, на которую он должен выдать данные
00 - конец команды (вроде стоп биты)

Смотрел по шагам. Ситуация такая, что микруха просто не реагирует на эту команду. Может я ее не так указываю. Пробовал передавать и все строкой, и по отдельности.

Есть прога на паскале, через которую все работает, но только из-под DOS. Там все это реализовано, как мне сказали через 14 протокол.

Надо енту хрень переписать под Windows. Сначала пробовал писать сам. Потом нашел компоненту TComPort. Вроде все просто, но опять ничего не получается.

Понимаю, что чайник (почти), но сделать очень надо. Помогите кто-нибудь, дайти хоть ссылочку, ПЛИИИИЗ! Заранее благодарен


 
DC-AC   (2002-12-09 11:47) [6]

А вы сами-то хоть в курсе, ЧТО и КАК должно быть на работающем примере ? Протокол взаимодействия с устройством известен полностью ?


 
Anatoly Podgoretsky   (2002-12-09 11:57) [7]

И технические характеристики порта


 
Ihor Osov'yak   (2002-12-09 12:01) [8]

2 mike-d © (04.12.02 22:31)

не перед, а после открытия, как правило перед началом операций ввода-вывода

2 Замученный © (09.12.02 11:40)

> как мне сказали через 14 протокол.


Не протокол, а через прерывание. Под nt/w2k/xp работать не будет.

Для нормальной работы под win нужно истользоват штатное апи для работы с ком-портами. Или юзать какой-то компонент, работающий через это апи. За TComPort не знаю, использую CIAComPort -
http://www.mestdagh.biz - см далее закладка Delphi.
НО: в любом случае нужно задать корректные режимы для порта -
типа скорость обмена, стоп биты - см. mike-d © (04.12.02 22:31), но это делеется не перед, как говорил mike-d, а после открытия, перед обменом даными ...

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





 
Ihor Osov'yak   (2002-12-09 12:09) [9]

Еще.

То Андрей Ваганов (05.12.02 14:11)

Вероятнее всего досовская програмулина работает напрямую с портами или через int 14. Мониторинг порта в таком случае бесполезен. Но вполне возможно, что есть старые шпионы за вызовами 14 прерываниями (во всяком случае написание их не есть уж такой большой проблемой). Они и помогут определить режим, в который загоняется порт.




Страницы: 1 вся ветка

Форум: "Система";
Текущий архив: 2003.02.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.01 c
1-38309
lopatkin
2003-02-03 13:14
2003.02.13
Функция Copy() в Delphi 6


3-38046
maxfiles
2003-01-26 01:21
2003.02.13
Как задать программе временный каталог?


14-38553
Феликс
2003-01-27 15:22
2003.02.13
Ирак VS США


14-38568
Sergo
2003-01-25 12:48
2003.02.13
Для тех кто живет в США


14-38440
Nick-From
2003-01-30 12:37
2003.02.13
Где делся Коля Быков ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский