当前位置:网站首页>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:


边栏推荐
- VIM操作命令大全
- Alibaba / popular JSON parsing open source project fastjson2
- MySQL error: unblock with mysqladmin flush hosts
- 微服务实战|负载均衡组件及源码分析
- 微服务实战|熔断器Hystrix初体验
- 个人经历&&博客现状
- Break the cocoon | one article explains what is the real cloud primordial
- View the port of the application published by was
- BugkuCTF-web16(备份是个好习惯)
- QT QLabel样式设置
猜你喜欢

Microservice practice | teach you to develop load balancing components hand in hand

BugkuCTF-web21(详细解题思路及步骤)

Actual combat of microservices | discovery and invocation of original ecosystem implementation services

企业级SaaS CRM实现

Customize redis connection pool

互联网API接口幂等设计

Mysql 多列IN操作

三相并网逆变器PI控制——离网模式
![[go practical basis] gin efficient artifact, how to bind parameters to structures](/img/c4/44b3bda826bd20757cc5afcc5d26a9.png)
[go practical basis] gin efficient artifact, how to bind parameters to structures

记录一下初次使用Xray的有趣过程
随机推荐
Discussion on improving development quality and reducing test bug rate
AMQ 4043 solution for errors when using IBM MQ remote connection
每天睡觉前30分钟阅读_day3_Files
Typeerror: X () got multiple values for argument 'y‘
C语言之二进制与十进制
记录一下初次使用Xray的有趣过程
2837xd 代码生成——StateFlow(4)
微服务实战|微服务网关Zuul入门与实战
Probability is not yet. Look at statistical learning methods -- Chapter 4, naive Bayesian method
深入剖析JVM是如何执行Hello World的
FragmentTabHost实现房贷计算器界面
Say goodbye to 996. What are the necessary plug-ins in idea?
Ora-12514 problem solving method
What are the differences between TP5 and laravel
VIM operation command Encyclopedia
BugkuCTF-web21(详细解题思路及步骤)
图像识别-数据采集
Watermelon book -- Chapter 5 neural network
[go practical basis] how to verify request parameters in gin
Actual combat of microservices | discovery and invocation of original ecosystem implementation services