- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Simulink 设备驱动程序指南中所述的 Matlab 函数方法为 Arduino Due 编写一个 simulink 设备驱动程序 block 。当我想使用 coder.ceval() 将 double 从 C++ 代码传递到 matlab 函数代码时,我得到了一个错误的数字。这是一个例子:
C++函数:
#include <Arduino.h>
extern "C" double dout_output()
{
return 50.5;
}
Simulink 中的 Matlab 函数:
function x = example()
x = 0.0;
if strcmp(coder.target,'rtw'),
x = coder.ceval('dout_output');
end
当我在 adruino 上以外部模式运行这段代码时,由于我没有得到 50.5,而是一个很大的数字,比如 1113794816。有什么建议吗?
最佳答案
包含 dout_output
声明的头文件是否包含在从 MATLAB 函数代码生成的 C 代码中?否则,您可能会看到编译器警告,其中说明隐式 int
返回类型。
当 C 编译器没有函数声明时,它们可能假定返回类型为 int
。通常 sizeof(int) != sizeof(double)
。所以这种不匹配会导致令人惊讶的结果。 This answer对此进行了更多讨论。
尝试添加:
coder.cinclude('dout_output.h');
到您的 MATLAB 代码,其中 dout_output.h
替换为包含 dout_output
声明的 header 的名称。
您可能还需要将包含目录添加到自定义代码设置中:
"Configuration Parameters->Simulation Target->Custom Code->Include Directories"
可能还有:
"Configuration Parameters->Code Generation->Custom Code->Include Directories"
或者,您可以使用 coder.ExternalDependency
为您的 MATLAB 代码封装外部代码依赖项的方法。
关于c++ - 数据类型与 arduino 和 coder.ceval 不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28236793/
NSCoding 需要 init(coder:),但也有此方法的可选版本 init?(coder:)。 如果返回 nil,具体应该怎么办?这甚至是一个问题吗? 假设您正在使用 init(coder:)
我正在处理一个 MATLAB Coder 项目,我想在其中加载一些常量值。在尝试了多种可能性之后,均未成功,我提出了“coder.load”指令,该指令从 MAT 文件加载变量并假定它们作为生成的 C
我正在构建 Apache Beam 管道,但在尝试导入管道选项时遇到了 AttributeError。 我正在使用 python3.6 在干净的虚拟环境中的 Ubuntu 服务器上进行测试 步骤: v
我需要使用 y=coder.ceval() 从 matlab 调用 c 函数,并从该函数返回一个字符串。但是 coder.ceval() 函数只允许我返回标量值。然而 String 是一个 char
最近我从 Xcode 6.2 更新到 Xcode 6.3 beta 4 并打开了我的项目。我在 init() 上遇到以下错误:Missing argument for parameter 'coder
我正在 simulink 中开发一个系统控制,我想在嵌入式板上运行这个模型。因此,我想将模型的输入和输出与特定函数(在模型外部手写)联系起来。 为了理解:我有一个输入,它是一个包含 8 个元素的数组。
我正在使用 Matlab 处理大型数组中的大量数据。我的程序运行良好,现在我已将其转换为 C,但遇到了最大数组大小问题。 定义emxArray时,定义如下: struct emxArray_real_
我正在尝试在一段代码中使用动态增长的结构数组,该代码应该使用 Coder 转换为 C: 我初始化该结构,然后为编码器声明其字段可变大小,然后我继续扩展该结构。请注意,我已经简化了这个示例以帮助生成代码
我已将自定义 UIButton 编码为: class AccountOpeningButton: UIButton { required init?(coder aDecoder: NSCode
我正在通过在线类(class)学习 iOS 开发,每次我制作自定义 View (自定义表格 View 单元格、 Collection View 单元格等)时,讲师总是实现此初始化程序: require
为将来阅读本文的人提供一些背景知识(以防它未锁定)。我倾向于使用高级语言进行编程以首先理解问题。在涵盖所有可能的极端情况后,我继续将代码翻译成 C++(或 C)。 我编写的大部分代码都包含数学,因此
我正在尝试为1.7.10安装地雷编解码器包。我已经下载了src forge软件包,并且正在使用终端。我用它来安装它。 http://www.minecraftforge.net/wiki/Instal
我正在尝试使用 Matlab 编码器从 .m 文件生成 mex 代码文件。其代码是 function [result,x]=tesrank(A,x) result = []; n = x; for c
我正在尝试使用 Matlab Coder 工具将一些 matlab 代码转换为 c 动态库 (.dll)。我正在一些简单的示例代码上尝试它,但我不断收到相同的错误,但找不到解决方案。 我的代码是: f
我正在学习 Java,作为高中作业之外的个人项目,我决定制作一些数学求解程序来练习。 为了热身,我决定编写一个基本的计算器程序......并且它有效......有点。所以...请帮助我! 目标: ->
当我尝试运行 int(coder:) 时它显示此错误,我不知道为什么? “不可失败的初始化器要求 init(coder:) 不能被可失败的初始化器 ('init?') 满足” class Note:
需要初始化一个对象,但我的初始化程序不合作。到目前为止我已经知道了,但我不确定如何将参数传递给我的对象初始值设定项。 init(coder aDecoder: NSCoder, caseImage:
我有一个继承自 PFTableViewCell 的自定义类。我想使用 Storyboard 来初始化类(class)。我使用“tableView.dequeueReusableCellWithIden
我正在尝试暂停或停止一个永远重复的 SKAction,这应该在用户按下暂停按钮时发生。我找到了一种停止音乐的方法,但由于这个错误,我无法调用它所在的函数。它准确地说:Missing argument
我有一个函数 sq_dist()。可以像这样调用此函数 sq_dist(a,b) 或 sq_dist(a)。此功能包括缓慢的操作,因此我正在尝试制作它的 Mex 版本,希望它运行得更快。我正在使用 M
我是一名优秀的程序员,十分优秀!