Simulink-StateFlow手把手教你学会(一)基本操作

一、基础知识

Simulink是MATLAB的一个附加产品,用于模拟、生成和测试动态系统。Stateflow是Simulink的一个附加工具,它提供了一个图形化的编程环境,用于设计和模拟复杂系统的控制逻辑和状态机。Stateflow是设计复杂控制逻辑和状态机的强大工具,特别适用于需要精确控制和状态管理的系统,如汽车电子、航空航天和工业自动化等领域。

作用与优势:

  1. 状态机建模:Stateflow允许你创建状态机,这些状态机可以描述系统在不同状态下的行为。

  2. 层次化状态图:你可以创建层次化的状态图,这使得复杂的状态逻辑更加清晰和易于管理。

  3. 并行状态:Stateflow支持并行状态,这意味着你可以模拟同时发生的多个状态。

  4. 事件和转移:Stateflow允许你定义事件和状态之间的转移条件,这有助于模拟复杂的逻辑和条件。

  5. 代码生成:Stateflow支持代码生成,这意味着你可以从Stateflow图表生成C/C++代码,用于嵌入式系统开发。

二、光讲理论不讲实操就是耍流氓!

状态迁移图示意:  基于不同条件跳转至不同的状态!

以如下状态图为例,建立状态机

三、详细步骤

话不多说直接上手

打开matlab,打开simulink,建立空模型

在库浏览器输入stateflow,选择这个chart,也可以直接双击空白处,输入chart。

双击这个chart进去

选择一个状态,鼠标左键点击,会引出一条线,可以连接别的状态,这条线就是状态转移的条件,达到条件后,会从该状态转移至箭头所指的状态

自己完成余下操作,将三个状态互相的连接起来,如下图

点击你连的线,发现会有三个参数,我这里一 一给你解释

事件名称,或者是信号名称

判断条件,满足则跳转

动作,跳转后携带的动作或者是属性改变

直接在信号线上面输入条件,我举个很简单的例子,我这里设置为a>b

另外一种添加状态的动作:这里介绍一下,点击State里面,输入控制代码

entry:b=a;字面意思,进入,然后执行一次;那么如果想每个周期都执行一个动作呢?

那就用during:b=a;

这里关键字后面要有冒号:,冒号后面接动作,语句结束要加分号;

exit:字面意思,退出动作

以上都是为了教学基本操作,赋值都是乱来的,现在可以自己研究,创建条件以及执行语句。

当然啦,也可以继续跟着博主进行,这里为了方便运行,这里把状态条件以及执行动作都稍稍改动了一下,懒得换图片了,不会的跟着前面操作,一模一样的操作,改成这样。

现在,状态机画好了,但是有一个新的问题,我的a,b变量没有创建,现在回去创建一下这两个变量。

点击添加变量,把类型改成输入,因为我们要以外部的条件作为状态A的输入,这下懂了吧,好哥们儿们!

同样的方式,我们创建一个变量b,这里类型需要改一下可以看出我么这个a作为输入,b作为输出的状态机就做好啦,自己可以双击这个chart改个名字。

现在我们接一个输入输出来源,输入选一个常数模块,输出连接一个示波器。直接点击运行!

双击示波器,检查一下图像!

这里仿真时间只有十秒,我们看不太出来明显的现象,我们把仿真时间设置为无穷大,让它一直跑起来!

这就是最简单的状态机,后续更多知识持续更新中!!!!

手把手教会!!!

AHB Flash控制器是指在Flash存储控制器中的AHB从接口。AHB是Advanced High-performance Bus的缩写,是种高性能的总线接口,用于连接处理器和外设。在Flash存储控制器中,AHB从接口负责与AHB总线进行通信,实现对Flash存储器的读写操作。通过AHB Flash控制器,处理器可以直接访问Flash存储器,并进行相关的读写操作。同时,通过硬件实现的写保护机制,可以保护Flash设备的数据安全性。当来自AHB总线的写操作的目的地址是Flash被保护的区域时,AHB Flash控制器会产生错误信号来保护Flash设备。因此,AHB Flash控制器在嵌入式系统中扮演了重要的角色,实现了对Flash存储器的控制和保护。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Flash存储控制器组成!(flash)](https://blog.csdn.net/weibo1230123/article/details/83931311)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [QSPI Flash存储控制器(AHB从设备接口)](https://blog.csdn.net/lsshao/article/details/119755406)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [种支持在线升级的NOR Flash控制器设计](https://download.csdn.net/download/weixin_38636671/12930194)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值