多进程 FIFO 通信
好多年没用过管道了,最近的一个项目,由于硬件还没有出来,所有通过按键的操作无法直接通过机器操作。没办法,只能通过多进程控制台的方式来让机器上的运行程序模拟按键操作。竟然花了二个小时才把管道完整的实现模拟arm 板上的通信!!!!!!
下面贴出部分代码做备忘:
对应我们的机器运行程序,我们需要开辟一个新的线程来读取另外的管道的输入,然后产生模拟的key 键,线程的部分代码:
char *fifoname="./fifoMake";
int fifoFd = -1;
fifoFd = open(fifoname,O_RDONLY);
if(fifoFd<0)
return -1;
while(1)
{
read(fifoFd,buf,1)
getC = buf[0];
switch(getC)
{
case 'a':
break;
case 'b':
break;
................
default:
break;
}
}
下面代码为 写fifo 代码:
open 管道
while(1)
{
getchar();
write();//写管道
}
注意,先运行机器read 程序,然后再运行 write 程序,然后敲对应的字符来实现不同的按键功能。