![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| tokaplan23 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 1.5.2003 Репутация: нет Всего: нет |
Как послать модему AT-команду?
|
|||
|
||||
| sLim |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 15.2.2003 Репутация: нет Всего: нет |
1. Открываешь порт (на котором висит модем) с помощью CreateFile("COM2",...);
2. Пишешь команды: WriteFile("ATDP643333",...); 3. Закрываешь: CloseHandle(...); P.S. Ты не сможешь писать команды в порт, когда уже подключился через этот модем к интернету с помощью другого приложения. |
|||
|
||||
| tokaplan23 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 1.5.2003 Репутация: нет Всего: нет |
Правильно я понял, что пока не вызовешь CloseHandle() команда не будет выполнена? А то я пишу WriteFile(...), а ничего не происходит. И как открывать порт - с флагом FILE_FLAG_OVERLAPPED или без него? Ведь от этого зависят аргументы WriteFile(), или как?
Это сообщение отредактировал(а) tokaplan23 - 2.5.2003, 23:25 |
|||
|
||||
| HexoGenus |
|
|||
![]() Шустрый ![]() Профиль Группа: Экс. модератор Сообщений: 110 Регистрация: 28.8.2002 Где: Ростов-на-Дону Репутация: нет Всего: нет |
HANDLE hCOM=CreateFile("COM1",GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if (hCOM!=INVALID_HANDLE_VALUE) { char a=10; char b=13; String c="ATDP23927"+String(char(10))+String(char(13)); DWORD nb; OVERLAPPED ov; WriteFile(hCOM,c.c_str(),c.Length(),&nb,&ov); CloseHandle(hCOM); } Кстати напомните мне плиз, как 10 и 13 символы прибавить более грамотно... а то моя старая тетрадь из РГУ куда-то завалилась Это сообщение отредактировал(а) HexoGenus - 3.5.2003, 00:35 --------------------
Когда невозможно уже работать напряженнее, начни работать умнее. |
|||
|
||||
| tokaplan23 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 1.5.2003 Репутация: нет Всего: нет |
Спасибо, HexoGenus, кажется, врубился. То есть подключиться я могу. А как данными - то обмениваться? AT-комманды ведь к этому отношения не имеют?
|
|||
|
||||
| sLim |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 15.2.2003 Репутация: нет Всего: нет |
2tokaplan23: Когда ты подключишся к другому модему ("ATDP643333\r\n"), модем автоматом перейдет в режим передачи данных. Выйти из этого режима можно выдавая команду '+++'.
|
|||
|
||||
| HexoGenus |
|
|||
![]() Шустрый ![]() Профиль Группа: Экс. модератор Сообщений: 110 Регистрация: 28.8.2002 Где: Ростов-на-Дону Репутация: нет Всего: нет |
Кстати говоря второй модем нужно AT командой перевести в режим ожидания звонка(автоответа) ... тогда он сам снимет трубку и начнет принимать инфу...
--------------------
Когда невозможно уже работать напряженнее, начни работать умнее. |
|||
|
||||
| sLim |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 15.2.2003 Репутация: нет Всего: нет |
Если надо, могу кинуть на e-mail исходник простенькой модемной консольки... ;)
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |