编制vc下的单文档的串行通讯程序,应该怎么加入控件啊?

vivianm 2002-07-31 07:23:52
直接include头文件就行么?
...全文
88 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
vivianm 2002-07-31
  • 打赏
  • 举报
回复
谢谢!
dailiangcm 2002-07-31
  • 打赏
  • 举报
回复
发了,收吧!
vivianm 2002-07-31
  • 打赏
  • 举报
回复
谢谢
blue_viv@sohu.com
dailiangcm 2002-07-31
  • 打赏
  • 举报
回复
**
** AUTHOR Remon Spekreijse
**
**
*/

#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-send) signal changed state.
#define WM_COMM_DSR_DETECTED WM_USER+3 // The DSR (data-set-ready) signal changed state.
#define WM_COMM_ERR_DETECTED WM_USER+4 // A line-status error occurred. Line-status errors are CE_FRAME, CE_OVERRUN, and CE_RXPARITY.
#define WM_COMM_RING_DETECTED WM_USER+5 // A ring indicator was detected.
#define WM_COMM_RLSD_DETECTED WM_USER+6 // The RLSD (receive-line-signal-detect) signal changed state.
#define WM_COMM_RXCHAR WM_USER+7 // A character was received and placed in the input buffer.
#define WM_COMM_RXFLAG_DETECTED WM_USER+8 // The event character was received and placed in the input buffer.
#define WM_COMM_TXEMPTY_DETECTED WM_USER+9 // The last character in the output buffer was sent.

class CSerialPort
{
public:
// contruction and destruction
CSerialPort();
virtual ~CSerialPort();

// port initialisation
BOOL InitPort(CWnd* pPortOwner, UINT portnr = 1, UINT baud = 19200, char parity = 'N', UINT databits = 8, UINT stopsbits = 1, DWORD dwCommEvents = 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 UINT CommThread(LPVOID pParam);
static void ReceiveChar(CSerialPort* port, COMSTAT comstat);
static void WriteChar(CSerialPort* port);

// thread
CWinThread* m_Thread;

// 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 for each port.
// A Write event and a receive character event which is located in the 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;
DCB m_dcb;

// owner window
CWnd* m_pOwner;

// misc
UINT m_nPortNr;
char* m_szWriteBuffer;
DWORD m_dwCommEvents;
DWORD m_nWriteBufferSize;
};

#endif __SERIALPORT_H__


zhaoweidf 2002-07-31
  • 打赏
  • 举报
回复
www.vchelp.net 有例程..和做好的类
dailiangcm 2002-07-31
  • 打赏
  • 举报
回复
我有一个写好的类,把你的EMAIL告诉我
内容概要:本文聚焦风电出力的不确定性问题,采用拉丁超立方抽样(Latin Hypercube Sampling, LHS)方法生成具有统计代表性的风电出力初始场景集,有效克服传统蒙特卡洛抽样存在的样本冗余与收敛速度慢的缺陷。为进一步降低场景数量以提升电力系统优化调度的计算效率,研究结合K-means聚类、快速前向选择等场景缩减技术,对生成的高维场景进行聚合与概率修正,保留最具代表性的典型场景及其对应概率分布。整个建模流程在Matlab平台上编程实现,形成一套完整的“抽样—生成—缩减—验证”的不确定性建模框架,为含高比例风电的电力系统提供高质量、低冗余的输入场景集,显著增强随机优化、鲁棒优化等模型的求解效率与工程实用性。; 适合人群:具备电力系统分析、概率统计基础及Matlab编程能力,从事新能源并网、电力系统优化调度、不确定性建模与风险评估等方向的科研人员、工程技术人员及研究生。; 使用场景及目标:①应用于风电主导的电力系统随机优化调度、机会约束规划、鲁棒经济调度等场景,提升模型对不确定性的刻画能力;②帮助研究者深入掌握拉丁超立方抽样与场景缩减的核心原理与实现方法,构建高精度的不确定性输入模型;③为复杂电力系统仿真提供经过科学约简的典型场景集,平衡计算精度与效率,支撑实际工程决策。; 阅读建议:建议读者结合提供的Matlab代码逐模块调试与运行,重点理解LHS在多维空间中的分层抽样机制、场景距离度量方式及聚类缩减过程中的概率守恒原则,关注缩减前后场景集的分布保真性与计算效率提升效果,以全面掌握风电不确定性建模的关键技术路径。
代码下载链接: https://pan.quark.cn/s/a4b39357ea24 全国范围内的飞思卡尔智能车竞赛是一项专注于在校大学生的科技创新项目,其目的在于通过设计并制造一辆能够执行特定任务的智能车辆,以增强学生的创新思维和工程实践技能。在此过程中,参赛团队需要开发相应的控制程序代码,用以确保智能车的平稳运作以及高级功能,例如路径选择、障碍物躲避等。本文将详细分析飞思卡尔智能车竞赛程序代码中常见的几个核心信息技术范畴:PID控制方法、智能控制方法、图像识别方法以及超声波测距技术。 PID控制方法作为智能车控制系统的核心组成部分,通过模仿人类的驾驶行为,并融合传感器提供的实时数据,对车辆的运动进行精确调控。在智能车竞赛中,PID控制通常被应用于处理车速、方向和加速度等多个控制方面。一个标准的PID控制系统主要由三个关键部分构成:比例部分(P)、积分部分(I)和微分部分(D)。比例部分负责减少误差,积分部分旨在消除稳态误差,而微分部分则预测误差的发展趋势,从而实现快速响应变化。通过调整PID参数,可以使智能车在赛道上保持稳定,并能迅速适应赛道条件的变化。 智能控制方法的实现是智能车在复杂环境中有效运行的关键。智能控制往往需要整合机器学习和人工智能技术,例如模糊逻辑、神经网络或遗传算法等。在智能车竞赛场景下,车辆需要依据传感器收集的环境数据,完成对路线的识别、障碍物的规避等任务。路径规划方法能够协助车辆挑选最优的行驶路线,而避障策略则保障车辆能够安全地绕开前方的障碍物。此外,智能车还应具备一定的学习功能,能够适应环境的变化,并作出相应的调整。 图像识别方法对于智能车对赛道的感知能力具有决定性作用。车辆通常配备摄像头或其他视觉传感器来采集图像信息。借助图像处理...

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧