没有合适的资源?快使用搜索试试~ 我知道了~
用C#一步步写串口通信.doc
1 下载量 56 浏览量
2022-11-30
21:10:21
上传
评论 1
收藏 262KB DOC 举报
温馨提示
试读
25页
用C#一步步写串口通信.doc
资源推荐
资源详情
资源评论
我们来看具体的实现步骤。
公司要求实现以下几个功能:
1):实现两台计算机之前的串口通信,以 16 进制形式和字符串两种形
式传送和接收。
2):根据需要设置串口通信的必要参数。
3):定时发送数据。
4):保存串口设置。
看着好像挺复杂,其实都是纸老虎,一戳就破,前提是你敢去戳。
我尽量讲的详细一些,争取说到每个知识点。
在编写程序前,需要将你要测试的 COM 口短接,就是收发信息都
在本地计算机,短接的方式是将 COM 口的 2、3 号针接起来。COM 口
各针的具体作用,度娘是这么说的:COM 口。记住 2、3 针连接一定要
连接牢固,我就是因为接触不良,导致本身就不通,白白花掉了一大半
天时间调试代码。
下面给出主要的操作界面,如下:
顺便,我将所有控件对应的代码名字也附上了,相信对初学者来说,再
看下面的代码会轻松很多。控件名字命名的方法是“控件名+作用”的
形式,例如“打开串口”的开关按钮,其名字是 btnSwitch (btn 就是
button 的简写了)。我认为这种命名控件的方式比较好,建议大家使
用,如果你有好的命名方式,希望你能告诉我!
下面我们将各个功能按照从主到次的顺序逐个实现。(我分块给出代码
实现,详细代码见链接:《C#串口通信工具》)
一、获取计算机的 COM 口总个数,将它们列为控件 cbSerial 的候选项,
并将第一个设为 cbSerial 的默认选项。
这部分是在窗体加载时完成的。请看代码:
(很多信息代码的注释里讲的很清楚,我就不赘述了。)
[csharp] view plaincopyprint?
1. //检查是否含有串口
2. string[] str = SerialPort.GetPortNames();
3. if (str == null)
4. {
5. MessageBox.Show("本机没有串口!", "Error");
6. return;
7. }
8.
9. //添加串口项目
10. foreach (string s in System.IO.Ports.SerialPort.GetPortNames())
11. {//获取有多少个 COM 口
12. cbSerial.Items.Add(s);
13. }
14.
15. //串口设置默认选择项
16. cbSerial.SelectedIndex = 0; // 设 置
<span style="font-size:18px; "><strong>cbSerial 的 默 认 选 项
</strong></span>
二、“串口设置”
这面我没代码编程,直接从窗体上按照串口信息设置就行。我们仅设置
它们的默认选项,但这里我用到了 ini 文件,暂时不讲,我们先以下面
形式设置默认。
[csharp] view plaincopyprint?
1. cbBaudRate.SelectedIndex = 5;
2. cbDataBits.SelectedIndex = 3;
3. cbStop.SelectedIndex = 0;
4. cbParity.SelectedIndex = 0;
5. radio1.Checked = true; //发送数据的“16 进制”单选按钮(这里我忘了改名,
现在看着很不舒服!)
6. rbRcvStr.Checked = true;
三、打开串口
在发送信息之前,我们需要根据选中的选项设置串口信息,并设置一些
控件的属性,最后将串口打开。
[csharp] view plaincopyprint?
剩余24页未读,继续阅读
资源评论
xinkai1688
- 粉丝: 322
- 资源: 8万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功