首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么向串口发送组合键指令

2013-08-09 
如何向串口发送组合键指令串口向下位机如何发送组合键指令,以下代码是发送文本指令的方法,现在有个指令要

如何向串口发送组合键指令
串口向下位机如何发送组合键指令,以下代码是发送文本指令的方法,现在有个指令要向下位机发送一个 Ctrl + u 的组合键指令,请高手指点下,该如何操作,谢谢!

 private void TestCom_DataSend(string cmd) //发送串口指令
        {
            if (ComDevice.IsOpen == true)
            {
                byte[] SendBytes = null;
                string SendData = cmd;//指令
                //16进制发送
                try
                {
                    //剔除所有空格
                    SendData = SendData.Replace(" ", "");
                    if (SendData.Length % 2 == 1)
                    {//奇数个字符
                        SendData = SendData.Remove(SendData.Length - 1, 1);//去除末位字符
                    }
                    List<string> SendDataList = new List<string>();
                    for (int i = 0; i < SendData.Length; i = i + 2)
                    {
                        SendDataList.Add(SendData.Substring(i, 2));
                    }
                    SendBytes = new byte[SendDataList.Count];


                    for (int j = 0; j < SendBytes.Length; j++)
                    {
                        SendBytes[j] = (byte)(Convert.ToInt32(SendDataList[j], 16));
                    }
                }
                catch
                {
                    MessageBox.Show("请输入正确的16进制数据!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                ComDevice.Write(SendBytes, 0, SendBytes.Length);//发送数据
            }
            else
            {
                MessageBox.Show("串口未打开,请打开串口后重试", "错误");
                Time_Read.Stop();
            }
        }


[解决办法]
可以参考下这里:http://www.cnblogs.com/binfire/archive/2011/10/08/2201973.html
[解决办法]
什么叫做“组合键指令”?

在pc机上识别到字母u被按下时,可以同时识别Ctrl按键是否按下,那是有一定的驱动支持的。

你不能想当然地发明什么“组合键指令”这种奇怪的概念。你应该稍微深入一点去了解一些,然后再来设计。

或许你更应该先理解你的“下位机”能够支持什么功能,再来重新考虑设计。

热点排行