Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++] thread+timer 29.11.01 22:16
Автор: sos Статус: Незарегистрированный пользователь
|
Нестандартная плата на ISA. беэ PNP. надо опрашивать ее с периодичностью 128 раз в секунду чтобы успеть выловить знак
драйвер есть. как запустить бесконечный ( со старт стоп) tread c заданной периодичностью и главное как остановить его. примеры
есть - но они ждут события в виде прерывания от порта - а у меня его нет?
|
|
[C++] thread+timer 29.11.01 23:49
Автор: ggg <ggg> Статус: Elderman
|
> Нестандартная плата на ISA. беэ PNP. надо опрашивать ее с > периодичностью 128 раз в секунду чтобы успеть выловить знак > драйвер есть. как запустить бесконечный ( со старт стоп) > tread c заданной периодичностью и главное как остановить > его. примеры > есть - но они ждут события в виде прерывания от порта - а у > меня его нет?
thread где ?
в драйвере или в приложении ?
если в драйвере, то для какой винды ?
общая схема такая (конкретные функции зависят от типа проги) :
volatile bool timeToDie = false;
main
{
...
timeToDie = false;
createthread(threadproc)
...
timeToDie = true;
}
threadproc()
{
for(;;)
{
if(timeToDie) break;
unsigned char byte;
_asm
{
in al, portnum
mov byte, al
}
...
};
}
|
| |
[C++] thread+timer 30.11.01 01:10
Автор: sos Статус: Незарегистрированный пользователь
|
thread в приложении. (nt)...DeviceIoControl... CreateFile... и так далее
открывается порт считывается байт ... модифицируется...
то есть приложение уже получает число( знак или пробел).все это сидит
в массиве и этот массив надо вывести на экран. на экране вижу 0xFF из
порта. в Task Manadger видно Running. но попытка остановить приводит
к зависанию приложения помогает только EndTask
правда у меня WaitForSingleObject(pThis->m_Start,8). может добавить и ожидание Quit? тогда создавать массив событий - морока...
сейчас попробую volitale. вдруг поможет
спасибо за совет
забыл - vc6. и попытка испльзовать mfc
|
| |
забыл... 29.11.01 23:50
Автор: ggg <ggg> Статус: Elderman
|
там в цикле ещё Sleep(1000/128) нужно поставить
|
|
|