如何向串口发送组合键指令
串口向下位机如何发送组合键指令,以下代码是发送文本指令的方法,现在有个指令要向下位机发送一个 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按键是否按下,那是有一定的驱动支持的。
你不能想当然地发明什么“组合键指令”这种奇怪的概念。你应该稍微深入一点去了解一些,然后再来设计。
或许你更应该先理解你的“下位机”能够支持什么功能,再来重新考虑设计。