首页产品库评测行情新闻|手机数码笔记本台式机DIY硬件数字家庭数码相机办公外设|软件下载游戏开发|社区

更多

数码相机
MP4
LCD
机箱
音箱

天极网 > 开发频道>利用Win32API开发串行通信程序

利用Win32API开发串行通信程序

2003-11-07 09:59作者:zzl出处:论坛责任编辑:方舟

  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机与单片机的串行通信软件,对于国内的中、小型企业具有现实意义。本软件经过在一个实际的工业集散系统中的应用表明,运行状态良好,灵活方便。

共4页。 9 1 2 3 4

关注此文的读者还看过:

返回开发频道首页

共4页。 上一页1234

软件频道最新更新

热点推荐

天极服务|关于我们|About us|网站律师|RSS订阅|友情合作|加入我们|天极动态|网站地图|意见反馈|MSN/QQ上看天极
Copyright (C) 1999-2012 Yesky.com, All Rights Reserved 版权所有 天极网络