Yesky首页| 产品报价| 行情| 手机 | 数码 | 笔记本 | 台式机 | DIY硬件 | 外设 | 网络 | 数字家庭 | 评测 | 软件 | e时代 | 游戏 | 图片 | 壁纸 | 群乐 | 社区 | 博客 | 下载
您现在的位置: 天极网 > 开发频道 > 利用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
文章阅读排行
周排行
月排行
欢迎订阅天极网RSS聚合资讯:http://www.yesky.com/index.xml