How to integrate nested structures in C with Simulink?
1 次查看(过去 30 天)
显示 更早的评论
I have some legacy code written in C that I would like to integrate with SIMULINK. Some nonsense code to describe the structure of the C-code is shown below:
legacy.h
typedef float myType1;
typedef int myType2;
typedef struct {
myType1 var1;
myType2 var2;
} myStruct;
void myFcn(myStruct* a, myType1* b, myType2 c);
legacy.c
#include "legacy.h"
void myFcn(myStruct* a, myType1* b, myType2 c)
{
// Function does something.
}
My goal is to end up with a block in SIMULINK with the same functionality as the function written in C. Both the legacy code tool and the C-caller block work well when using only the standard data types, or even structures comprising of the standard data types as input arguments. But I can't get it to work with either of these methods when one of the input arguments is a struct comprising of other non-standard data types. Is there a way to solve this problem?
0 个评论
回答(1 个)
Fangjun Jiang
2021-1-28
myType1 would be a Simulink.AliasType, myStruct would be a Simulink.Bus
Look in document for this objects and you should be able to generate the code as your template.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Additional Math and Discrete 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!