说明:以下用到的是阻塞的文件描述符
测试例子用的是串口/dev/ttyUSB0,这个描述符单独设置成阻塞模式,其他几种情况是非阻塞模式
#include <iostream>
#include<sys/types.h>
#include<unistd.h>
#include<fcntl.h>
#include<sys/termios.h>
#include<string.h>
#include<string>
using namespace std;
int fd;
char sendbuf[1024]= {0} ;
char readbuf[1024]= {0};
/**
* open port
* @param fd
* @param comport 想要打开的串口号
* @return 返回-1为打开失败
*/
int open_port(int &fd,int comport)
{
char *dev[]= {"/dev/ttyUSB0","/dev/ttyS1","/dev/ttyS2"};
if (comport==1)//串口1
{
//fd = open( "/dev/ttyUSB0", O_RDWR|O_NOCTTY|O_NDELAY);//O_RDWR 读写模式 O_NOCTTY 非终端控制模式 O_NDELAY非阻塞模式
fd = open( "/dev/ttyUSB0", O_RDWR|O_NOCTTY);
cout<<"fd======------------------------========"<<fd<<endl;
if (-1 == fd)
{
perror("Can't Open Serial Port");
return(-1);
}
}
else if(comport==2)//串口2
{
fd