写入FIFO文件,Linux&;单声道(C#)
我想做我在标题中写的事。但我就是无法理解。我还用谷歌搜索了一切。我想将字符串写入由mkfifo(我想)创建的特殊类型FIFO文件。如果有任何其他建议如何做到这一点,欢迎您写入FIFO文件,Linux&;单声道(C#),c#,linux,mono,fifo,mkfifo,C#,Linux,Mono,Fifo,Mkfifo,我想做我在标题中写的事。但我就是无法理解。我还用谷歌搜索了一切。我想将字符串写入由mkfifo(我想)创建的特殊类型FIFO文件。如果有任何其他建议如何做到这一点,欢迎您 static class PWM { static string fifoName = "/dev/pi-blaster"; static FileStream file; static StreamWriter write; static PWM() { file
static class PWM
{
static string fifoName = "/dev/pi-blaster";
static FileStream file;
static StreamWriter write;
static PWM()
{
file = new FileInfo(fifoName).OpenWrite();
write = new StreamWriter(file, Encoding.ASCII);
}
//FIRST METHOD
public static void Set(int channel, float value)
{
string s = channel + "=" + value;
Console.WriteLine(s);
write.Write(s);
// SECOND METHOD
// RunProgram(s);
}
//SECOND METHOD
static void RunProgram(string s)
{
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.EnableRaisingEvents = true;
proc.StartInfo.FileName = "bash";
string x = "|echo " +s+" > /dev/pi-blaster";
Console.WriteLine(x);
proc.StartInfo.Arguments = x;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true;
proc.Start();
// proc.WaitForExit();
}
}
解决方案!!!!PI-BLASTER工作时间:D:D(因此失去2天的生命) 顺便说一句,write.flush很关键
namespace PrototypeAP
{
static class PWM
{
static string fifoName = "/dev/pi-blaster";
static FileStream file;
static StreamWriter write;
static PWM()
{
file = new FileInfo(fifoName).OpenWrite();
write = new StreamWriter(file, Encoding.ASCII);
}
//FIRST METHOD
public static void Set(int channel, float value)
{
string s = channel + "=" + value + "\n";
Console.WriteLine(s);
write.Write(s);
write.Flush();
}
}
}