ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 ноября
216807 Топик полностью
H7H2V (20.10.2010 10:49, просмотров: 103) ответил Shura на Фигня какая-то. А с другим софтом?
Если после загрузки компа запускать Сomspy, то байты передаются с ошибками. Если сначала запустить ComPortToolkit, что-нибудь через него отослать, а потом запускать Сomspy, то всё передается правильно. Может ли чего-то донастраивать в порте? Это мой код настройки void __fastcall TForm1::Button1Click(TObject *Sender) { hComm=CreateFile(PortName,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,0); if(hComm==INVALID_HANDLE_VALUE) { ShowMessage("Ошибка открытия порта."); Application->Terminate(); } if(!SetupComm(hComm,InBufSize,OutBufSize)) { ShowMessage("Ошибка открытия порта."); Application->Terminate(); } if(!GetCommState(hComm,&Dcb)) { ShowMessage("Ошибка открытия порта."); Application->Terminate(); } Dcb.BaudRate=Baudrate; Dcb.Parity=Parity; Dcb.StopBits=Stopbits; Dcb.fRtsControl = RTS_CONTROL_ENABLE ; // Dcb.fRtsControl = RTS_CONTROL_TOGGLE ; if(!SetCommState(hComm,&Dcb)) { ShowMessage("Ошибка инициализации порта."); Application->Terminate(); } if(!GetCommTimeouts(hComm,&CommTimeouts)) { ShowMessage("Ошибка инициализации порта."); Application->Terminate(); } CommTimeouts.ReadIntervalTimeout = 0; CommTimeouts.ReadTotalTimeoutMultiplier = 0; CommTimeouts.ReadTotalTimeoutConstant = 0; CommTimeouts.WriteTotalTimeoutMultiplier = 0; CommTimeouts.WriteTotalTimeoutConstant = 0; if(!SetCommTimeouts(hComm,&CommTimeouts)) { ShowMessage("Ошибка инициализации порта."); Application->Terminate(); } }