这篇教程C++ BuildCommDCB函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中BuildCommDCB函数的典型用法代码示例。如果您正苦于以下问题:C++ BuildCommDCB函数的具体用法?C++ BuildCommDCB怎么用?C++ BuildCommDCB使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了BuildCommDCB函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: GetIniCommValuesBOOLGetIniCommValues( _In_ LPWSTR pName, LPDCB pdcb, LPCOMMTIMEOUTS pcto){ BOOL bRet = TRUE; LPWSTR pszEntry = NULL; if (bRet) { bRet = GetIniCommValuesFromRegistry (pName, &pszEntry); } if (bRet) { bRet = BuildCommDCB (pszEntry, pdcb); } if (bRet) { GetTransmissionRetryTimeoutFromRegistry (&pcto-> WriteTotalTimeoutConstant); pcto->WriteTotalTimeoutConstant*=1000; } FreeSplMem(pszEntry); return bRet;}
开发者ID:Realhram,项目名称:wdk81,代码行数:27,
示例2: serial_io_init/** @fn int serial_io_init( const char* port, const char* strsettings )****************************************************************************** @b Description: initialise a serial port communication****************************************************************************** @param port : port name* example 'COM7'* @param strsettings : port settings* example ; 'baud=115200 parity=N data=8 stop=1'****************************************************************************** @return file descriptor* -1 if error*******************************************************************************/int serial_io_init( const char* port, const char* strsettings ){ HANDLE hCom = NULL; char strport[16]; snprintf( strport, sizeof( strport ), "////.//%s", port ); hCom = CreateFile( strport, GENERIC_WRITE | GENERIC_READ, 0, 0, OPEN_EXISTING, 0, NULL); if (hCom == INVALID_HANDLE_VALUE) { LPVOID lpMsgBuf; FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language (LPTSTR) &lpMsgBuf, 0, NULL ); dbg(1, "return (fd) : '-1' : serial_io_init error : '%s'/n", lpMsgBuf); LocalFree( lpMsgBuf ); // Free the buffer. return -1; } DCB dcb; ZeroMemory(&dcb, sizeof(DCB)); GetCommState(hCom, &dcb); BuildCommDCB( strsettings, &dcb); SetupComm(hCom, 4096, 4096); SetCommState(hCom, &dcb); COMMTIMEOUTS sCT; memset(&sCT, 0, sizeof(sCT)); sCT.ReadTotalTimeoutConstant = 10; SetCommTimeouts(hCom, &sCT); dbg(1, "serial_io_init return (fd) : '%d'/n", (int)hCom); return (int)hCom;}
开发者ID:justinzane,项目名称:navit,代码行数:73,
示例3: setRs232/*-------------------------------------------| Name:setRs2322| Description:| Parameters:| Return Type:| Comments:| See:---------------------------------------------*/int setRs232(uart_config* config){ COMMCONFIG commconfig; DWORD dwSize=sizeof(COMMCONFIG); char buffer[256]={0}; sprintf(buffer,"%s: baud=%d parity=%c data=%d stop=%d",USE_COM, config->speed, config->parity, config->data, config->stop); if(!GetCommConfig(hCom,&commconfig,&dwSize)) return -1; BuildCommDCB(buffer,&commconfig.dcb); //CommConfigDialog(USE_COM,NULL,&commconfig); if(!SetCommConfig(hCom,&commconfig,dwSize)) return -1; printf("com cfg: %s/n",buffer); memcpy(¤t_config,config,sizeof(uart_config)); return 0;}
开发者ID:lepton-distribution,项目名称:lepton-root.scions,代码行数:35,
示例4: zBuildCommDCBint far pascal zBuildCommDCB( LPCSTR pp1, DCB far* pp2 ){ int r; SaveRegs(); /* ** Log IN Parameters (No Create/Destroy Checking Yet!) */ LogIn( (LPSTR)"APICALL:BuildCommDCB ++", (short)0, (short)0 ); /* ** Call the API! */ RestoreRegs(); GrovelDS(); r = BuildCommDCB(pp1,pp2); UnGrovelDS(); SaveRegs(); /* ** Log Return Code & OUT Parameters (No Create/Destroy Checking Yet!) */ LogOut( (LPSTR)"APIRET:BuildCommDCB int+LPCSTR+DCB far*+", r, pp1, pp2 ); RestoreRegs(); return( r );}
开发者ID:mingpen,项目名称:OpenNT,代码行数:28,
示例5: initSerial/** * @brief This function initializes the serial port for both directions (reading/writing) with fixed parameters: * /n baud=38400, parity=N, data=8, stop=1 * @param *serialPort is a pointer to the name of the serial port * @return TRUE if success, FALSE in case of error. */BOOL initSerial(CHAR *serialPort){ COMMTIMEOUTS timeouts; int rc; DCB dcbStruct; CHAR msgTextBuf[256]; // open the comm port. comPort = CreateFile(serialPort, GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, NULL); if (comPort == INVALID_HANDLE_VALUE) { printf("Unable to open %s. /n", serialPort); return FALSE; } // get the current DCB, and adjust a few bits to our liking. memset(&dcbStruct, 0, sizeof(dcbStruct)); dcbStruct.DCBlength = sizeof(dcbStruct); // printf("dcbStruct.DCBlength(): %ld /n", dcbStruct.DCBlength); rc = GetCommState(comPort, &dcbStruct); if (rc == 0) { printf("/nGetCommState(): "); printf(getLastErrorText(msgTextBuf, sizeof(msgTextBuf))); return FALSE; } // http://msdn.microsoft.com/en-us/library/windows/desktop/aa363143(v=vs.85).aspx BuildCommDCB("baud=38400 parity=N data=8 stop=1", &dcbStruct); rc = SetCommState(comPort, &dcbStruct); // If the function fails, the return value is zero. if (rc == 0) { printf("/nSetCommState(): "); printf(getLastErrorText(msgTextBuf, sizeof(msgTextBuf))); return FALSE; } // Retrieve the timeout parameters for all read and write operations on the port. GetCommTimeouts (comPort, &timeouts); timeouts.ReadIntervalTimeout = 250; timeouts.ReadTotalTimeoutMultiplier = 1; timeouts.ReadTotalTimeoutConstant = 500; timeouts.WriteTotalTimeoutMultiplier = 1; timeouts.WriteTotalTimeoutConstant = 2500; rc = SetCommTimeouts(comPort, &timeouts); // If the function fails, the return value is zero. if (rc == 0) { printf("/nSetCommTimeouts(): "); printf(getLastErrorText(msgTextBuf, sizeof(msgTextBuf))); return FALSE; } return TRUE;}
开发者ID:pszyjaciel,项目名称:myEthernut,代码行数:66,
示例6: CreateFilestatic SERIALPORT *serial_open(const char *device){ HANDLE fh; DCB dcb={sizeof(DCB)}; COMMTIMEOUTS timeouts; SERIALPORT *port; fh = CreateFile(device,GENERIC_READ|GENERIC_WRITE,0,NULL, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); if (!fh) return NULL; port = malloc(sizeof(SERIALPORT)); ZeroMemory(port, sizeof(SERIALPORT)); port->fh = fh; /* save current port settings */ GetCommState(fh,&port->dcb_save); GetCommTimeouts(fh,&port->timeouts_save); dcb.DCBlength=sizeof(DCB); BuildCommDCB("96,n,8,1",&dcb); SetCommState(fh,&dcb); ZeroMemory(&timeouts,sizeof(timeouts)); timeouts.ReadTotalTimeoutConstant=1; timeouts.WriteTotalTimeoutConstant=1; SetCommTimeouts(fh,&timeouts); serial_flush(port); return port;}
开发者ID:meshdgp,项目名称:MeshDGP,代码行数:31,
示例7: sconfig// configure serial portbool sconfig(char* fmt) { DCB dcb; COMMTIMEOUTS cmt; // clear dcb memset(&dcb,0,sizeof(DCB)); dcb.DCBlength=sizeof(DCB); // configure serial parameters if(!BuildCommDCB(fmt,&dcb)) return false; dcb.fOutxCtsFlow=0; dcb.fOutxDsrFlow=0; dcb.fDtrControl=0; dcb.fOutX=0; dcb.fInX=0; dcb.fRtsControl=0; if(!SetCommState(h_serial,&dcb)) return false; // configure buffers if(!SetupComm(h_serial,1024,1024)) return false; // configure timeouts GetCommTimeouts(h_serial,&cmt); memcpy(&restore,&cmt,sizeof(cmt)); cmt.ReadIntervalTimeout=100; cmt.ReadTotalTimeoutMultiplier=100; cmt.ReadTotalTimeoutConstant=100; cmt.WriteTotalTimeoutConstant=100; cmt.WriteTotalTimeoutMultiplier=100; if(!SetCommTimeouts(h_serial,&cmt)) return false; return true;}
开发者ID:stg,项目名称:PicOptic,代码行数:29,
示例8: Open bool Open(qCtx *ctx, qStr *out, CStr port, CStr dcb_def) { DCB dcb; HANDLE tCom; tCom = CreateFile( port, GENERIC_READ | GENERIC_WRITE, 0, // comm devices must be opened w/exclusive-access NULL, // no security attributes OPEN_EXISTING, // comm devices must use OPEN_EXISTING 0, // not overlapped I/O NULL // hTemplate must be NULL for comm devices ); if (tCom == INVALID_HANDLE_VALUE) { ctx->ThrowF(out, 601, "Invalid comm port. %y", GetLastError()); return false; } GetCommState(tCom, &dcb); if (!dcb_def.IsEmpty() && (!BuildCommDCB(dcb_def, &dcb) || !SetCommState(tCom, &dcb)) ) { ctx->ThrowF(out, 602, "Invalid comm definition parameter(s). %y", GetLastError()); return false; } myCom = tCom; return true; }
开发者ID:BackupTheBerlios,项目名称:smx-svn,代码行数:29,
示例9: serial_params// configures port from string of format// baudrate,parity,databits,stopbits// example// 9600,n,8,1int serial_params( char* params ) { DCB dcb; COMMTIMEOUTS cmt; memset( &dcb, 0, sizeof( DCB ) ); dcb.DCBlength = sizeof( DCB ); // Configure serial parameters //printf( "BuildCommDCB/n" ); if( !BuildCommDCB( params, &dcb ) ) return( -1 ); //printf( "SetCommState/n" ); dcb.fOutxCtsFlow = 0; dcb.fOutxDsrFlow = 0; dcb.fDtrControl = 0; dcb.fOutX = 0; dcb.fInX = 0; dcb.fRtsControl = 0; if( !SetCommState( h_serial, &dcb ) ) return( -1 ); // Configure buffers //printf( "SetupComm/n" ); if( !SetupComm( h_serial, 1024, 1024) ) return( -1 ); // Configure timeouts cmt.ReadIntervalTimeout = 1000; cmt.ReadTotalTimeoutMultiplier = 1000; cmt.ReadTotalTimeoutConstant = 1000; cmt.WriteTotalTimeoutConstant = 1000; cmt.WriteTotalTimeoutMultiplier = 1000; if( !SetCommTimeouts( h_serial, &cmt ) ) return( -1 ); return( 0 );}
开发者ID:MITRoboOps,项目名称:2014Software,代码行数:38,
示例10: CreateFilebool CSerialPort::Open( LPCTSTR lpszComPort,LPCTSTR lpszConString ,int delay_us){ CString sPort; sPort.Format(_T("////.//%s"), lpszComPort); m_hComm = CreateFile(sPort, GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING,0,0); if (m_hComm == INVALID_HANDLE_VALUE) { CString str; GetErrorStr(str); LogMessage(str); return false; } Delay_US = delay_us; // Set Com Settings DCB dcb; FillMemory(&dcb, sizeof(dcb), 0); dcb.DCBlength = sizeof(dcb); if (!BuildCommDCB(lpszConString, &dcb)) { // Couldn't build the DCB. Usually a problem // with the communications specification string. CString str; GetErrorStr(str); LogMessage(str); LogMessage("Seri Port Hatas C++ BuildCreateUpdateBlockForPlayer函数代码示例 C++ Build函数代码示例
|