- Open unit delay block and set the initial condition with name lets say "myParam" and its value to be "Simulink.Parameter(100)”. Click OK.
- On the Code Generation tab, click the Code Mappings editor, set Storage Class of "myParam" to "Define". Click OK.
- To build the model and generate code, press Ctrl+B.
MACRO Expansion in Targetlink Code
4 次查看(过去 30 天)
显示 更早的评论
I am trying to use a unit delay block where the initial condition of delay block is a macro, In the production code of Targetlink the Macro is automatically expanded to the value, i dont want that macro to expand in generated code. The block is inside a Lib file, so the entire code is not generated, only initial values are generated in main code.
0 个评论
采纳的回答
Varun
2023-8-28
Hi Sulagana,
I understand the issue that the macro used to set initial condition of delay block is being expanded in the generated code.
In order to used it as a macro only without being expanded, you can follow below steps:
You can refer this documentation for more info: https://in.mathworks.com/help/ecoder/ug/macro-definitions-define.html
3 个评论
Champuram Madhu
2023-10-3
Hi
You could try creating a TargetLink DD variable with MACRO class.
In that case, it should be generated as a MACRO irrespective of the location
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!