|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.07.2013, 18:37 | #1 |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
Работа с USB модемом через COM порт
Здравствуйте!
Есть у меня USB модем и я хочу управлять им из программы (отправлять СМС). В сети видел товарищей, которые делали что-то подобное. Третий день пытаюсь, но ничего не получается. Модем эмулирует COM порт, т.е. задача отсылать AT команды через него. Скачал программу HyperTerminal, через него без проблем отсылаются команды и возвращаются ответы, успешна и отправка СМС. В общем, может у кого есть какой опыт, помогите пожалуйста понять что не так делаю. В коде ниже я отсылаю команду модему и расчитываю получить ответ от него, но намертво зависаю в WaitCommEvent() Код:
|
09.07.2013, 19:02 | #2 |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
Наверное стоит уточнить - модем имеет сим-карту.
|
09.07.2013, 19:33 | #3 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
"AT+CFUN=1" - зачем вы вообще ее используете в данном случае? Она предназначена для включения отдельных моделей телефонов, иногда для перезапуска модемов (причем процесс длительный). Для работы с SMS сообщениями она не используется.
Рекомендую ознакомиться с 'AT Commands Interface Guide. - Wavecom', очень все доходчиво расписано.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
09.07.2013, 19:43 | #4 |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
Спасибо за ссылку, обязательно ознакомлюсь, если получится законектится.
И еще вопрос: настройки в диспетчере устройство это что? Был случай – запросил настройки порта через GetCommState() и они отличались от тех, которые показываются в диспетчере устройств. Почему HyperTerminal нормально работает с модемом при разных скоростях, например 1200 и 9600 бод? COM очень требователен к синхронности приемника и источника !? |
09.07.2013, 19:46 | #5 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Я бы начал с того, что сделал бы ReadIntervalTimeout = 0
|
09.07.2013, 19:57 | #6 |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
Вроде все по msdn'у http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
COMMTIMEOUTS заполнена так для возрата ReadFile() немедленно, даже если не прочитано ничего (в синхронном режиме). |
09.07.2013, 20:09 | #7 | |||
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
Цитата:
Цитата:
Цитата:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
|||
09.07.2013, 20:38 | #8 | |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
Цитата:
Код:
Т.е. я модему отослал (я так думаю), а он в обратку мне ничего не отправляет. WaitCommEvent должна вернуть управление, когда во входном буфере появится что-то или произойдет ошибка, управление не возвращается - буфер пуст (это моя логика). Последний раз редактировалось 220Volt; 09.07.2013 в 20:41. |
|
09.07.2013, 20:46 | #9 |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
Я встретил это http://www.absolutebsd.ru/2011/01/zte-mf180-sms.html
|
09.07.2013, 23:03 | #10 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
A еще я бы попробовал \r вместо \n
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подключение миши через USB порт | tito0000 | Общие вопросы C/C++ | 3 | 01.05.2013 09:54 |
удаленный доступ к USB модемам (Ноутбук с подключенным Билайн модемом, осуществить коннект к нему через Ha admin) | ArtemSakh | Компьютерное железо | 8 | 18.01.2013 10:03 |
Работа с прибором через COM порт | russervik | C# (си шарп) | 7 | 17.10.2012 09:25 |
Создание программы передавача данных через USB порт | edmore | Помощь студентам | 4 | 10.11.2011 13:30 |
Как можно обратиться к устройству, которое подключено через USB порт | Mikhail Bakurov | Общие вопросы Delphi | 8 | 17.11.2008 20:42 |