Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

в чем проблема не пойму, стандартно ведь всё

Отправлено колян безпарольный 08 октября 2007 г. 20:42
В ответ на: Так всё-таки, как же открыть и прочитать с ком-порта (с++) отправлено <font color=gray>ауооэы</font> 08 октября 2007 г. 20:25

открываеш порт
hPort=CreateFile("COM1",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
изменяеш как тебе надо параметры связи
GetCommState(hPort,&dcb);
dcb.ByteSize=8; // number of bits/byte, 4-8
dcb.StopBits=2; // 0,1,2 = 1, 1.5, 2
dcb.Parity=MARKPARITY; // 0-4=no,odd,even,mark,space
dcb.BaudRate=PortSpeed;
SetCommState(hPort,&dcb);

Очишаеш буфер
PurgeComm(hPort,PURGE_TXCLEAR|PURGE_TXABORT);

Устанавливаеш параметры ожидания
COMMTIMEOUTS ct;
ct.ReadIntervalTimeout=Timeout;
ct.ReadTotalTimeoutMultiplier=Timeout;
ct.ReadTotalTimeoutConstant=0;
ct.WriteTotalTimeoutMultiplier=ct.WriteTotalTimeoutConstant=0;
SetCommTimeouts(hPort,&ct);

И тупо читаещ

a=ReadFile(hPort,&Buf[0],1,&bc,NULL);
return((a<<8)+Buf[0]);




Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
вычтите из двух единицу:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru