Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2009, 12:55   #1
Georgios
Пользователь
 
Аватар для Georgios
 
Регистрация: 18.01.2009
Сообщений: 57
Восклицание Работа с внешними устройствами через COM порт

Помогите пожалуйста!!!

Мне необходимо связаться с внешним устройством через последовательный КОМ-порт.

В руководстве написано:
"Для получения данных необходимо передать командную посылку с адресом данного прибора.

Для передачи используется:
*фиксированная скорость 9600 (это понятно)
*11-битовый формат передачи байта, который включает:
- старт-бит
- 8 бит данных
- бит паритета
- стоп-бит"

Подскажите, как мне отправить эту команду, если адрес прибора равен 1
Georgios вне форума Ответить с цитированием
Старый 10.02.2009, 13:00   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Ну тут куча примеров как посылать в порт через CreateFile-Write

Вот хотя бы сдесь:http://programmersforum.ru/showthrea...light=Com+port
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.02.2009, 14:05   #3
Georgios
Пользователь
 
Аватар для Georgios
 
Регистрация: 18.01.2009
Сообщений: 57
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну тут куча примеров как посылать в порт через CreateFile-Write
Stilet, про то как отправлять и получать данные я в курсе. Помоги мне "расшифровать" то, что написано в моем письме в кавычках. PLS
Georgios вне форума Ответить с цитированием
Старый 10.02.2009, 14:34   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

А вы готовый компонент используете если да то с войствах иукажите всё то что написали выше (старт стоп паритет скорость). А на счёт передачи команды посложнее нужн знать её формат. считается ли CRC,
SERG1980 вне форума Ответить с цитированием
Старый 10.02.2009, 15:53   #5
Georgios
Пользователь
 
Аватар для Georgios
 
Регистрация: 18.01.2009
Сообщений: 57
По умолчанию

Цитата:
Сообщение от SERG1980 Посмотреть сообщение
А вы готовый компонент используете если да то с войствах иукажите всё то что написали выше (старт стоп паритет скорость). А на счёт передачи команды посложнее нужн знать её формат. считается ли CRC,
Да, CRC считается, но нет готового компонента, пишу сам. Я немного недопонимаю, что означает 11-битовый формат передачи байта (известно, что байт - это 8 бит). В описании есть даже процедура подсчета CRC.

Есть еще какие-нибудь советы?
Georgios вне форума Ответить с цитированием
Старый 10.02.2009, 17:01   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Есть. Не изобретать велосипед, а скачать, например ComDrv32.
mihali4 вне форума Ответить с цитированием
Старый 11.02.2009, 08:10   #7
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

11 бит данных это может быть 8 бит данных + 1 стартовый бит+ 2 стоповых бита либо 1 стоповый + бит паритета
А компонент если хотите попробуйте СportLib
Вложения
Тип файла: zip cport-3.10.zip (427.5 Кб, 54 просмотров)
SERG1980 вне форума Ответить с цитированием
Старый 11.02.2009, 11:03   #8
Georgios
Пользователь
 
Аватар для Georgios
 
Регистрация: 18.01.2009
Сообщений: 57
По умолчанию

Цитата:
Сообщение от SERG1980 Посмотреть сообщение
11 бит данных это может быть 8 бит данных + 1 стартовый бит+ 2 стоповых бита либо 1 стоповый + бит паритета
А компонент если хотите попробуйте СportLib
да-да, так оно и есть... (про4итай мое первое письмо) Это озна4ает, 4то надо выставить в настройках порта 11 бит данных? Но нет же этого...
И как паритетность поставить равное единице?
Georgios вне форума Ответить с цитированием
Старый 11.02.2009, 13:19   #9
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Этот компонент который я прикрепил позволяет всё это настроить. А бит паритета не устанавливается в единицу его либо нет либо ставят для проверки на чётность или нечётность
Если применяется контроль четности (паритета), то после посылки бит данных (перед стоп-битом) передается контрольный бит. Этот бит дополняет количество единичных бит данных до четного или нечетного в зависимости от протокола. Прием байта с неверным значением контрольного бита при включенном контроле паритета приводит к фиксации ошибки принятых данных.
SERG1980 вне форума Ответить с цитированием
Старый 11.02.2009, 14:42   #10
Georgios
Пользователь
 
Аватар для Georgios
 
Регистрация: 18.01.2009
Сообщений: 57
По умолчанию SERG1980 вот описание

Здесь все то, 4то написано в мануале...
Вложения
Тип файла: doc РЕАЛИЗАЦИЯ ЦИФРОВОГО ВЫВОДА.doc (24.0 Кб, 55 просмотров)
Georgios вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Может ли Excel, управлять внешними устройствами valerij Microsoft Office Excel 5 28.01.2009 06:42
Работа с внешними данными Askar_g Общие вопросы Delphi 1 26.12.2008 10:36
обновление в блоге - Работа с устройствами в Windows Pblog Обсуждение статей 0 03.06.2008 12:30
Подключиться через опрелённый порт SANYO_K Работа с сетью в Delphi 1 27.02.2008 20:56
Открыть порт для подключения через proxy Progs Работа с сетью в Delphi 18 05.07.2007 11:13