Сервис для COM портов на VC++
От: ILIA_M  
Дата: 14.03.05 15:09
Оценка:
Всем доброго времени суток.
Обращаюсь с такой проблеммой.
Мне необходимо написать сервис для работы с COM портами (читать с первого, записывать во второй, всю инфу от первого сохранять в файл). На данный момент у меня есть готовый пустой сервис, но так как столкнулся с ними недавно и большого опыта нет (можно сказать ни какого нет ) не получается наполнить его функциональностью. Уже облазил весь Gooooogle, ничего не нашел, искал поиском здесь — результат тотже . Неужели никто не сталкивался с такой задачей? Если у кого-нибудь возникнет желание помочь в данном вопросе, буду рад любой инфе (ссылки, советы и т.д. и т.п.).
Всем заранее спасибо!
С уважением ILIA.

14.03.05 20:09: Перенесено модератором из 'C/C++' — Павел Кузнецов
Re: Сервис для COM портов на VC++
От: zelyony  
Дата: 14.03.05 16:25
Оценка:
HANDLE com1 = CreateFile( "COM1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
// проверка результата (дальше тоже проверяем, но я пропущу)

// ставим нужные тебе таймауты
// в данном случае ждать пока не придёт хотя бы один байт (или еррор)
COMMTIMEOUTS timeouts = { 0 };
SetCommTimeouts( com1, &timeouts);

// устанавливаем параметры из строки (часто так проще)
DCB dcb = { sizeof(DCB) };
// сначала считаем и заполним структуру тем, что мы менять не собираемся
GetCommState( com1, &dcb);
BuildCommDCB( "baud=9600 parity=N data=8 stop=1", &dcb);
// dcb.fRtsControl = RTS_CONTROL_ENABLE; ??? может надо, может нет
SetCommState( com1, &dcb);

// очищаем всякие буферы (лишнее, но, как говорится, не повредит)
PurgeComm( com1, PURGE_RXCLEAR | PURGE_TXCLEAR | PURGE_RXABORT | PURGE_TXABORT);

так же с СОМ2
и работаешь с ними через WriteFile, ReadFile
Posted via RSDN NNTP Server 1.9
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.