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

soldier3 2011-09-14 10:42:30
写的程序中用到了CSerialPort类来实现串口数据的读写。现打算实现这样一个功能:上位机循环不断的发指令到下位机(上下位机通过无线数传电台连到串口进行通信),下位机收到后返回应答,上位机收到应答后停止发送。
我现在在发送的命令按钮里用CSerialPort类的writetoport()方法可实现一次写,但放在循环里,重复写,应用程序有时就不响应其他动作。
想到的解决方法是,在命令按钮里创建一个线程,在线程处理函数中写一个循环,循环体为CSerialPort类的writetoport()方法。但碰到的问题是,一运行就提示:该内存不能读,不能写等错误。
请教各位:如何在线程中调用CSerialPort类的writetoport()方法?或有没有别的解决方法。谢谢!
...全文
155 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰晶之魂 2013-11-29
  • 打赏
  • 举报
回复
大哥不能循环写的,你要个定时器定时写就行了。
soldier3 2011-09-15
  • 打赏
  • 举报
回复
顶上!
soldier3 2011-09-15
  • 打赏
  • 举报
回复
没人回答?
诶呦 2011-09-14
  • 打赏
  • 举报
回复
线程的处理函数是全局函数,你要用CSerialPort类中的方法,声明一个CSerialPort类变量就可以了
soldier3 2011-09-14
  • 打赏
  • 举报
回复
唯独写函数不能执行,其他可以。

15,471

社区成员

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

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