Simulink C-caller with persistent fcn
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I'd like to have a short fcn in Simulink called by C-caller
if (state>0)
{
state = -1;
y = 0.1;
} else if (state < 0)
{
state = 1;
y = -0.1;
} else
y=0;
I need to have "state" variable as peristent, can I have a persistent variable within C-caller?
Thank you.
0 Commenti
Risposte (2)
Shantanu Dixit
il 1 Nov 2024
Hi Jack,
You can make the 'state' variable persistent within a C-caller block in Simulink by declaring it as 'static' in your C function. This ensures that the 'state' retains its value between calls to the function, effectively making it persistent across simulation time steps.
Hope this helps!
0 Commenti
David Balbuena
il 6 Nov 2024
You could use the C Function block instead. The C Function block lets you put that code directly in the block mask, and it also lets you define "state" to be a persistent symbol. This example shows how to do that: https://www.mathworks.com/help/simulink/ug/modify-states-of-a-c-function-block-using-persistent-scope.html
0 Commenti
Vedere anche
Categorie
Scopri di più su Simulink Environment Customization in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!