Äúµ±Ç°µÄλÖãºÊ×Ò³ > IT±à³Ì > C++
| CÓïÑÔ | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | ѧÊõÓë´úÂë | cnn¾í»ýÉñ¾­ÍøÂç | gnn | ͼÏñÐÞ¸´ | Keras | Êý¾Ý¼¯ | Neo4j | ×ÔÈ»ÓïÑÔ´¦Àí | Éî¶Èѧϰ | ҽѧCAD | ҽѧӰÏñ | ³¬²ÎÊý | pointnet | pytorch | Òì³£¼ì²â | Transformers | Çé¸Ð·ÖÀà | ֪ʶͼÆ× |

×Ôѧ½Ì³Ì£ºC++ EscapeCommFunctionº¯Êý´úÂëʾÀý

51×ÔÑ§Íø 2021-06-01 20:39:08
  C++
ÕâÆª½Ì³ÌC++ EscapeCommFunctionº¯Êý´úÂëʾÀýдµÃºÜʵÓã¬Ï£ÍûÄܰﵽÄú¡£

±¾ÎÄÕûÀí»ã×ÜÁËC++ÖÐEscapeCommFunctionº¯ÊýµÄµäÐÍÓ÷¨´úÂëʾÀý¡£Èç¹ûÄúÕý¿àÓÚÒÔÏÂÎÊÌ⣺C++ EscapeCommFunctionº¯ÊýµÄ¾ßÌåÓ÷¨£¿C++ EscapeCommFunctionÔõôÓã¿C++ EscapeCommFunctionʹÓõÄÀý×Ó£¿ÄÇô¹§Ï²Äú, ÕâÀᆱѡµÄº¯Êý´úÂëʾÀý»òÐí¿ÉÒÔΪÄúÌṩ°ïÖú¡£

ÔÚÏÂÎÄÖÐÒ»¹²Õ¹Ê¾ÁËEscapeCommFunctionº¯ÊýµÄ28¸ö´úÂëʾÀý£¬ÕâЩÀý×ÓĬÈϸù¾ÝÊÜ»¶Ó­³Ì¶ÈÅÅÐò¡£Äú¿ÉÒÔΪϲ»¶»òÕ߸оõÓÐÓõĴúÂëµãÔÞ£¬ÄúµÄÆÀ¼Û½«ÓÐÖúÓÚÎÒÃǵÄÏµÍ³ÍÆ¼ö³ö¸ü°ôµÄC++´úÂëʾÀý¡£

ʾÀý1: EscapeCommFunction

int RS232Interface::SetSerialRTSDTR(int state){	int result = E2ERR_OPENFAILED;#ifdef	_WINDOWS	if ( hCom != INVALID_HANDLE_VALUE )	{		if (state)		{			EscapeCommFunction(hCom, SETRTS);			EscapeCommFunction(hCom, SETDTR);		}		else		{			EscapeCommFunction(hCom, CLRRTS);			EscapeCommFunction(hCom, CLRDTR);		}		result = OK;	}#else#ifdef	_LINUX_	int flags; 	ioctl(fd,TIOCMGET, &flags); 	if (state)	{		flags |= (TIOCM_RTS|TIOCM_DTR); 	}	else	{		flags &= ~(TIOCM_RTS|TIOCM_DTR); 	}	result = ioctl(fd,TIOCMSET, &flags); #endif#endif	return result;}
¿ª·¢ÕßID:bieli£¬ÏîÄ¿Ãû³Æ:avr_jokes£¬´úÂëÐÐÊý:38£¬


ʾÀý2: SetCommMask

void CSerialPort::Close(){	if (m_hTTY != INVALID_HANDLE_VALUE)	{		// disable event notification and wait for thread to halt		SetCommMask( m_hTTY, 0 );		// drop DTR		EscapeCommFunction( m_hTTY, CLRDTR);	//	 	SETRTS	 		// purge  reads/writes 		PurgeComm( m_hTTY, PURGE_TXABORT | PURGE_RXABORT);		CloseHandle( m_hTTY );		m_hTTY = INVALID_HANDLE_VALUE;	}}
¿ª·¢ÕßID:benoitk£¬ÏîÄ¿Ãû³Æ:cristalqt_win£¬´úÂëÐÐÊý:14£¬


ʾÀý3: setRtsIO

VALUE setRtsIO(VALUE self, VALUE rb_int){    {        Check_Type(rb_int, T_FIXNUM);    }    int boolean = FIX2INT(rb_int);    PortDescriptor *port = NULL;    Data_Get_Struct(self, PortDescriptor, port);    return INT2FIX( EscapeCommFunction(port->fd, boolean == 1 ? SETRTS : CLRRTS) );}
¿ª·¢ÕßID:Ingenico£¬ÏîÄ¿Ãû³Æ:ruby-rs-232£¬´úÂëÐÐÊý:14£¬


ʾÀý4: Cm17aStart

/* * Open the given com port and reset the attached cm17a */int Cm17aStart(int comPortNumber){  char comPortString[80] ;  sprintf(comPortString, "////.//COM%d", comPortNumber) ;  thePort = CreateFile(comPortString, GENERIC_READ | GENERIC_WRITE,      0, NULL, OPEN_EXISTING, FILE_FLAG_WRITE_THROUGH, NULL) ;  if (thePort != INVALID_HANDLE_VALUE)  {    /* Reset the device */    EscapeCommFunction(thePort, CLRDTR) ;    EscapeCommFunction(thePort, CLRRTS) ;    Sleep(DELAY) ;    EscapeCommFunction(thePort, SETDTR) ;    EscapeCommFunction(thePort, SETRTS) ;    Sleep(DELAY) ;    return 1 ;  }  else    return 0 ;}
¿ª·¢ÕßID:derrills1£¬ÏîÄ¿Ãû³Æ:ccnet_gitmode£¬´úÂëÐÐÊý:27£¬


ʾÀý5: EscapeCommFunction

void SerialPort::clearRTS(){    if (!isOpen())        return;#ifdef __WIN32__    EscapeCommFunction(handle, CLRRTS);#endif#ifdef __gnu_linux__    int bit = TIOCM_RTS;    ioctl(handle, TIOCMBIC, &bit);#endif#if defined(__APPLE__) && defined(__MACH__)    ioctl(handle, TIOCM_RTS);#endif}
¿ª·¢ÕßID:HenriVesala£¬ÏîÄ¿Ãû³Æ:EmptyEpsilon£¬´úÂëÐÐÊý:15£¬


ʾÀý6: OpenComm

int XTTY::Connect(BOOL fConnect){	if (fConnect) {		// ¥ª¥ó¥é¥¤¥ó¤Ë¤¹¤ë		if (m_fConnect)		// ¼È¤Ë¥ª¥ó¥é¥¤¥ó£¿			return 0;	// ºÎ¤â¤»¤º¤Ë
C++ Escher_IteratorNextº¯Êý´úÂëʾÀý
C++ Escapeº¯Êý´úÂëʾÀý
ÍòÊÂOK×ÔÑ§Íø£º51×ÔÑ§Íø_Èí¼þ×ÔÑ§Íø_CAD×ÔÑ§Íø×Ôѧexcel¡¢×ÔѧPS¡¢×ÔѧCAD¡¢×ÔѧCÓïÑÔ¡¢×Ôѧcss3ʵÀý£¬ÊÇÒ»¸öͨ¹ýÍøÂç×ÔÖ÷ѧϰ¹¤×÷¼¼ÄܵÄ×Ôѧƽ̨£¬ÍøÓÑϲ»¶µÄÈí¼þ×ÔÑ§ÍøÕ¾¡£