在C#中的串行通讯中按下按键时消除延迟

时间:2019-10-17 08:25:06

标签: c# keyboard servo

我是C#的新手,我目前正在构建Windows窗体应用程序,以通过按键盘上的键来控制2个伺服电机。

通过串行端口进行通讯,到目前为止一切正常。问题出在发动机控制上。

当我按下该键将电动机沿所需方向移动并保持按下时,伺服器最初输入的电流很小,然后大约一秒钟后,它便开始连续旋转

要使用密钥拦截,请使用以下代码:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
 {
            if (keyData == Keys.Left)
            {
                SerialPort01.Write("L");
            }
            if (keyData == Keys.Right)
            {
                SerialPort01.Write("R");
            }
            if (keyData == Keys.Up)
            {
                SerialPort01.Write("U");
            }
            if (keyData == Keys.Down)
            {
                SerialPort01.Write("D");
            }
            return base.ProcessCmdKey(ref msg, keyData);
 }

你能帮我吗?谢谢

1 个答案:

答案 0 :(得分:0)

这是完整的代码:

if express(i) <> "+" or express(i) <> "-" or express(i) <> "*"