ImageVerifierCode 换一换
格式:DOC , 页数:12 ,大小:274KB ,
资源ID:3501207      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3501207.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C_中串口组件的使用方法总结及上位机制作方法.doc)为本站会员(sk****8)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

C_中串口组件的使用方法总结及上位机制作方法.doc

1、请勿转载,我会不断的更新和修改。修改日志:1 20091112创建文档2 20091113发送函数介绍,数据的接收,上位机基本功能的完成一、创建 Windows 窗体项目二、添加 SerialPort 组件三、默认产生 serialPort1对象四、设置串口属性三种方法(本实例用第三种)1.设置下面的属性2.代码实现3.用我封装的一个类来实现C# 封装了用于对 Serialport 类属性的配置类及其保存窗五、串口操作(打开关闭)按上述步骤初始化串口之后进行串口的打开和关闭操作打开关闭串口的函数包含在 SerialPort 类中,利用 SerialPort 对象来引用serialPort1.O

2、pen(); serialPort1.Close();例如:在程序中添加一个打开串口按钮 btn_open,btn_open.Text 初始化为“打开串口“在 btn_open 响应函数中加入以下代码private void btn_open_Click(object sender, EventArgs e)if (btn_open.Text = “打开串口“)btn_open.Text = “关闭串口“;serialPort1.Open();elsebtn_open.Text = “打开串口“;serialPort1.Close();此时形成的界面截图如下:此时程序的代码如下:using S

3、ystem;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using AHRSmanager;namespace testOfserialPortpublic partial class Form1 : Formpublic Form1()InitializeComponent();private void seria

4、lPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)private void btn_SerialportSet_Click(object sender, EventArgs e)using (串口设置窗口 frmConfig = new 串口设置窗口()frmConfig.ShowDialog();private void btn_open_Click(object sender, EventArgs e)if (btn_open.Text = “打开串口“)串口设置窗口.ReadS

5、erialPortSet(serialPort1); /串口初始化btn_open.Text = “关闭串口“;serialPort1.Open();elsebtn_open.Text = “打开串口“;serialPort1.Close();private void Form1_Load(object sender, EventArgs e)btn_open.Text = “打开串口“;这时该程序已经具有开关串口的作用,可以用 单 PC 机虚拟串口互连方法 介绍的方法进行串口测试(串口互联模式)运行程序,点击串口配置按钮,进行参数配置,点击打开串口,VSPM 就将显示串口的打开和关闭.六、数

6、据的发送(一) 十六进制数据发送使用方法见 C#中用 SerialPort 类中的 Write()方法发送十六进制数1.为程序添加发送按钮,命名为 btn_send,为程序添加文本输入框 tb_send2.在 btn_send 的回调函数中添加以下代码private void btn_send_Click(object sender, EventArgs e)Byte BSendTemp = new Byte1; /建立临时字节数组对象BSendTemp0 = Byte.Parse(this.tb_send.Text);/由文本框读入想要发送的数据this.serialPort1.Write(

7、BSendTemp, 0, 1);/发送数据 3.测试将串口配置为 COM3,打开 VSPM 和串口调试助手,调试助手为 COM4打开串口 COM3,将要发送的数写入输入文本框(0-255) ,点击发送在串口调试助手中就会出现相应的十六进制数据显示(二) 字符串数据发送1 为程序添加 CheckBox cB_Hex,如若选中则发送 Hex 数据,如若未选则发送 String 数据。2 将 btn_send 的响应函数 btn_send_Click 修改为:private void btn_send_Click(object sender, EventArgs e)if (this.cB_Hex

8、.Checked = true)Byte BSendTemp = new Byte1; /建立临时字节数组对象BSendTemp0 = Byte.Parse(this.tb_send.Text);/由文本框读入想要发送的数据this.serialPort1.Write(BSendTemp, 0, 1);/发送数据 elsestring serialStringTemp = this.tb_send.Text;this.serialPort1.WriteLine(serialStringTemp);3 运行程序,取消 Checkbox 的选择4 发送字符串,下面为测试图5 这里主要利用了 Wri

9、teLine 函数,这个函数在 Console 中也有定义,用发基本一样。七、数据的接收(A)结构介绍数据的接收大体有两种方案:1 主动定时读取;2 事件响应驱动1 主动定时读取这种方式的适应能力较弱,当数据来源为定时并且不是很快的情况时可以考虑采用这种方法,这种方法主要适用于数据采集系统而不适用于随机事件发生时的通信或控制系统。当然,这种方法的缺点是如果接收的数据不是定时的,则读取定时器的触发频率就要很小,这样才能保证及时的读取串口缓冲区。这也将大大的浪费系统资源。 2 事件响应驱动这种方式是串口通信上位机制作的主要方式,其采用中断思想而成,当串口输入缓冲区中的字节数据大于某个设定的个数时,

10、触发串口输入中断,这时在中断程序中读取串口输入缓冲区中的数据,具有实时性和灵活性,是个常用的较好的方法。本文也是采用这种方法来进行串口输入缓冲区的实时数据读取。(B)事件响应驱动下的串口输入缓冲区数据读取.NET 中封装了 SerialPort 类 表示串行端口资源。 命名空间: System.IO.Ports程序集: System(在 System.dll 中)除了前面用到的串口常规属性设置(BuadRate,PortName) ,这里用到了一个新的串口属性:ReceivedBytesThreshold获取或设置 DataReceived 事件发生前内部输入缓冲区中的字节数。这个 Recei

11、veBytesThreshold 属性即是设置串口输入缓冲区中的数据字节大于ReceiveBytesThreshold 时触发 DataReceived 事件。用法:在设计器双击串口 serialport1的 DataReceived 事件,在代码中就会自动加入serialPort1_DataReceived 函数作为 DateReceived 的事件触发函数。作为测试,先将 serialport1.ReceiveBytesThreshold 设为1,即串口输入缓冲区有数就触发 DataReceived 事件。加入 RichTextBox rTB_receive 作为串口接收数据的显示组件在 DataReceived 事件响应函数中读取串口输入缓冲区中的数据string serialReadString;private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。