Hi,
I have written a driver for a device I am making and need to interface the device with MATLAB. Essentially the driver is a kernel mode Windows driver written around WDF. I can already access the driver using the Windows APIs: "GetDevicePath()", "CreateFile()", "WriteFile()" and "ReadFile()" from a C++ program.
So the question is, is there a MATLAB equivalent to the aforementioned functions? If not how is the best way to go about this?
Thanks.

 채택된 답변

Eric Sampson
Eric Sampson 2014년 3월 18일

1 개 추천

Hi Tom, my initial thoughts would be to investigate one of the following:
a) write a C/C++ dll API for your driver, and then load it into MATLAB using LOADLIBRARY.
b) write a .NET assembly API for your driver, and then use MATLAB's ability to load .NET assemblies.
c) write a MEX function to control the driver directly via WDF Windows APIs.
I would lean towards option a), because that way you will end up with a C/C++ DLL that you can reuse in other contexts/languages, and calling DLL functions in MATLAB using LOADLIBRARY is very painless.
I hope that helps :)

댓글 수: 3

Thomas Carpenter
Thomas Carpenter 2014년 3월 18일
Thanks for tips, I'll have a look into loadlibrary and making a dll.
Thomas Carpenter
Thomas Carpenter 2014년 3월 19일
Got it working. I've created a DLL wrapper for the driver and have successfully got loadlibrary() and calllib() working. Thanks :)
Eric Sampson
Eric Sampson 2014년 6월 11일
Awesome, thanks for the update! Missed seeing it somehow :)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Instrument Control Toolbox Supported Hardware에 대해 자세히 알아보기

질문:

2014년 3월 17일

댓글:

2014년 6월 11일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by