-
MEX Function en c
Bonjour
Je souhaite utiliser une MEX function implémenté en C,
Dans cette implémentation je souhaite récupérer des variables du worspace: comment l'implémenter? De plus, je penses que je ne peux utiliser une s-function dans ce cas là, puis-je utiliser une MATLAB FCN?
Cordialement
Celtic
-
Bonjour,
Si tu as une fonction C, il semblerait que le plus judicieux soit d'utiliser une S-function pour l'intégrer dans Simulink.
Tu peux aussi l'appeler depuis une MATLAB Function, as-tu essayé de l'appeler directement?
Quand tu parles de récupérer des variables du workspace, en quoi cela consiste concrètement? C'est des paramètres, des variables?
Duf
-
Bonjour Duf,
Merci de ton soutien, dans le workspace j'ai des paramétres qui ne bougent pas, ils sont calculés avec une fonction 'init.m' .
J'ai essayé avec une embeded Matlab, dont je transfére ces paramétres mais cela prends du temps, d'allocation de mémoire. Mon idée est d'implémenter en C et d'appeler cette fonction dont je pensais récupérer ces paramétres en pointant sur ces adresses paramétres directement
Cordialement
Celtic
-
Dans ce cas, je te conseille de regarder les fonctionnalités
Code:
1 2 3
|
coder.ceval
coder.ref |
Qui permettent d'appeler du code C depuis une MATLAB Function et de lui passer les pointeurs en argument.
-
Bonjour Duf
Je n'ai pas trouvé de documentations et informations concernant les fonctionnalité de coder
Cordialement
Celtic
-
Peut-être que ta version de MATLAB est trop ancienne, CODER est apparu en r2011a, avant il me semble que ca s'appelait EML.
-
Bonjour,
Je ne sais pas si cela est trop tard mais, si tu souhaite intégrer du code C dans simulink il est claire qu'il faut que tu utilise une S-function. Ensuite si tu veux partager des variables du workspace, tu peux les faire passer en tant que paramètre de la S-function. Tu n'aura plus qu'à les récuperer dans ton C en utilisant la fonction ssGetSFcnParam.
GeorgetomW