|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.08.2013, 13:03 | #1 |
Пользователь
Регистрация: 25.08.2013
Сообщений: 46
|
[?]Cport 3.1 и COM порты в общем
Всем привет.Краткая предистория.Программированием занимался года 4 назад,но очень активно.Сейчас потребовалось написать софтинку для работы с AT командами.С COM портами никогда до этого не работал.Прочитал уйму материала по работе с COM портами,но к сожалению большинство из них написаны под WinAPI.Писать на WinAPI совсем не хочется,так как предстоит очень большой проэкт(по моим меркам) и тогда получу тонну кода...Я был бы крайне признателен за простенький пример.Открыть com порт под номером N,выставить все требующиеся минимальные настройки(какие?),записать в него строку "AT",считать ответ и записать его в текстовый фаил.Мой вариант,увы,не заработал.Вот пример:
Код:
|
25.08.2013, 13:18 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
25.08.2013, 13:25 | #3 |
Пользователь
Регистрация: 25.08.2013
Сообщений: 46
|
Компилируется все без ошибок.А вот текстовый фаил не создается.Сам компонент поставил прямо,так как при помощи него удалось записать в фаил список com портов.Здесь конечно может быть проблема с AT командой,но скорее всего я либо не правильно работаю с портом,либо накосячил с данными.
|
25.08.2013, 13:44 | #4 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,881
|
Во-первых почему ComPort1:TCustomComPort, а не ComPort1:TComPort?
Во-вторых где его создание типа Код:
|
25.08.2013, 14:17 | #5 | |
Пользователь
Регистрация: 25.08.2013
Сообщений: 46
|
Цитата:
Код:
|
|
25.08.2013, 15:15 | #6 | |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
1- если шлете строку, то и заканчивать ее нужно +#$D#$A
2- просто слать AT нельзя, это префикс-начало, слали б уже 'AT?' для проверки поддержки AT модемом 3- кто ж сразу после записи читает без ожидания? Модем не обязан мгновенно отрабатывать команды. Читайте в потоке постоянно, если не умеете работать с событиями приема обертки TComPort, а ведь на него есть справка. Да даже без справки можно было б полюбопытствовать событиями обертки и ее генофонда. Цитата:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
|
25.08.2013, 16:18 | #7 | |
Пользователь
Регистрация: 25.08.2013
Сообщений: 46
|
Цитата:
Комментарий по второму пункту.В устройстве не стандартные AT команды и как следствие - другой синтаксис.К примеру,AT? машина не воспринимает,зато просто AT кушает на ура. По третьему пункту.Полностью согласен про алгоритм запись/чтения.Просто я думал,что установка таймаутов решает эту проблему.Если это не так,то не могли бы Вы привести пример.Прокоментирую справку.Я не программил уже около 4х лет и все приходится заново вспоминать,по этому той узконаправленной справка,которая прилагается для меня не достаточно.Вроде разобрался.Проблема была в конструкторе(нужно было в качестве параметра задать нулевой указатель). Еще вопрос.Корректно-ли такой конструкцией проверять открыт-ли порт? Код:
|
|
25.08.2013, 17:04 | #8 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
13 это код клавиши энтер (перевод каретки в начало строки), а 10 это кажись код перехода на новую строку.
I'm learning to live...
|
|
25.08.2013, 19:26 | #10 | |||||
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
Цитата:
Да, для терминалов разных производителей AT-команды могут отличаться, но стандарт един. Вы гипертерминалом пробовали работать со своим устройством, отвечает на команды? Так если отвечает, обратите внимание на то, как вы отсылаете свои команды и чем завершаете. Это уже ответил Stilet. Цитата:
Цитата:
Цитата:
Цитата:
http://programmersforum.ru/showpost....40&postcount=9 http://programmersforum.ru/showthread.php?t=108961 http://programmersforum.ru/showthread.php?t=87672
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
|||||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как работать с компонентом CPort | Yrok | Компоненты Delphi | 27 | 27.06.2012 10:02 |
Перевод в постфиксную форму в общем случае. | Lasur | Помощь студентам | 1 | 17.03.2012 09:16 |
Компонент CPort ? | z-wer | Компоненты Delphi | 1 | 29.06.2011 08:51 |
Автосохранение книги в общем доступе | Chelentano | Microsoft Office Excel | 0 | 25.08.2009 13:10 |