原创 基于matlab的COM与VC 编程

2010-1-18 22:49 2680 8 8 分类: 软件与OS

今晚查资料学习了下,基本过程如下:walnutcy


注:想实现一个实时从串口读数据并进行分析的应用,需要高精度的数据处理及拟合,所以想用matlab混编,另matlab好像可以直接读串口,需要查下资料。


COM编程,也有很多函数不可使用,明天再查找下matlab直接读取串口的例程,了解下先。 walnutcy


编写一个简单的M文件,带画图功能,如下:walnutcy


function res = plot_sin(h, r)
x = -pi:pi/100:pi;
y = sin(x);
plot(x,y);
res = 1;


然后输入deploytool,我用的是2008a,  旧版的是comtool; walnutcy


新建COM工程,如下图,然后添加M文件,编译即可。walnutcy


点击看大图


在VC中调用如下:  注:这三个文件需要拷贝到C工程,在编译目录可以找到,


#include "mwcomtypes.h" walnutcy
#include "test1_idl.h"
#include "test1_idl_i.c"
void CltSimGPSDlg::OnViewSkyview()
{
 // Initialize argument variables
 VARIANT res;
 VARIANT h;
 VARIANT r;
 //Initialize the COM library    
 HRESULT hr = CoInitialize(NULL);  
 //Create an instance of the COM object you created   
 Itest1class *pImycomponentclass;    
 hr=CoCreateInstance(CLSID_test1class, NULL, CLSCTX_INPROC_SERVER, IID_Itest1class,
         (void **)&pImycomponentclass); 
 VariantInit(&h);
 VariantInit(&r);
 hr=(pImycomponentclass -> plot_sin(1, &res, h, r));
 // Uninitialize COM    
 CoUninitialize();     walnutcy
}walnutcy

文章评论0条评论)

登录后参与讨论
我要评论
0
8
关闭 站长推荐上一条 /2 下一条