Matlab调用C代码驱动电机的问题
最近做一个项目,需要对三轴转台的电机进行操作,厂家提供了对电机进行操作的函数,包括.h .lib .dll 三个文件,利用VC6.0编程,调用这3个文件中的函数即可对电机进行操作。
现在项目中需要对程序进行仿真,所以希望用matlab来对电机进行操作,我尝试了两种方法,分别如下:
1:利用matlab 的 loadlibraray函数载入厂家提供的3个文件,函数可以在matlab中执行,无参数传递的函数,运行良好,但是一旦涉及到带参数传递的函数,返回值就发生错误。
2:先在VC6.0中编写好电机驱动函数,然后将.cpp文件按照mex文件的格式修改,然后用matlab编译成.mex32文件,用matlab调用。经过调试,参数传递正确,但是一旦涉及到对电机发脉冲驱动的函数,matlab就会自动退出。
反复调试了很长时间,都是这样的结果,也没有想到更好的方法。我分析原因可能出现在matlab的实时性问题上。因为在用VC编写电机驱动程序的时候,每当对电机发送驱动指令后都必须利用延时函数确保下一条语句是在驱动语句执行完成之后再执行的。VC的程序被编译成mex32文件后,是否还具有这种性质,不好判断。
不知论坛上有没有高手做过这方面的事情,有什么好方法或思路,还请不吝赐教。我QQ532736196