首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心理工论文电子通信
   用PComm开发PC机与单片机的通信程序      ★★★ 【字体: 】  
用PComm开发PC机与单片机的通信程序
收集整理:佚名    来源:本站整理  时间:2009-01-10 22:32:09   点击数:[]    

数的命令集来处理串口通信,可以在Visual C++、Visual Basic、Delphi 5.0等多种开发工具下使用,且具有传输速度快、使用灵活方便等特点,能够满足复杂情况下的串口通信要求。

3.1 Pcomm的主要命令码

PComm的主要命令码有以下几种:

● sio open(port);

用于设置并打开串口,其中port的1、2、3、4分别代表COM1、COM2、COM3、COM4。当返回值为0时,表示串口已经打开,否则为串口打开出错。

● sio close(port);

关闭串口,当返回值为0时,表示串口已经关闭,否则为串口关闭出错。

● sio ioctl(portbaudmode);

用于设置串口波特率、校验位、数据位、停止位等参数。

● sio getch();

从串口输入缓冲区读出一个字符,返回值为0表示已收到数据。

● sio-read(portbuflen);

用于从串口输入缓冲区读出一串字符,buf代表字符串数组len代表数组长度,返回值为0表示未收到字符,大于0代表收到字符的个数。

● sio-SetReadTimeoutsportTotalTimeouts(Inter-valTimeouts);

在设定的等待时间内连续读串口输入缓冲区,TotalTimeouts代表设定的等待时间,IntervalTimeouts代表每次读出的间隔时间。

● sio-flush(portfunc);

用于清空缓冲区。当func为0时清空输入缓冲区,为1时清空输出缓冲区,为2时清空输入输出缓冲区。

● sio-putch(portterm);

用于向串口缓冲区发送一个字符,返回值为0时表示发送正确,否则表示发送错误。

● sio-write(portbuflen);

用于从串口缓冲区发送一串字符,buf代表字符串数组,len代表数组长度。

3.2 实现过程

在用Pcomm处理PC机的串口通信时,其实现过程如下:

(1)启动VC++ 6.0,新建一个基于对话框的应用程序TxRx。同时增加静态文本、编辑框和按钮控件,并为它们添加相应的变量。其属性见表1。

表1 TxRx应用程序的属性

控  件ID变量名类  型
按  钮IDC_TRSMITT发送按钮 
EditIDC_TXDATAM_TxDataCstring
EditIDC_RXDATAM_RxDataCstring

(2) 将Pcomm.h和Pcomm.lib加入到工程中,并在TxRxDlg.cpp文件中加入#include “Pcomm.h”头文件,此后便可调用其提供的通信命令集。

(3)在TxRxDlg.cpp文件中添加有关程序代码,也就是在OnInitiDialog函数中的TODO语句后加入以下代码:

//TODO Add extra initialization here

int retport=1

ret=sio openport //打开串口1

sio DTRport0 //置DTR为低电平

sio ioctlportB19200P NONE|BIT 8| STOP 1 //设置波特率为19200,8位数据位,

1位停止位,无校验位。

3.3 数据通信

下面举例说明PC机如何通过串口向单片机发送并接收数据。

void CTXRXDlgSendRecv//收发数据子函数

{

while1

{

int ret1

sio flushport2;//清空串口输入输出缓冲区

sio- write(port,1,5);

向串口缓冲区发送5个字符

sio- SetReadTimeouts(port,40,1);

//在40ms内每隔1ms读一次串口

ret1=sio-read(port,RecvBuf,1);

if (ret1>0)

{

sio- close(port);

break;

}

//若收到数据,关闭串口,跳出循环

else;

//若未收到数据,对串口再一次发数据并再次查询接收。

}

}

4 结束语

本文给出了分布式控制系统中上位PC机与下位单片机之间进行异步串行通信的解决方案。此方案在实际运行过程中,运行稳定,通信性能良好,从而较好地解决了上位机与下位机之间的通信问题。



上一页  [1] [2] 


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:基于ST72单片机的快速充电系统

  • 下一篇文章:基于MSP430的三相电能表SA9904B采集系统
  • 返回上一页】【打 印】【关闭窗口
    中查找“用PComm开发PC机与单片机的通信程序”更多相关内容 5VAR论文频道
    中查找“用PComm开发PC机与单片机的通信程序”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››嵌入式系统的通信规约管理平台设计...
  • ››一种基于七号信令的局间话单采集系...
  • ››对于变频器的制动技术分析
  • ››电子文件管理元数据宏观结构多维分...
  • ››浅论卫星电视接收机的常见故障的检...
  • ››信息时代网络用户信息检索焦虑的心...
  • ››论GIS在高校房产管理中的实际应用
  • ››关于电力通信发展战略的思考 金李莎...
  • ››2G、3G切换精细化优化分析思路探讨...
  • ››光纤自动化生产的需求与时机
  • ››用PComm开发PC机与单片机的通信程序...
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .