我用comm控件接收和发送数据的时候,内存占用就会不断增加,但是,如果不用comm.getinput(),直接发送任意数据,内存占用都不会不断增加,而在vb中从来不会出现这样的情况,其中我添加的代码如下:(采用对话框mfc)
在oninitdlg中:
m_com1.SetCommPort(1);
m_com2.SetCommPort(2); if(m_com1.GetPortOpen()==FALSE)
m_com1.SetPortOpen(TRUE);
if(m_com2.GetPortOpen()==FALSE)
m_com2.SetPortOpen(TRUE);
m_com1.SetOutput(COleVariant("a"));
SetTimer(1,2,NULL);
timer:
void CDffdsDlg::OnTimer(UINT nIDEvent)
{
COleVariant a=m_com2.GetInput();//COleVariant("ass"));
//m_com1.GetInput());
m_com1.SetOutput(a);//m_com1.GetInput());
}
大家看看这是怎么会事?难道mscomm有bug??还是我自己造成的内存泄漏(但是用工具查不出泄漏)
在oninitdlg中:
m_com1.SetCommPort(1);
m_com2.SetCommPort(2); if(m_com1.GetPortOpen()==FALSE)
m_com1.SetPortOpen(TRUE);
if(m_com2.GetPortOpen()==FALSE)
m_com2.SetPortOpen(TRUE);
m_com1.SetOutput(COleVariant("a"));
SetTimer(1,2,NULL);
timer:
void CDffdsDlg::OnTimer(UINT nIDEvent)
{
COleVariant a=m_com2.GetInput();//COleVariant("ass"));
//m_com1.GetInput());
m_com1.SetOutput(a);//m_com1.GetInput());
}
大家看看这是怎么会事?难道mscomm有bug??还是我自己造成的内存泄漏(但是用工具查不出泄漏)
解决方案 »
- vc的发展
- 用CString::Format时出现异常信息:“buffer to small”
- 紧急求助关于socket的问题
- 不懂SDK的免入,恐怖 HELLOWORLD 导致CPU 100%占用
- 谁能帮我做这样一道题~学艺不精,只能放一百分了
- 一个32位窗口程序,在客户区如何增加文字,菜单,按扭?
- 一个让我挠头的问题
- CMonthCalCtrl类中如何得到当前所选择的日期呢?
- 如何进行进程间的通信
- C++ Win32窗口 怎么隐藏 菜单上的关闭按钮
- 请教出错信息:Compression.obj : error LNK2001: unresolved external symbol _sendto@24
- 高手指点:不知被哪个臭网站在我的IE标题栏加了个广告按扭,怎样去掉它?
我现在要作一个串口通信的监控程序,监控电机的转速.
听说串口通信有几种方法
内联汇编
api
或mscom
哪个好用?
其实也就是CreateFile("com1"....)打开串口,WriteFile,ReadFile读写串口,CloseFile()关闭串口。
我看还是去下载一个控件好了:),自己写了一个,不太好用,异步处理不知怎么弄才好
2。mscom控件最容易上手,很简单。
3。api最灵活,异步处理主要是ouerlapper结构。
4。或者down一个CSerialPort 类
要作一个串口通信的监控程序,监控电机的转速.根据你的情况推荐使用mscom控件。
[email protected]