---本人是一名小白,最近在做学校有关通信的项目。在写这份代码之前,查看了许多参考代码。如果我有说的不对的地方,还请大家指出来。
工具:串口助手、串口调试助手、编译器(我用的vs2017)//完整代码和调试助手 在文末有链接
一、效果图
首先给大家放一张效果图。
二、步骤
(1)首先,肯定就是先将各个部件拖入form里,然后布局了。
在这里请注意:
- 对于刚刚接触c#的小白来说,记得发送的文本框和单选按钮与接受的文本框和单选按钮。是两个不一样的panel。
- 波特率:因为常用的波特率是以下几个,所以我直接设置了下拉框。
- 校验位:设置的是 无、奇校验、偶校验。
- 停止位设置的是:1、1.5、2
- 数据位是:7、8
- 串口号:串口号就任意了,主要看你需要多少。我就设置了com1~4
在选择完参数之后,点击检查串口,如没问题,则会显示,串口检查成功
这时,点击打开串口,会提示打开串口成功。
让我们再看看串口助手
打开串口调试助手,将参数调成一致之后。在form里发送一段16进制。调试助手将接受到
最后用调试助手,发送一段16进制数。form将接受到信息。
(2)代码及其主要函数。
CheckPort():检查串口是否可用。里面的主要方法是GetPortNames(获取当前计算机的串行端口名称数组)
private void CheckPort()//检查串口是否可用
{
ckCheckBox.Items.Clear();//清除控件中的当前值
bool havePort = false;
string[] a = SerialPort.GetPortNames();
if (a != null)
{
for (int i = 0; i < a.Length; i++)
{
bool use = false;
try
{
SerialPort t = new SerialPort(a[i]);
sp.Open();
sp.Close();
use = true;
}
catch
{
}
if (use)
{
ckCheckBox.Ite