F
Fixxxer
Люди помогите. Написал прогу которая ститывает с com порта, а она вместо символов которые ей посылаешь, выдает какую-то абракадабру. Если есть у кого-нибудь готовый рабочий листинг чтения с порта, пожалуйста выложите его, а то сроки горят и я уже запарился с этим портами. Только пожалуйста не надо ссылок на документацию или типа того "поищи, эта тема уже поднималась". По этому вопросу уже весь инет излазил и ничего нет. Я пишу на С++ Builder. На всякий случай даю свой листинг, может чего подскажите:
DCB dcb;
COMMTIMEOUTS ct;
HANDLE port;
DWORD mask;
DWORD bc;
char buf[101];
dcb.DCBlength=sizeof(DCB);
BuildCommDCB("baud=9600 parity=N data=8 stop=1",&dcB);
dcb.fNull=TRUE;
ct.ReadIntervalTimeout=10;
ct.ReadTotalTimeoutMultiplier=ct.ReadTotalTimeoutConstant=0;
ct.WriteTotalTimeoutMultiplier=ct.WriteTotalTimeoutConstant=0;
port=CreateFile("COM2",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
SetCommState(port,&dcB);
SetCommTimeouts(port,&ct);
PurgeComm(port,PURGE_RXCLEAR);
SetCommMask(port,EV_RXCHAR);
WaitCommEvent(port,&mask,NULL);
ReadFile(port,buf,100,&bc,NULL);
CloseHandle(port);
DCB dcb;
COMMTIMEOUTS ct;
HANDLE port;
DWORD mask;
DWORD bc;
char buf[101];
dcb.DCBlength=sizeof(DCB);
BuildCommDCB("baud=9600 parity=N data=8 stop=1",&dcB);
dcb.fNull=TRUE;
ct.ReadIntervalTimeout=10;
ct.ReadTotalTimeoutMultiplier=ct.ReadTotalTimeoutConstant=0;
ct.WriteTotalTimeoutMultiplier=ct.WriteTotalTimeoutConstant=0;
port=CreateFile("COM2",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
SetCommState(port,&dcB);
SetCommTimeouts(port,&ct);
PurgeComm(port,PURGE_RXCLEAR);
SetCommMask(port,EV_RXCHAR);
WaitCommEvent(port,&mask,NULL);
ReadFile(port,buf,100,&bc,NULL);
CloseHandle(port);