- 论坛徽章:
- 0
|
我想同时监听串口和一个有名管道,
FD_ZERO(&readset); //fdset清空,如果多个,参照
FD_SET(fifo_fd,&readset); //加入fifo_fd
FD_SET(tty_fd,&readset); //加入tty_fd
while(1)
{
if(select(max_fd,&readset,NULL,NULL,NULL)>0) //select 如果有变化
{
//串口有数据进来。
if(FD_ISSET(tty_fd,&readset))
{
printf("Data Received from TTY_FD !!!n");
....读取
}
//串口监控结束
//如果fifo_fd有变化
if(FD_ISSET(fifo_fd,&readset))
{
printf("Data Received from FIFO.!!!n");
...读取并处理
}
//串口结束
} //select 结束
} |
请问这部分是不是要放在循环里面? 这样会不会效率太低?
FD_ZERO(&readset); //fdset清空,如果多个,参照
FD_SET(fifo_fd,&readset); //加入fifo_fd
FD_SET(tty_fd,&readset); //加入tty_fd
[ 本帖最后由 kwongwo 于 2009-12-26 10:52 编辑 ] |
|