我想做我在标题中写的内容。但我只是无法理解它。我也googled everythng。我想把字符串写入特殊类型FIFO的文件,由mkfifo创建(我认为)。如果有任何其他建议如何做到这一点,欢迎你。
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();
}
}
答案 0 :(得分:6)
解!!!! 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();
}
}
}