CSerialPort类,如何启动一线程循环调用writetoport()方法

soldier3 2011-09-14 10:42:30
写的程序中用到了CSerialPort类来实现串口数据的读写。现打算实现这样一个功能:上位机循环不断的发指令到下位机(上下位机通过无线数传电台连到串口进行通信),下位机收到后返回应答,上位机收到应答后停止发送。
我现在在发送的命令按钮里用CSerialPort类的writetoport()方法可实现一次写,但放在循环里,重复写,应用程序有时就不响应其他动作。
想到的解决方法是,在命令按钮里创建一个线程,在线程处理函数中写一个循环,循环体为CSerialPort类的writetoport()方法。但碰到的问题是,一运行就提示:该内存不能读,不能写等错误。
请教各位:如何在线程中调用CSerialPort类的writetoport()方法?或有没有别的解决方法。谢谢!
...全文
274 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰晶之魂 2013-11-29
  • 打赏
  • 举报
回复
大哥不能循环写的,你要个定时器定时写就行了。
soldier3 2011-09-15
  • 打赏
  • 举报
回复
顶上!
soldier3 2011-09-15
  • 打赏
  • 举报
回复
没人回答?
诶呦 2011-09-14
  • 打赏
  • 举报
回复
线程的处理函数是全局函数,你要用CSerialPort类中的方法,声明一个CSerialPort类变量就可以了
soldier3 2011-09-14
  • 打赏
  • 举报
回复
唯独写函数不能执行,其他可以。
内容概要:本文提出了一种基于蒙特卡洛模拟与拉格朗日松弛法相结合的分散式优化方法,用于解决电动汽车充电站在分时电价机制下的有序充电调度问题。通过构建考虑用户充电需求与电网负荷平衡的优化模型,利用拉格朗日松弛法处理多车充电之间的耦合约束,实现去中心化的决策过程;同时引入蒙特卡洛方法模拟用户充电行为的不确定性,提升调度策略的鲁棒性。该方法有效降低了电网负荷峰谷差,提高了充电经济性与系统运行效率,为大规模电动汽车接入提供了可行的调度解决方案。; 适合人群:具备电力系统优化基础和Matlab编程能力的研究生、科研人员,以及从事智能电网、电动汽车能源管理等相关领域的工程技术人员。; 使用场景及目标:①应用于城市充电站集群的运营调度,实现削峰填谷与成本优化;②支撑电力系统需求侧管理研究,评估分时电价政策对用户充电行为的引导效果;③为多主体参与的分散式能源管理系统提供算法参考与仿真验证工具。; 阅读建议:建议读者结合提供的Matlab代码深入理解拉格朗日乘子迭代更新机制与蒙特卡洛场景生成流程,重点分析算法收敛性与不同电价策略下的调度结果差异,可通过调整用户数量、充电功率等参数进行仿真实验,以掌握模型的实际应用特性。

15,465

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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