FYI Je viens de construire un système comme le vôtre mais avec un TI DSP. Je suppose que vous faites quelque chose de complexe comme le contrôle vectoriel. Si oui, voici ce que vous faites: Dans votre modèle, faites un bloc pour chaque tâche/chaque période dont vous avez besoin. Cela peut être simplement l'interruption PWM avec le contrôle en elle. Définissez tous les IO dont chaque tâche aura besoin - essayez de garder chaque signal à 16 bits qui sont atomiques sur le DsPIC (ceci élimine la plupart des transitions de fréquence). Obtenir simulink pour faire de chaque bloc de niveau supérieur un appel de fonction. Ne faites que le contrôle à l'intérieur de ces/ces blocs et laissez toute la configuration matérielle, la planification des tâches, l'autre logique au code C. Simulink peut générer un fichier C et H que vous venez d'inclure dans le projet avec l'autre code. Vous allez remplir une structure d'entrées, appeler la fonction et récupérer une structure avec les sorties. Gardez le modèle propre de toutes les dépendances matérielles.
Ne croyez pas les gens de marketing de Mathworks. Ils veulent que tu fasses tout dans Simulink. Ne vous méprenez pas, c'est un excellent outil pour certains types de choses. Mais pour des choses que vous ne pouvez pas faire dans le modèle (comme hello world), ils suggèrent d'utiliser "l'outil de code hérité" comme si tout ce qui n'est pas un modèle est "totalement old-school". Restreignez votre modèle pour contrôler les boucles et les flux de signaux - ce qui est bon pour - et tout ira bien.