公平的警告,我对使用Matlab和Visual Studio相对陌生。
我一直在尝试创建可以通过USB与arduino通信的代码。我使用一个名为CmdMessenger的库找到了一些示例代码,这些示例提供了加载到Arduino上的代码和使用Visual Studio构建的代码。默认情况下,这些示例在命令行上运行,但我将它们设置为创建.DLL文件,并使用NET.addAssembly将这些文件添加到Matlab中并使用它们。起初,这一切都很好,我可以向我的arduino发送一个命令,在向Matlab发送确认信号之前切换LED一段时间。
不幸的是,我需要对示例代码进行更改,所以我添加了一些自己的代码,并使用不同的示例代码创建了一个新的DLL,以更好地满足我的需求。我能够使用";a=NET.addAssembly";并在Matlab中使用名称空间。然后我做了更多的更改,清除了变量";a";,并试图使用";a=NET.addAssembly";再次,但这次我收到了一条错误消息。
事实上,我去尝试添加我以前使用的示例DLL,现在它也给了我相同的错误消息。我搜索了一下,没有发现任何帮助我纠正这种情况的东西。
我下达的命令是:;a=NET.addAssembly('C:\DLL\SendAndReceiveArguments.DLL'(">
我收到的错误信息是:
Message: Could not load file or assembly 'file:///C:DLLSendAndReceiveArguments.dll' or one of its dependencies. An attempt was made to
load a program with an incorrect format.
Source: mscorlib
HelpLink:
如有任何关于解决此问题的建议,我们将不胜感激。
在我上一篇帖子发布5分钟后,我从这个网站上提出的另一个问题中找到了答案。显示我的搜索到目前为止做得有多好。
这个问题的第一个答案使我走上了正确的道路。我所需要做的就是右键单击Visual Studio中的项目,然后选择"属性"。在此菜单中,从左侧面板中选择"Build",并确保"Platform target:"设置为"Any CPU"(出于某种原因,我的设置为x86(。
图片:在项目属性下,转到"构建"菜单,确保"平台目标:"设置为"任何CPU">
有了这个更改,我的项目就顺利地加载到了Matlab中。
很抱歉浪费了任何人的时间来寻找我本可以找到的答案,谢谢你的时间。