using
System;
using System.Collections.Generic;
using System.Text;
using System.IO.Ports;
using System.ComponentModel;
namespace StringToLed
... {
class stringtoLed
...{
private System.IO.Ports.SerialPort serialPort1 = new SerialPort();
public void write(string senStr)
...{
string headStr = "23 14 24 15 13 18 58 58 58 58 58 58 44 01 01 00 01 01 02 04";
string footStr = "0A 2C 0E 16 04 02 08 6F";
string midStr = "";
string myStr = string.Empty;
// " 23 14 24 15 13 18 58 58 58 58 58 58 44 01 01 00 01 01 02 04C4 E3 BA C3 B0 A1 A3 A10A 2C 0E 16 04 02 08 6F";
midStr = BitConverter.ToString(ASCIIEncoding.Default.GetBytes(senStr.Trim())).Replace("-", " ");
//midStr = "C4 E3 BA C3 B0 A1 A3 A1";
myStr = headStr.Trim() + " "+midStr.Trim()+" "+ footStr.Trim();
serialPort1.PortName = "COM1"; //端口号
serialPort1.BaudRate = 9600; //比特率
serialPort1.Parity = Parity.None;//奇偶校验
serialPort1.StopBits = StopBits.One;//停止位
serialPort1.ReadTimeout = 1000; //读超时,即在1000内未读到数据就引起超时异常
serialPort1.Open();
byte[] myByte = StringToByte(myStr.Trim());
serialPort1.Write(myByte, 0, myByte.Length);
serialPort1.Close();
// MessageBox.Show("数据发送成功!", "系统提示");
}
/**//// <summary>
/// 默认发送:左推,速度1,停留0
/// </summary>
/// <param name="sendStr">发送得数据</param>
public void writeCom(string sendStr)
...{
string headStr = "23 14 24 15 13 18 58 58 58 58 58 58 44 01 01 0F 01 01 02";
string footStr = "0A 2C 0E 16 04 02 08";
string midStr = string.Empty;
string myStr = string.Empty;
string last = string.Empty;
string sentLenth = sendStr.Length.ToString("X");
if (sentLenth.Length<2)
...{
sentLenth ="0"+sentLenth;
}
headStr +=" "+sentLenth;//第一部分
midStr = BitConverter.ToString(ASCIIEncoding.Default.GetBytes(sendStr.Trim())).Replace("-", " ");
string HexStr = "44 01 01 0F 01 01 02"+" "+sentLenth+ " " + midStr + " " + footStr;
last = getLast(HexStr);
//最终发送字节
myStr = headStr.Trim() + " " + midStr.Trim() + " " + footStr.Trim()+" "+last;
serialPort1.PortName = "COM1"; //端口号
serialPort1.BaudRate = 9600; //比特率
serialPort1.Parity = Parity.None;//奇偶校验
serialPort1.StopBits = StopBits.One;//停止位
using System.Collections.Generic;
using System.Text;
using System.IO.Ports;
using System.ComponentModel;
namespace StringToLed
... {
class stringtoLed
...{
private System.IO.Ports.SerialPort serialPort1 = new SerialPort();
public void write(string senStr)
...{
string headStr = "23 14 24 15 13 18 58 58 58 58 58 58 44 01 01 00 01 01 02 04";
string footStr = "0A 2C 0E 16 04 02 08 6F";
string midStr = "";
string myStr = string.Empty;
// " 23 14 24 15 13 18 58 58 58 58 58 58 44 01 01 00 01 01 02 04C4 E3 BA C3 B0 A1 A3 A10A 2C 0E 16 04 02 08 6F";
midStr = BitConverter.ToString(ASCIIEncoding.Default.GetBytes(senStr.Trim())).Replace("-", " ");
//midStr = "C4 E3 BA C3 B0 A1 A3 A1";
myStr = headStr.Trim() + " "+midStr.Trim()+" "+ footStr.Trim();
serialPort1.PortName = "COM1"; //端口号
serialPort1.BaudRate = 9600; //比特率
serialPort1.Parity = Parity.None;//奇偶校验
serialPort1.StopBits = StopBits.One;//停止位
serialPort1.ReadTimeout = 1000; //读超时,即在1000内未读到数据就引起超时异常
serialPort1.Open();
byte[] myByte = StringToByte(myStr.Trim());
serialPort1.Write(myByte, 0, myByte.Length);
serialPort1.Close();
// MessageBox.Show("数据发送成功!", "系统提示");
}
/**//// <summary>
/// 默认发送:左推,速度1,停留0
/// </summary>
/// <param name="sendStr">发送得数据</param>
public void writeCom(string sendStr)
...{
string headStr = "23 14 24 15 13 18 58 58 58 58 58 58 44 01 01 0F 01 01 02";
string footStr = "0A 2C 0E 16 04 02 08";
string midStr = string.Empty;
string myStr = string.Empty;
string last = string.Empty;
string sentLenth = sendStr.Length.ToString("X");
if (sentLenth.Length<2)
...{
sentLenth ="0"+sentLenth;
}
headStr +=" "+sentLenth;//第一部分
midStr = BitConverter.ToString(ASCIIEncoding.Default.GetBytes(sendStr.Trim())).Replace("-", " ");
string HexStr = "44 01 01 0F 01 01 02"+" "+sentLenth+ " " + midStr + " " + footStr;
last = getLast(HexStr);
//最终发送字节
myStr = headStr.Trim() + " " + midStr.Trim() + " " + footStr.Trim()+" "+last;
serialPort1.PortName = "COM1"; //端口号
serialPort1.BaudRate = 9600; //比特率
serialPort1.Parity = Parity.None;//奇偶校验
serialPort1.StopBits = StopBits.One;//停止位