我是靠谱客的博主 内向眼睛,最近开发中收集的这篇文章主要介绍Simulink代码生成(十六)——tlc函数应用Simulink代码生成(十六)——tlc函数应用一、tlc函数应用举例二、生成想要的文件,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
Simulink代码生成(十六)——tlc函数应用
文章目录
- Simulink代码生成(十六)——tlc函数应用
- 一、tlc函数应用举例
- 二、生成想要的文件
一、tlc函数应用举例
以十六进制转十进制为例
- %assign result = FEVAL(“MATLAB-function-name”, rhs1, rhs2, …, rhs3, …)
FEVAL函数的首个参数为MATLAB函数名,用双引号括起来,其后参数为这个MATLAB函数的参数列表,返回值只能接收MATLAB函数的首个返回值,且其数据类型自动转换为TLC的内建数据类型。- CAST函数是TLC语言中负责数据类型转换的重要函数。
CAST(“DataType”, variablename)
%% hex2dec.tlc
%selectfile NULL_FILE
%function hex2dec(hexnum) Output
%assign hexnum = FEVAL("strrep",hexnum,"0x","")
%warning hexnum = %<hexnum>
%assign decnum = FEVAL("hex2dec",hexnum)
%assign decnum = CAST("Number",decnum)
%warning decnum = %<decnum>
%return decnum
%endfunction
%% test.tlc
%include "hex2dec.tlc"
%assign a = hex2dec("0x3E")
二、生成想要的文件
采用createrecord可以方便进行管理
%% func_gen.tlc
%selectfile NULL_FILE
%function code_gen(filename,ret,funcname,body,arg_list) Output
%openfile buf = "%<filename>"
#include <math.h>
%<ret> %<funcname>(%<arg_list>)
{
%<body>
}
%closefile buf
%endfunction
%% codegen_script.tlc
%include "func_gen.tlc"
%createrecord codegen_rec{...
ret "float"...
funcname "my_cal"...
argument "int a"...
filename "calculate.c"...
body "//body
float b;
b = sin(a);
return b;"...
}
%<code_gen(codegen_rec.filename,codegen_rec.ret,codegen_rec.funcname,codegen_rec.body,codegen_rec.argument)>
生成的文件为:
//calculate.c
#include <math.h>
float my_cal(int a)
{
//body
float b;
b = sin(a);
return b;
}
最后
以上就是内向眼睛为你收集整理的Simulink代码生成(十六)——tlc函数应用Simulink代码生成(十六)——tlc函数应用一、tlc函数应用举例二、生成想要的文件的全部内容,希望文章能够帮你解决Simulink代码生成(十六)——tlc函数应用Simulink代码生成(十六)——tlc函数应用一、tlc函数应用举例二、生成想要的文件所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复