串口通信实践.pptVIP

  • 5
  • 0
  • 约1.46万字
  • 约 65页
  • 2017-05-28 发布于上海
  • 举报
串口通信实践ppt课件

双击[发送数据]部分,添加Button_Send_Click() 函数,其代码如下: 发送数据 Private Sub Button_SEND_Click() Dim x As String If Text_SEND.Text = Then 发送数据不能为空 x = MsgBox(发送数据不能为空, 16) Exit Sub End If If Not MSComm.PortOpen Then 保证串口打开 MSComm.PortOpen = True End If MSComm.Output = Text_SEND.Text + Chr$(13) 发送数据 For i = 1 To延时 Next End Sub * 接收数据部分使用了事件响应方式。当串口收到数据使得数据缓冲区的内容超过1字节时就会引发comEvReceive事件。OnComm()函数负责捕捉这一事件,并负责将发送缓冲区的内容送入输出文本框显示。OnComm()函数还对错误信息进行捕捉,当程序发生缓冲区溢出之类的错误时,由程序员负责将缓冲区清空。 * 要实现上述功能,首先要双击MSComm控件创建OnComm(),并输入代码: 接收数据 Private Sub MSComm_OnComm() Select Case MSComm.CommEvent 检验串口事件 错误处理 Case comEventOverrun 数据丢失 Text_SEND.Text = 清空发送缓冲区 Text_RECV.Text = 清空接收缓冲区 Text_SEND.SetFocus Exit Sub Case ComEventRxOver ‘接收缓冲区溢出 Text_SEND.Text = 清空发送缓冲区 Text_RECV.Text = 清空接收缓冲区 Text_SEND.SetFocus Exit Sub * Case ComEventTxFull 发送缓冲区已满 Text_SEND.Text = 清空发送缓冲区 Text_RECV.Text = 清空接收缓冲区 Text_SEND.SetFocus Exit Sub 事件处理 Case ComEvReceive 接收缓冲区内有数据 Dim str As String str = MSComm.Input 从接收队列中读入字符串 Text_RECV.Text = Text_RECV.Textstr 读出字符串送显 End Select End Sub * 使用该软件实现通信效果的界面如图所示。 运行测试程序 * 用户界面设计 初始化程序 发送数据 接收数据 其他工作 使用 Visual C++6.0(VC++6.0)开发串口通信软件的方法。 * 新建工程步骤1 新建工程步骤2 建立新工程后界面 编辑程序界面 添加控件 最终完成界面 * 修改程序界面用到的各个控件的属性后,要使用这些控件,还需要为其添加对应的变量。该项工作是使用ClassWizard面板来完成的。在[Member Variables]选项卡中相应控件的Control ID,MFC单击[Add Variables]按钮为相应控件添加对应变量。 ClassWizard面板 添加控件对应变量 * 在VC中,需要将这部分代码添加到对话框类的InitPort中。 if(m_MSComm.GetPortOpen()) // 如果串口已打开,则关闭串口 m_MSComm.SetPortOpen(FALSE); m_MSComm.SetCommPort(2); // 选择COM2 if(!m_MSComm.GetPortOpen()) m_MSComm.SetPortOpen(TRUE); // 打开串口 else AfxMessageBox(seri

文档评论(0)

1亿VIP精品文档

相关文档