当前位置:网站首页>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:
边栏推荐
- 企业级SaaS CRM实现
- VIM操作命令大全
- Pool de connexion redis personnalisé
- Redis installation and deployment (windows/linux)
- vs+qt 设置应用程序图标
- 定时线程池实现请求合并
- C语言之分草莓
- The channel cannot be viewed when the queue manager is running
- Required request body is missing:(跨域问题)
- Machine learning practice: is Mermaid a love movie or an action movie? KNN announces the answer
猜你喜欢
Insight into cloud native | microservices and microservice architecture
Pool de connexion redis personnalisé
[go practical basis] how to verify request parameters in gin
图像识别-数据清洗
View the port of the application published by was
每天睡前30分钟阅读Day6_Day6_Date_Calendar_LocalDate_TimeStamp_LocalTime
TD联合Modelsim进行功能仿真
[go practical basis] how to customize and use a middleware in gin
分享一篇博客(水一篇博客)
How to use pyqt5 to make a sensitive word detection tool
随机推荐
每天睡前30分钟阅读Day6_Day6_Date_Calendar_LocalDate_TimeStamp_LocalTime
Say goodbye to 996. What are the necessary plug-ins in idea?
Activity的创建和跳转
2837xd 代码生成——总结篇
Alibaba / popular JSON parsing open source project fastjson2
Chrome user script manager tempermonkey monkey
MySql报错:unblock with mysqladmin flush-hosts
每天睡觉前30分钟阅读_day3_Files
一篇详解带你再次重现《统计学习方法》——第二章、感知机模型
Beats (filebeat, metricbeat), kibana, logstack tutorial of elastic stack
Knife4j 2.X版本文件上传无选择文件控件问题解决
VIM operation command Encyclopedia
DTM distributed transaction manager PHP collaboration client V0.1 beta release!!!
What are the differences between TP5 and laravel
Knowledge points are very detailed (code is annotated) number structure (C language) -- Chapter 3, stack and queue
三相并网逆变器PI控制——离网模式
[go practical basis] how to customize and use a middleware in gin
Methods of classfile
Matplotlib swordsman line - first acquaintance with Matplotlib
Read Day5 30 minutes before going to bed every day_ All key values in the map, how to obtain all value values