Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как поменять скорость COM порта? [D6, WinXP]


vitnt2000 ©   (2002-09-30 07:36:00) 

Помогите пожалуйста разобраться.
Все делаю по описанию в статьях и помощи:
открываю устройство CreateFile(ComHandle
заполняю dcb структуру dcb.BaudRate=CBR_38400; ...
сохраняю настройки SetCommState(ComHandle,dcb);
программа не выдает ошибок, но настройки порта не меняются.

Запускаю Hiperterminal, настраиваю порт, выхожу - после этого моя программа нормально работает с портом, но после перезагрузки все сбрасываеться.


blackman   (2002-09-30 17:47:00) [1]

procedure TForm1.Button1Click(Sender: TObject);
var
dcb : TDcb; // структура ( виндусовская ) с установками СОМ портов
hCom : THandle; // handler СОМ2
fSuccess : boolean;
dwRead : DWORD;
CharArray : array[0..10] of char; // временный массив данных в оперативной памяти
fileOut : file of char; // файл в который будут писаться данные из СОМ2
i : integer;
begin
hCom := CreateFile(PChar("COM2"),GENERIC_READ,0,nil,OPEN_EXISTING,0,0); //получение
указателя на СОМ2

try


fSuccess:= GetCommState(hCom, dcb); // Получение данных о текущих установках
СОМ2 и заполнение
// структуры dcb

dcb.BaudRate := CBR_38400; // Установка новых параметров
dcb.ByteSize := 8; // для СОМ2, скорость 38400, 8-ми битный обмен,
dcb.Parity := NOPARITY; // нет контроля четности,
dcb.StopBits := ONESTOPBIT; // один стоповый бит

fSuccess := SetCommState(hCom, dcb); // Установка новых параметров для СОМ2

except
ShowMessage("Error");
end;
Проверь....


Наверх

Титульная страница Поиск, карта сайта Написать письмо