Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Хмм...
Отправлено
Xan 15 февраля 2009 г. 20:48
В ответ на:
Ответ: отправлено пользователем
уфо 15 февраля 2009 г. 20:32
У меня вот так:
CommTimeOuts[0] = MAXDWORD; // ReadIntervalTimeout
CommTimeOuts[1] = 0; // ReadTotalTimeoutMultiplier
CommTimeOuts[2] = 0; // ReadTotalTimeoutConstant
CommTimeOuts[3] = 1; // WriteTotalTimeoutMultiplier
CommTimeOuts[4] = 1; // WriteTotalTimeoutConstant
Но я от двух источников не передавал.
А вот ответы на принятые байты делал, 10...20 мс получалось.
-----
Ну, можно так сделать:
Создать новый тред, поставить ему TimeCritical.
Ну, что-то вроде:
void MyThread(void)
{
SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL);
while (MyThreadFlag == 1)
{
Sleep(10);
if (есть что передавать) WriteFile(...);
}
MyThreadFlag = 0;
ExitThread(0);
}
MyThreadFlag -- чтобы выйти из треда, когда не нужен.
Составить ответ | Вернуться на конференцию.
Ответы