Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 3 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 25.11.2005
Откуда: краснодар
сабж. можно ли избавиться от данного явления? практически нагрузка не ощущается(подвисания системы не чувствуется) но интересно почему так грузит. открываю из виндовой программы через функцию createfile.
вот кусочек который открывает порт
Код:
function TForm1.openport(name: string): thandle;
var
 DCB   : TDCB;
 port:thandle;
begin
  Port := CreateFile(PChar(name),
                      GENERIC_READ + GENERIC_WRITE,
                      0, nil,
                      OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
  // 2. Контроль ошибок
  if Port = INVALID_HANDLE_VALUE then begin
   showmessage('port opening error');
   exit;
  end;
  // 3. Чтение текущих настроек порта
  if GetCommState(Port, DCB) then ;
  // 4. Настройки:
  // Скорость обмена
  DCB.BaudRate := CBR_4800;
  // Число бит на символ
  DCB.ByteSize := 8;
  // Стоп-биты
  DCB.StopBits :=OneStopBit;
  // Четность
  DCB.Parity   := NOPARITY;
  DCB.Flags := 20625;
  // 5. Передача настроек
  if not SetCommState(Port, DCB) then {ошибка настройки порта};
  // 6. Настройка буферов порта (очередей ввода и вывода)
  if not SetupComm(Port, 16, 16) then {ошибка настройки буферов};
  //настройка таймаутов чтения и записи
  commtimeouts.ReadIntervalTimeout:=10;
  commtimeouts.ReadTotalTimeoutMultiplier:=2;
  commtimeouts.ReadTotalTimeoutConstant:=8;
  commtimeouts.WriteTotalTimeoutMultiplier:=1;
  commtimeouts.WriteTotalTimeoutConstant:=1;
  setcommtimeouts(port,commtimeouts);
  result:=port;
end;

придумывал не сам, содрал с какого-то сайта(кроме настройки таймаутов)



Партнер
 

Member
Статус: Не в сети
Регистрация: 09.01.2006
Откуда: Moscow
Да вроде такого быть не должно. Ни разу не наблюдалось.
После выполнения какой именно функции из этого кода загрузка 100%?..

Что такое DCB.Flags? Это не из API.


 

Member
Статус: Не в сети
Регистрация: 25.11.2005
Откуда: краснодар
даже если закомментировать все кроме
Port := CreateFile(PChar(name),
GENERIC_READ + GENERIC_WRITE,
0, nil,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
то после выполнения загрузка все равно 100%

_________________
зри в корень(с) Козьма Прутков


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 3 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan