当前位置:网站首页>2837xd Code Generation - stateflow (4)
2837xd Code Generation - stateflow (4)
2022-07-02 09:37:00 【Quikk】
2837xd Génération de code——StateFlow(4)
16 ChartMise en service
InAnimationPour définir la vitesse de transfert du processus de mise en service.
16.1 Définir le type de point d'arrêt:
1)chart Je ne peux que taper Au moment de l'entréePoint d'arrêt de:
Après le point d'arrêt,Le coin inférieur gauche sera marqué en conséquence.
2)StatePoint d'interruption,Il existe trois types:I、EntréeState II、InStateMoyenne III、SortieState
Après le point d'arrêt,State2 L'identification correspondante apparaîtra dans le coin inférieur gauche , Cliquez pour voir le type de point d'arrêt :
3)Même opération, Le transfert peut également être effectué au point d'arrêt :
4)InModel Explorer Vous pouvez marquer un point d'arrêt pour l'événement :
16.2 Gestion des points d'arrêt:
Cliquez sur n'importe quel point d'arrêt , Cliquez dans la boîte de dialogue qui apparaît Breakpoints List Accès à la gestion des points d'arrêt . Cette gestion des points d'arrêt n'est pas limitée à un modèle particulier , Si vous ouvrez plusieurs modèles , Les points d'arrêt de plusieurs modèles sont affichés sur la gestion des points d'arrêt .
Interface de gestion des points d'arrêt comme ci - dessus , La routine officielle utilisée ici (Command WindowEntréesf_carVous pouvez accéder à). Sur l'interface de gestion des points d'arrêt ConditionÇa veut dire::Lorsque les conditions sont remplies, Le point d'arrêt n'entrera en vigueur que .Ça suit.C Le point d'interruption moyen est le même , On s'attend parfois à ce qu'en boucle , Combien de fois le cycle entre dans le point d'arrêt .Hits Est le nombre de fois où le point d'arrêt a été enregistré .
Les points d'arrêt peuvent être localisés plus rapidement Chart L'erreur de .
17 Watch Data
Sur la ligne de signalisation , Faites un clic droit pour ajouter Watch Data Window:
Une fois la sélection terminée,Ça va s'éjecterWatch Data WindowFenêtre de.Derrière.DEBUGC'est tout..
18 AppelezWork SpaceVariables
Le format linguistique de base de l'appel est
y=ml.x; //xBesoin deWork Space Déjà défini dans ;
Attention!:Il fautchart Le langage d'action est défini à C Action linguistique (MatlabPas de langage.)
D'autres opérations sont effectuées comme d'habitude :
Ici, vous pouvez rapidement définir la fonction de rappel du modèle ,Définir, Exemption de la définition manuelle ( Pour plus de détails sur la fonction de rappel, veuillez vous référer à SimulinkDescription):
ml Les déclarations peuvent également être surchargées :
y=ml('sin(%f)',u); //u- Oui.Work SpaceVariable de,Ici.sin La fonction peut être remplacée par n'importe quel MatlabFonctions intégrées pour
y=ml.my_sin(u); //my_sinC'est écrit par moi - mêmematlbFichiers de fonctions
19 StateFlow AppelezcCode
Écrivez séparément .cEt.h Les fichiers sont placés dans le même répertoire :
Puis entrez Configuration Parameters Pour effectuer les réglages pertinents :
Et aprèsChart Appelez dans . Parce que ce qui est introduit ici est CDocuments linguistiques, Donc le langage d'action doit être choisi CLangues.
20 2837dUtiliserChartPour construire des exemples de modèles
Voici un module de minuterie en temps réel , Il est divisé en modules d'initialisation et XINT Modules et contre - modules .
1) Les variables utilisées ici sont Data Store MemoryModule, Dans l'attribut, vous pouvez Définir le type de variable .
2)Module d'initialisation.InitialisationKEY Utilisé comme interruption externe ,J'allais l'utiliser.LED La lampe indique le processus d'initialisation ,Mais ça a échoué..La raison en est que: Le Code généré sera GPIO Les deux instructions de stepLa fonction fonctionne. Ce qui nous vient à l'esprit , Ajouter des fonctions allumées et éteintes directement dans le module d'initialisation . Parce que le Code ajouté au module d'initialisation est toujours placé à l'arrière de la fonction d'initialisation .Par exemple: Si le Code généré est utilisé GPIO0En tant queI/OUtiliser, Alors assurez - vous d'initialiser dans le module d'initialisation . Dans le Code d'initialisation, les bits peuvent être utilisés directement pour GPIO L'assignation du port fonctionne . Mais les étapes suivantes doivent être utilisées pour GPIO0.( Ceci garantit que l'initialisation ).
3) Module de fonction d'interruption externe , Ici, les deux fonctions d'interruption fonctionnent de la même façon . Tout est dans la fonction d'interruption ,Oui.(0-1Cycle) La valeur de est stockée dans la variable (XINT1、XINT2)Moyenne. Si la dernière exécution XINTFonctions,Ce qui est stocké0, Alors la prochaine exécution sera stockée 1. Il en résulte un bord ascendant de l'impulsion . Le bord de descente correspondant peut être généré . Ce signal de bord peut être utilisé comme ChartLes événements de.
4)Chart Le module réalise la fonction de comptage ,Peut êtreXINT1、XINT2 Démarrer et réinitialiser les comptes séparément .Ici.TIC Un événement est un événement qui se produit par étapes 0、1Séquence, Si l'étape est réglée à 0.01,Alors quand vous exécutez100Une foisTICÉvénements. On peut penser que c'est passé 1Secondes.Passe.60sJuste...minDésigné comme+1.Parce queccsUtilisercCode Drive,Donc icichart Le langage d'action doit être choisi cLangues.
5)Résultats expérimentaux. Ça s'ouvre ici SCI_AEn mode Simulation, Puis appuyez sur la touche pour entrer Running:
边栏推荐
- From concept to method, the statistical learning method -- Chapter 3, k-nearest neighbor method
- Chrome video download Plug-in – video downloader for Chrome
- YOLO物体识别,生成数据用到的工具
- Enterprise level SaaS CRM implementation
- Number structure (C language -- code with comments) -- Chapter 2, linear table (updated version)
- 互联网API接口幂等设计
- [go practical basis] how to customize and use a middleware in gin
- Say goodbye to 996. What are the necessary plug-ins in idea?
- Required request body is missing:(跨域问题)
- C语言之二进制与十进制
猜你喜欢
三相逆变器离网控制——PR控制
JDBC回顾
Navicat remote connection MySQL reports an error 1045 - access denied for user 'root' @ '222.173.220.236' (using password: yes)
保存视频 opencv::VideoWriter
Matplotlib swordsman line - layout guide and multi map implementation (Updated)
Pool de connexion redis personnalisé
每天睡前30分钟阅读Day6_Day6_Date_Calendar_LocalDate_TimeStamp_LocalTime
zk配置中心---Config Toolkit配置与使用
Redis 序列化 GenericJackson2JsonRedisSerializer和Jackson2JsonRedisSerializer的区别
Chrome user script manager tempermonkey monkey
随机推荐
Number structure (C language -- code with comments) -- Chapter 2, linear table (updated version)
因上努力,果上随缘
TD联合Modelsim进行功能仿真
破茧|一文说透什么是真正的云原生
Learn combinelatest through a practical example
Insight into cloud native | microservices and microservice architecture
Break the cocoon | one article explains what is the real cloud primordial
Typora安装包分享
个人经历&&博客现状
Say goodbye to 996. What are the necessary plug-ins in idea?
微服务实战|微服务网关Zuul入门与实战
Microservice practice | load balancing component and source code analysis
ClassFile - Attributes - Code
微服务实战|熔断器Hystrix初体验
Required request body is missing: (cross domain problem)
Don't look for it. All the necessary plug-ins for Chrome browser are here
Operation and application of stack and queue
idea查看字节码配置
Thinkphp5 how to determine whether a table exists
View the port of the application published by was