How to create an ExportedDefine global variable in Simulink for Code Generation?

For Code Generation from Matlab code the storage class 'ExportedDefine' allows to make a simulink variable appear in generated C-code as
#define var_name var_value
Is there a way to do this for a (constant) variable when generating code from a Simulink model?
Thanks for your help!

 채택된 답변

Fangjun Jiang
Fangjun Jiang 2024년 1월 2일
이동: Fangjun Jiang 2024년 1월 2일
Create a Simulink.Parameter, specify the storage class as "Define".

댓글 수: 2

Thank you!
By creating a Simulink.Parameter in the base workspace like this:
z = Simulink.Parameter;
z.Value = uint32(10);
z.CoderInfo.StorageClass = 'Custom';
z.CoderInfo.CustomStorageClass = 'Define';
and referencing the parameter in the generated model like this:
I get a #define line in the generated code:
#define z 10U
Because I do not use the Parameter in the model itself but rather want to use it in other C-files, I need to add to the signal Param_z to the code mappings for the Parameter to be defined. Is there a more elegant way to do this?
Your asked "Is there a way to do this for a (constant) variable when generating code from a Simulink model?"
If just want to have the .h file to do the #define, why not create the .h file directly, manually or create a script to write the text file.

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Simulink Coder에 대해 자세히 알아보기

제품

릴리스

R2023b

질문:

2024년 1월 2일

댓글:

2024년 1월 3일

Community Treasure Hunt

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

Start Hunting!

Translated by