文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | firefox | WPS | 杀毒软件 | Picasa
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形图像 办公软件 媒体动画 精文荟萃 常用软件 网页编程 技术开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发C++Builder用Builder C++设计串行口COM1或COM2的读写操作
精品推荐
特别推荐
·菜鸟入门 认识C#中的委托和事件
·WINDOWS下的动态鼠标光标控制
热点TOP10
·在C++ Builder中进行DirectX编程(2)
·菜鸟入门 认识C#中的委托和事件
·用WinSock控件编写网络聊天器
·C++ Builder 中的自画功能
·用Builder C++设计串行口COM1或COM2的读写操作
·用C++ Builder3 制作记事本
·C++ Builder VCL库函数简介
·C++BUILDER中一些实现界面效果的技巧
·在 C++ Builder中利用串行通信控件编程
·在C++Builder利用NetBIOS进行编程
·C++Builder IDE使用技巧与快捷键
·深入VCL 理解BCB的消息机制(二)
·数字小键盘指法练习
·关于捕获VCL没有处理的Windows消息
·用C++ Builder 5.0编HOOK程序
·C++Builder代码片断
·C#动态生成树型结构的Web程序设计
·QuickReport基本知识
·ODBC中的同步与异步执行模式
·利用C++ Builder 5.0创建用户自己的网上聊天程序

用Builder C++设计串行口COM1或COM2的读写操作

日期:2008年2月11日 作者: 查看:[大字体 中字体 小字体]


  一个通讯类(对串口的读写),可以不用做修改就用在程序中

TSerialPort.h

#ifndef __SERIALPORT_H__
#define __SERIALPORT_H__

#define WM_COMM_BREAK_DETECTED WM_USER+1 // A break was detected on input.
#define WM_COMM_CTS_DETECTED WM_USER+2 // The CTS (clear-to-sennd) sig
nal changed state.
#define WM_COMM_DSR_DETECTED WM_USER+3 // The DSR (data-set-reaady) si
gnal changed state.
#define WM_COMM_ERR_DETECTED WM_USER+4 // A line-status error ooccurre
d. Line-status errors are CE_FRAME, CE_OVERRUN, and CE_RXPARITY.

#define WM_COMM_RING_DETECTED WM_USER+5 // A ring indicator was etec ted.
#define WM_COMM_RLSD_DETECTED WM_USER+6 // The RLSD (receive-lin
-sig
nal-detect) signal changed state.
#define WM_COMM_RXCHAR WM_USER+7 // A character w
s received and pl
aced in the input buffer.
#define WM_COMM_RXFLAG_DETECTED WM_USER+8 // The event character w
s
received and placed in the input buffer.
#define WM_COMM_TXEMPTY_DETECTED WM_USER+9 // The last character in
th
e output buffer was sent.

class TSerialPort
{
public:
// contrUCtion and destruction
TSerialPort();
virtual ~TSerialPort();

// port initialisation
BOOL InitPort(TForm* pPortOwner, UINT portnr = 1, UINT baud =
19200,
char parity = 'N', UINT databits = 8, UINT stopsbits = 1, DWord dwCom
mEvents = EV_RXCHAR EV_CTS, UINT nBufferSize = 512);

// start/stop comm watching
BOOL StartMonitoring();
BOOL RestartMonitoring();
BOOL StopMonitoring();

DWORD GetWriteBufferSize();
DWORD GetCommEvents();
DCB GetDCB();

void WriteToPort(char* string);

protected:
// protected memberfunctions
void ProcessErrorMessage(char* ErrorText);
static DWORD _stdcall CommThread(LPVOID pParam);
static void ReceiveChar(TSerialPort* port, COMSTAT comstat);
static void WriteChar(TSerialPort* port);

// thread
HANDLE m_HThread;

// synchronisation objects
CRITICAL_SECTION m_csCommunicationSync;
BOOL m_BThreadAlive;

// handles
HANDLE m_hShutdownEvent;
HANDLE m_hComm;
HANDLE m_hWriteEvent;

// Event array.
// One element is used for each event. There are two event handles fo
r each port.
// A Write event and a receive character event which is located in th
e overlapped structure (m_ov.hEvent).
// There is a general shutdown when the port is closed.
HANDLE m_hEventArray[3];

// structures
OVERLAPPED m_ov;
COMMTIMEOUTS m_CommTimeouts;

[1] [2] [3] [4] [5] [6] [7] [8] 下一页 




上一篇:用C++Builder建立多线程COM服务器

下一篇:在BCB中使用DirectX

用Builder C++设计串行口COM1或COM2的读写操作 相关文章:
·常用破解网络密码的方法多个
·XP系统运行慢?小编自用7招解决
·常用英文名字排行榜
·Vista系统使用技巧总结
·神不知鬼不觉地更换Win XP用户密码
·qq空间皮肤背景代码:QQ空间不用Q币更换主页皮肤方法
·GHOST使用方法(图解)
·每周电脑应用技巧荟萃
·女孩起名常用字
·XP用户:教你实用50招
用Builder C++设计串行口COM1或COM2的读写操作 相关软件:
·FLASH 8中文使用手册
·黑客视频教程-灰鸽子远控使用教程
·黑客视频教程 VMware虚拟机的安装和使用
·用Photoshop美化你的相片
·使用GPMC随心所欲管理组策略
·AutoCAD应用技巧与常见问题你问我答
·电脑安装与维修实用技术1
·中文版 AutoCAD2004 应用实例与技巧
·用友财务 v8.15
·Adobe Photoshop CS 2 简体中文使用指南

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:vipcn