![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
Gremlin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.8.2006 Репутация: нет Всего: нет |
Если ктото имеет информацию по данному вопросу или писал программы большая просьба выложить здесь листинги функций или ссылки на них где люди смогут найти ответы на свои вопросы! А меня собственно интересует список апи функций для работы с этим интерфейсом! Заранее благодарен!
|
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 13 Всего: 98 |
если интересует -- почему поиском не воспользовался? http://www.izone.kiev.ua/articles/delphi/16/282.htm -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
chozen |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 14.8.2006 Репутация: нет Всего: нет |
bugtraq.ru/library/programming/rs232.html
www.opennet.ru/openforum/vsluhforumID9/5319.html - первые же строчки гугла ![]() ![]() |
|||
|
||||
bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 4 Всего: 47 |
Собственно одним списком не отделаешься ![]() Тема не раз уже обсуждалась. Взгляни сюда, правда сделано через MFC, но можешь "заточить" под себя |
|||
|
||||
Gremlin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.8.2006 Репутация: нет Всего: нет |
ой а нет ли случайно у кого Агуров П. - Последовательные интерфейсы ПК. в электронном варианте выложите сцылочку
Добавлено @ 21:08 да и ешо вот посмотрел я все выложенные сцылки! у меня в ммануале на прибор сказано типа команда LVn - выбор канала (n=1..10) или экзамплы (Pc->Instrument) TS4.85E+0 типа выставить погрешность дак вот я не понял как мне послать данные команды ![]() |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
В этом мануале и поищи формат команд для твоего девайса, для RS232 нет специализированного языка, каждый может использовать свой интерфейс ввода-вывода
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
Gremlin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.8.2006 Репутация: нет Всего: нет |
а вот я столкнулся с двумя случаями какой выбрать
есть класс CSerial и HANDLE ? оба открывают порты устанавливают скорость и тд и тп |
|||
|
||||
chozen |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 14.8.2006 Репутация: нет Всего: нет |
Что-то мне сомнительным кажется наличие класса HANDLE... Мож это не класс, а что-нибудь другое
![]() ![]() ![]() Если одинаковые, используй тот, название которого передает смысл области применения - CSerial. |
|||
|
||||
Gremlin |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.8.2006 Репутация: нет Всего: нет |
lpFileName — указатель на строку с нулевым завершающим символом. Обычно это имя открываемого файла, но в нашем случае это должно быть название порта (COM1, COM2, …). dwDesiredAccess — тип доступа. В нашем случае должен быть равен GENERIC_READ|GENERIC_WRITE. dwShareMode — параметр совместного доступа. Для коммуникационных портов всегда равен 0. lpSecurityAttributes — атрибут защиты. Для коммуникационных портов всегда равен NULL. dwCreationDistribution — режим автосоздания. Для коммуникационных портов всегда равен OPEN_EXESTING. dwFlagsAndAttributes — атрибут режима обработки. Для коммуникационных портов должен быть равен 0 или FILE_FLAG_OVERLAPPED. hTemplateFile — описатель файла-шаблона. Для коммуникационных портов должен быть равен NULL. При успешном открытии порта функция возвращает его описатель, а в случае ошибки возвращает INVALID_HANDLE_VALUE. Добавлено @ 11:49
Написано так The protocol structure is defined in the syntax below. Data transfer takes place as simple ASCII protocol with Command code - 2 characters Parameters: 1..8 characters Separator: ,;:/ Terminators: <cr><lf>, <cr> or <lf> Blanks are ignored Upper and lower case letters are allowed и пример дан Command(PC -> Instrument): TS<cr> Replay(Instrument -> PC): TS4.26E+0<cr> Это сообщение отредактировал(а) Gremlin - 30.8.2006, 11:50 |
||||
|
|||||
GremlinProg |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
ну, эта команда, по крайней мере понятна:
вот, к примеру её инициализация и посылка
RS232Write - условная функция для посылки в RS232 с двумя параметрами: 1 - адрес данных, 2 - размер данных PS: структуру надо упаковыть прагмой. -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
||||
|
|||||
Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 8 Всего: 18 |
Пример посылки командыа это ответ:
|
|||
|
||||
Fixin |
|
||||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 8 Всего: 18 |
GremlinProg, ты думаешь? Вообщето, послав такую структуру мы не получим команду видаа что-то вроде
|
||||
|
|||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
Fixin, может быть...
наверное 4.26E+0 - это и есть параметр, тогда нужно сделать иначе:
а в общем случае, если параметров несколько, разделять их чем нибудь из ",;:/" Это сообщение отредактировал(а) GremlinProg - 30.8.2006, 16:12 -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
Gremlin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.8.2006 Репутация: нет Всего: нет |
В хидере класса объявил DCB DcbPort;
В конструкторе класса пишу DcbPort.ByteSize = 8; Поставил точку остановки после этого и смотрю значение DcbPort.ByteSize = 8 +'пустой квадратик' т.е. эта переменная имеет тип unsigned char, но как такое может быть если оно должно быть типа BYTE _DcbPort.ByteSize! Подскажите пожалуйста как решить данный трабл! |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 13 Всего: 98 |
а BYTE это и есть unsigned char (правой кнопкой по BYTE тыкни и там выбери Goto declaration)
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |