今晚查资料学习了下,基本过程如下: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条评论)
登录后参与讨论