winform SerialPort类通过485向机器发送指令
下面的是通讯协议
连接按钮实现连接,启动按钮发送指令操作机器,现在的问题就是通过通讯协议发送指令,如何实现方法
下面的是通讯协议
串口怎么发你网上肯定能找到参考,这个代码是从参数得到报文,如有问题可私信我
//控制请求
class ControlRequest
{
private byte[] data;
public ControlRequest()
{
data = new byte[8];
}
//设置运行方向(0或1)
public void setDirection(int direction)
{
data[1] |= (byte)(direction << 6);
}
//设置设备编号(1-31)
public void setDevice(int device)
{
data[1] |= (byte)(device);
}
//设置直行速度
public void setMoveSpeed(int speed)
{
speed /= 8;
data[2] = (byte)(speed);
}
//设置转向速度
public void setRotateSpeed(int speed)
{
speed /= 8;
data[3] = (byte)(speed);
}
//设置转向高速低速(1=低速 0=高速)
public void setRotateFreq(int freq)
{
data[4] |= (byte)(freq<<6);
}
//设置转向方向(1=左转 0=右转速)
public void setRotateDirection(int direction)
{
data[4] |= (byte)(direction << 5);
}
//设置转向角度(0~160)
public void setRotateAngle(int angle)
{
angle /= 5;
data[4] |= (byte)(angle);
}
//设置延迟归正时间(0~1270毫秒)
public void setDuration(int duration)
{
duration /= 10;
data[5] |= (byte)(duration);
}
//按已设置的参数获取用于发送的字节数组
public byte[] getBytes()
{
data[0] = 0x85;
data[7] = 0;
for (int i = 1; i <= 6; i++){
data[7] ^= data[i];
}
return data;
}
}