Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 串行命令-NEC投影仪_C#_Com_Serial Port - Fatal编程技术网

C# 串行命令-NEC投影仪

C# 串行命令-NEC投影仪,c#,com,serial-port,C#,Com,Serial Port,我正在开发一个C#应用程序,它将串行命令写入NEC投影仪。我可以使用RealTerm使用“发送数字”功能发送命令,但似乎无法通过我的应用程序使其正常工作 命令的格式如下所示 开机-02H 00H 00H 00H 02H 电源关闭-02H 01H 00H 00H 03H 我尝试使用WriteLine(command)-作为字符串发送,并使用以下代码将其转换为字节数组: public static byte[] ToByteArray(string StringToConvert) { ch

我正在开发一个C#应用程序,它将串行命令写入NEC投影仪。我可以使用
RealTerm
使用“发送数字”功能发送命令,但似乎无法通过我的应用程序使其正常工作

命令的格式如下所示

开机-02H 00H 00H 00H 02H

电源关闭-02H 01H 00H 00H 03H

我尝试使用
WriteLine(command)
-作为字符串发送,并使用以下代码将其转换为字节数组:

public static byte[] ToByteArray(string StringToConvert)
{
    char[] CharArray = StringToConvert.ToCharArray();
    byte[] ByteArray = new byte[CharArray.Length];
    for (int i = 0; i < CharArray.Length; i++)
    {
        ByteArray[i] = Convert.ToByte(CharArray[i]);
    }

    return ByteArray;
}
公共静态字节[]ToByteArray(字符串StringToConvert)
{
char[]CharArray=StringToConvert.ToCharArray();
byte[]ByteArray=新字节[CharArray.Length];
for(int i=0;i

似乎什么都没用,我该从我的C#端往港口发送什么?希望有人能尽快提供帮助:)

您可以使用Write方法,它以字符串作为参数:


尝试将这些命令从字符串转换成字符串没有什么意义。它们不是弦。因此,只需在代码中以其本机格式编写它们:

private byte[] powerOnCmd  = new byte[] { 0x02, 0x00, 0x00, 0x00, 0x02 };
private byte[] powerOffCmd = new byte[] { 0x02, 0x01, 0x00, 0x00, 0x03 };
现在很简单:

private void sendCommand(byte[] cmd) {
   serialPort1.Write(cmd, 0, cmd.Length);
}
private void PowerOn() {
   sendCommand(powerOnCmd);
}

我已经试过了,但由于某些原因,它似乎不再有效:/我会再试一次,确保我做得对!:P ThanksI打算这样做,但客户机希望使用web界面远程发送许多不同的命令。我现在已经对它进行了排序,基本上是按照你在这里的建议做的,只是我制作了一个小脚本来解析字符串,并将它们转换为其本机格式:)谢谢!