科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件利用Win32API开发串行通信程序

利用Win32API开发串行通信程序

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文分析了在Windows环境下用VC 语言编写串行通信程序的技术。

作者:zzl 来源:论坛 2007年10月21日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
4.3串行通信性能的提高

  1)错误处理

  在串口通信中,可能会发生很多的错误,造成少读字节数,使用ClearCommError()函数可以检测错误并且清除错误条件。

  2)控制命令

  本程序可以使用自己的流控:利用 EscapeCommFunction()函数来模拟特殊字符XON和XOFF,将硬件信号设置为"ON"和"OFF"。

EscapeCommFunction( COMDEV( npTTYInfo ), SETDTR ) ; // 发送DTR信号
……
EscapeCommFunction( COMDEV( npTTYInfo ), CLRDTR ) ; //清除DTR信号3)引入Sleep函数

  由于Windows操作系统的消息处理机制,使用Timer控件和定时函数来确定的间隔时间,不能适合实际应用。这是因为Windows的多任务处理方式。如果计算机在执行串行通信程序的同时还执行其它程序,那么就要等待较长时间才能响应串行通信程序,定时不准确。因此,采用Sleep函数,可以在定时的时间范围内停止进程的所有动作,定时的精确性有了保障。

  另外,引入多线程,为串行通信程序赋予较高的优先级,避免在接收过程中被打断,也能提高串行通信的性能。

  5、结论

  Windows环境下的应用程序编程是目前的主要趋势。它提供了丰富的资源,VC++还提供了面向对象程序设计的功能。Windows的API技术可以清楚地掌握串口通信的机制,且探制手段灵活,功能强大。用API技术开发的串行通信程序在实际应用中,很大地提高了通讯性能和通信的可靠性。本设计利用 VC++的强大功能, 在 Windows环境下开发了PC机与单片机的串行通信软件,对于国内的中、小型企业具有现实意义。本软件经过在一个实际的工业集散系统中的应用表明,运行状态良好,灵活方便。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章