c实训教程课件第3章.ppt
《c实训教程课件第3章.ppt》由会员分享,可在线阅读,更多相关《c实训教程课件第3章.ppt(15页珍藏版)》请在冰豆网上搜索。
C#实训教程,第3章串口调试器,【学习概述】,本章主要讲解for语句的使用方法,如何利用try-catch语句处理异常,重点讲解使用第三方控件MsComm设计工业机串口通信的调试器。
3.1项目说明,3.1.1任务书
(1)项目名称:
串口调试器
(2)工作期限:
2个工作日(3)工作任务:
计算机上的串行接口有9芯和25芯两种,其中9芯较为常用。
9芯串口有上下两排针脚,上排5个针脚对应15号线,下排4个针脚对应69号线。
串行通信是指数据一位一位地依次传输,每一位数据占据一个固定的时间长度,特别适用于计算机与计算机、计算机与外设之间的远距离通信。
在硬件连接上只要连接三条导线即可,这三条线分别是发送、接收和地线,一台电脑的发送端要连到另外一台电脑的接收端,所以收、发数据线(2、3号线)要换接;而地线(9芯串口为5号线,25芯串口为7号线)是公用的,直接接起来就可以。
线序如表3.1所示。
3.1项目说明,表3.1连接线序,3.1项目说明,一台普通的PC机通常有两个串口,用于与外部设备连接进行通信,有时会发生通讯不畅的现象,这有可能是PC机的串口出现了问题,本任务要求编写串口调试器,用于检验计算机串口通信是否通畅。
(4)任务要求:
准备一台拥有两个串口的PC机,按照表3.1的说明使用跳线,将串口COM1和COM2连接,使计算机可以单独作业,自发自收。
使用其中一个串口进行发送数据,手动发送一个数据包,包内含有一字节0ffh(十六进制数,十进制数为255)。
本数据包无需显示。
使用另一个串口接受数据,并显示在界面上,并且要将每次接收的数据意义显示在界面上。
3.1项目说明,(5)术语解析:
串行接口简称串口,也就是COM接口,是采用串行通信协议的扩展接口。
串口通信的概念非常简单,串口按位(bit)发送和接收字节,尽管比按字节(byte)的并行通信方式慢,但使用的数据线少,在远距离通信中可以节约通信成本。
串口通信最重要的参数有数据包、数据位、停止位、奇偶校验和波特率,对于两个进行通信的端口,这些参数必须匹配。
数据包:
指传送的一个数据字节,包括开始位、停止位、数据位和奇偶校验位。
数据位:
衡量通信中实际数据位的参数。
当计算机发送一个信息包,代表信息数据的位数一般是5、7或8位,取决于选取的通信协议。
例如标准的ASCII码是0127(7位),扩展的ASCII码是0255(8位)。
停止位:
用于表示单个包的最后一位。
典型的值为1、1.5和2位。
奇偶校验:
在通信过程中常会出现各种干扰,使所传输的信息发生错误,如某位1变成0或0变成1。
最简单和最常用的检错方法就是奇偶校验。
如采用偶校验传送7位二进制信息,则在7个信息位后加一个偶校验位,如果前7位中1的个数是偶数,则第8位加0;如果前7位中1的个数是奇数,则第8位加1,这样使整个字符代码(共8位)1的个数恒为偶数。
接收端如检测到某字符代码中1的个数不是偶数,即可判定为错码而不予接收,通知发送端重发。
同理也可采用奇校验。
波特率:
这是一个衡量通信速度的参数,表示每秒钟传送的数据位(bit)数。
例如300波特率表示每秒钟发送300个数据位(bit)。
波特率和传输距离成反比,采用高波特率通信常用于距离很近的仪器间通信。
3.1项目说明,3.1.2计划书1时间分配
(1)分析项目要完成的功能,确定所使用的软件开发工具和开发系统环境,安装好所需工具软件和系统环境,备好所需资料(约需要时间:
1个小时)。
(2)项目需求分析,确立开发方案,进行软件的概念分析、软件功能结构分析、逻辑设计、界面的初步设计等(约需要时间:
2个小时)。
(3)软件的物理设计,模块功能设计,代码的初步实施(约需要时间:
1/2个工作日)。
(4)软件的代码实施,代码的功能测试,各模块的组装调试,软件的整体调试,软件注释文档的完善(约需要时间:
1个工作日)。
(5)创建软件系统的安装文件,发布软件的测试版本,并与用户完成软件的整体测试与功能完善(约需要时间:
1个小时)。
3.1项目说明,2项目分析
(1)准备一台拥有两个串口的PC机,按照表3.1的说明使用跳线将串口COM1和COM2连接,使计算机可以单独作业,自发自收。
(2)本软件需要使用串口通讯控件,在这里使用第三方控件,直接调用VB6.0中的MsComm。
(3)由于本软件需要实现的是自发自收,编程时需要调用两个MsComm控件进行编程。
一个用于发送数据包,一个用于接收数据包。
(4)发送的数据包无需显示,接收的数据包需要显示在界面上。
本软件只需一个接收区域,使用控件TextBox即可满足要求。
(5)由于每次显示的数据包都要显示在界面上,采用逐行显示的方法。
(6)任务书中要求手动发送数据包,软件需要一个按钮,用于控制信息的手动发送。
3.2项目准备,3.2.1MsComm控件MicrosoftCommunicationsControl(简称MsComm)是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,为应用程序提供了通过串行接口收发数据的简便方法,对于从事工控和单片机工作的人来说串口编程是很常用的和很重要的。
由于该控件不是C#自带控件,若想使用必须在Windows的System32目录下安装MsComm32.ocx文件,而且必须注册。
3.2项目准备,3.2.2语句本项目涉及for和try-catch语句,for语句主要用于重复执行一个语句或一个语句块,而try-catch语句主要用于程序的异常处理。
3.3项目开发,3.3.1界面设计1设置接收显示区2添加按钮【发送】3添加通讯控件MsComm3.3.2代码设计
(1)初始化窗体代码。
在初始化串口时,要注意设置串口号
(2)【发送】按钮代码。
(3)通讯代码。
3.3项目开发,图3.1串口调试器,3.4实训:
MsComm控件的应用,1项目要求
(1)准备一台拥有两个串口的PC机,使用跳线将串口COM1和COM2连接,使计算机可以单独作业,自发自收。
(2)界面由发送区和接收区组成,有一个发送按钮可以方便用户手动控制。
(3)使用其中的一个串口进行发送数据,手动发送一个数据包,包内数据可以手动输入。
要求数据为单字节数据。
(4)使用另一个串口接受数据,并显示在界面上。
例如:
在发送区输入:
255,在接收区显示:
255。
(5)工作期限:
2个工作日。
2设计提示
(1)发送区使用文本框,以便于输入发送信息。
(2)接收区的内容不可更改,可使用Label控件,也可采用TextBox控件,通过设置属性来实现。
(3)使用两个通讯控件,注意设置串口号。
(4)使用中断方式读取信息,注意设置读信息的中断字符数,如果为0是不读取的。
(5)使用按钮手动发送数据。
3项目评价项目评价是在教师的主持下,通过项目负责人的讲解演示,评估项目的完成情况,评价内容如下:
(1)工具类软件界面是否友好,使用是否方便;
(2)程序使用时不要有错误信息提示,使程序中断运行;(3)发送数据后,是否有数据回传。
3.5习题,1填空
(1)C#常见的转义符,n表示_,r表示_。
(2)MsComm控件通过_和_,为应用程序提供串行通讯功能。
(3)Textbox控件的属性中,设置_属性为_,使该文本框有立体的效果。
设置_属性为_,使接收区带有滚动条。
设置_属性为_,使接收区可以跨越多行。
设置_属性为_,使接收区的文本不能被更改。
2选择
(1)下面对于MsComm控件属性的描述错误的是()ACommPort设置并返回通讯端口号。
BPortOpen设置并返回通讯端口的状态,也可以打开和关闭端口。
CInput向传输缓冲区写一个字符串。
DSettings以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位。
(2)设置TextBox控件Multiline属性为True的作用是()A使接收区可以跨越多行B使接收区带有滚动条C使接收区的文本不能被更改D使该文本框有立体的效果,3.5习题,3MsComm的全称是什么?
如何向C#添加MsComm控件?
4简述MsComm各个属性的作用。
5写出下列程序代码的输出。
usingSystem;publicclassForLoopTestpublicstaticvoidMain()for(inti=1;i5;i+)Console.WriteLine(i);6写出下列程序代码实现的功能。
tryaxMsComm1.PortOpen=true;axMsComm2.PortOpen=true;catchMessageBox.Show(串口操作失败);,