最近自己闲着 自学了C# ,本人不是搞软件的 ,搞嵌入式的 ,经常要用串口调试工具来调试 ,有时候还要处理一些数据但是市面上的不能满足我的要求 ,正好一个项目需要学习C#,借此机会来开发一个串口 ,说不定对我也有用!
话不多说先看看成果!
串口调试工具 功能:
通过串口设置设置相应的参数 ,串口检测 检测插上的串口号 ,发送与接收数据,HEX显示 ,定时发送,文件保存。
1.在vs2017 菜单栏点击 文件 -> 新建项目, 创建c#下的 windows窗体应用:
在窗体上添加四个 “GroupBox”控件 ,分别将窗体分为“串口设置”,“数据接收”,“数据发送”,”文件操作“。
添加若干个"Label”和"ComboBOX” ,添加两个" RodioButton " 给字符与HEX 选择,添加若干个 “Button”
发送与接收 添加 TextBox 控件。
不说了上代码!
设置一下标志位与 Form1 初始化。
串口检测 界面初始化
private void SetPortProperty () // 设置串口名
{
sp = new SerialPort();
sp.PortName = cbxComPort.Text.Trim(); //设置串口名
sp.BaudRate = Convert.ToInt32(cbxBaudRate.Text.Trim()); //设置串口波特率
float f = Convert.ToSingle(cbxStopBits.Text.Trim()); //设置停止位
if(f==0)
{
sp.StopBits = StopBits.None;
}
else if(f==1)
{
sp.StopBits = StopBits.One;
}
else if(f==1.5)
{
sp.StopBits = StopBits.OnePointFive;
}
else if (f == 2)
{
sp.StopBits = StopBits.Two;
}
else
{
sp.StopBits = StopBits.One;
}
sp.DataBits = Convert.ToInt16(cbxDataBits.Text.Trim()); //设置数据位
string s = cbxParity.Text.Trim(); //设置奇偶校验
if (s.CompareTo("无") == 0)
{
sp.Parity = Parity.None;
}
else if (s.CompareTo("奇校验") == 0)
{
sp.Parity = Parity.Odd;
}
else if (s.CompareTo("偶校验") == 0)
{
sp.Parity = Parity.Even;
}
else
{
sp.Parity = Parity.None;
}
sp.ReadTimeout = -1; // 设置超时读取时间
sp.RtsEnable = true;
// 定义Data Received 事件 , 当串口收到数据后触发事件
sp.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived);
if (rbnHex.Checked)
{
isHex = true;
}
else
{
isHex = false;
}
}
上面3图 发送 数据 清除数据 打开文件
发送文件
定时发送
需要完整代码 私信 。
上面代码都是自己写的如果那里有不足之处还请多多指教 ,如果觉得对你有帮助就关注一下。
下载链接 : https://download.youkuaiyun.com/download/misslxy/12608949 解压密码私信