0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于导出函数的相关分析和介绍

MATLAB 来源:djl 作者:Guy Rouleau 2019-09-16 16:46 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

生成代码

我们拿下面这个模型作为一个例子。它有一个 Bias 和一个 Unit Delay 模块,每 0.001s 运行一次,另外有一个 Math Function 模块,每 0.01s 运行一次。

关于导出函数的相关分析和介绍

就像你们知道的那样,Embedded Coder 可以把 Simulink 模型生成 C 代码。这里使用 Embedded 默认的系统目标文件配置(tlc文件),所生成的代码像下面这样:

关于导出函数的相关分析和介绍

如你所见,代码里有一个 Initialize 函数以及一个 Step 函数。Step 函数将以模型的基础采样率调用,在这里是 0.001s。最好是把这个代码放在单任务环境里运行。

如果你需要的话,也可以让 Simulink 把每个离散采样率归到一个单独的任务。

关于导出函数的相关分析和介绍

在这所生成的代码里,每一个采样时间的部分都单独生成一个函数。这样,你就可以用你实现的调度器,来任意调用各个采样率的部分。

关于导出函数的相关分析和介绍

导出函数

各个采样率的部分都能生成一个单独的函数还挺有用的,但是,如果你想更随心所欲的控制代码的执行,该怎么做呢?比如说,把某个采样率的部分拆成若干个任务,然后指定每个任务不同的优先级。

为此,Embedded Coder 提供了导出函数(export functions)的功能。这个功能可以直接控制某个部分单独生成函数,另外还可以仿真它们的调度和优先级。

为了匹配导出函数这个目的,你的模型必须以特定的方式来搭建。需要导出的函数顶层必须只包含 Function Call 子系统,输入以及输出端口。这样的话,每一个子系统会生成一个函数。

比如,我们刚才那个模型,重新按照下面这个方式来实现:

关于导出函数的相关分析和介绍

对于仿真来说,不同任务的调度必须显示指定出来,比如像上图那样,使用 Stateflow 来实现。要生成代码的时候,你可以在这个子系统上右键,然后导出这个函数。

关于导出函数的相关分析和介绍

得到的代码就像下面这样:

关于导出函数的相关分析和介绍

你就可以把这些代码集成到你手写的调度器里去了。就像我之前提到的,通过这种方式,你可以将一个速率的部分拆分成多个函数或者任务。

导出函数模型

对于更大型的项目,你也可以将导出函数构造为单独的模型(Export Function Models)。

在这里,顶层的模型只是用于仿真,被引用子模型要生成代码。 Simulink 会自动识别这个模型是用于导出函数的,它所生成的代码也会跟上面的那个子系统类似。

关于导出函数的相关分析和介绍

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

    66838
  • 代码
    +关注

    关注

    30

    文章

    4941

    浏览量

    73148
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    关于NFC镍锌铁氧体片的介绍

    关于NFC镍锌铁氧体片的介绍
    的头像 发表于 12-04 10:52 45次阅读
    <b class='flag-5'>关于</b>NFC镍锌铁氧体片的<b class='flag-5'>介绍</b>

    电能质量在线监测装置的报警记录可以导出吗?

    电能质量在线监测装置的报警记录支持多种方式导出,具体操作取决于设备类型、存储配置及管理需求。以下是结合硬件特性、行业标准及实际案例的详细指南: 一、本地导出:直接通过设备或外接存储 1. 设备面板
    的头像 发表于 11-05 13:46 144次阅读

    关于系统链接脚本的介绍

    起来后所处于的地址,程序中的相对寻址都会遵从此虚拟地址。 四、关于ITCM和DTCM(若使用FLASH下载模式) (1) 代码段上载到ITCM,ITCM起始地址(0x80000000)存储的代码就是主函数的入口。 (2)数据段上载到DTCM,DTCM起始地址(0x
    发表于 10-30 08:26

    软件设计及串口相关函数介绍

    因为本章节的UART相关实验例程需要用到板子上的LED功能,因此我们可以直接以前面的“11_GPIO_LED”工程为基础进行修改。
    的头像 发表于 10-27 11:23 1726次阅读
    软件设计及串口<b class='flag-5'>相关</b><b class='flag-5'>函数</b><b class='flag-5'>介绍</b>

    Allegro Skill封装功能-导出device文件介绍与演示

    焊盘连接,Device文件会明确这种映射。Device文件仅适用于导入第三方网表的情况,PCB导入第三方网表不能直接与原理图进行交互式,这时候需要导出Device 文件,然后PCB才能与原理图进行
    发表于 04-19 09:44 1663次阅读
    Allegro Skill封装功能-<b class='flag-5'>导出</b>device文件<b class='flag-5'>介绍</b>与演示

    Allegro Skill封装功能之导出单个封装介绍

    在PCB设计中,若需提取特定封装,传统用Allegro自带导出方法需通过"File→Export→Libraries"导出全部封装库文件。
    的头像 发表于 04-16 17:33 2776次阅读
    Allegro Skill封装功能之<b class='flag-5'>导出</b>单个封装<b class='flag-5'>介绍</b>

    解锁TSMaster fifo函数:报文读取的高效方法

    前言:TSMaster目前有两种读取报文的模式:回调函数模式和fifo模式。fifo函数是TSMaster近期新增的函数,本文将重点介绍fifo模块。
    的头像 发表于 03-14 20:04 938次阅读
    解锁TSMaster fifo<b class='flag-5'>函数</b>:报文读取的高效方法

    VirtualLab Fusion应用:参数扫描结果的导出

    摘要 为了详细分析光学系统的功能和能力,需要能够改变光学系统的参数。为此,VirtualLab Fusion的参数运行提供了多种选项和可以应用不同的变化策略。不同迭代的结果以方便紧凑的方式提供在参数
    发表于 03-06 08:57

    如何导出交换机的配置文件

    在网络管理中,导出交换机的配置文件是一项关键任务,它有助于备份、审计、迁移或恢复网络配置。本文将详细介绍如何导出交换机配置文件,涵盖多种方法,适用于不同场景和需求。文章内容将围绕几种常见的导出
    的头像 发表于 02-02 17:20 6435次阅读

    LVGL前台程序开发相关操作介绍

    点击“+”按钮时它的回调函数“add_new_item_event_handler”被调用,这个回调函数在“lv_modbus_tool”函数中被设置。
    的头像 发表于 01-23 13:47 1366次阅读
    LVGL前台程序开发<b class='flag-5'>相关</b>操作<b class='flag-5'>介绍</b>

    函数信号分析仪的原理和应用场景

    分布,可以诊断机械设备的运行状态和故障情况。 教育与研究:在教育和科研领域,函数信号分析仪可以用于实验教学和科学研究。它可以帮助学生和科研人员更好地理解信号的频谱特性和时域特性,从而推动相关领域的发展
    发表于 01-20 14:13

    请问关于ADS5407内部寄存器有没有相关的中文介绍的?

    请问关于ADS5407内部寄存器有没有相关的中文介绍的?其中有几个寄存器的功能不是特别明白,麻烦啦
    发表于 01-17 07:36

    Chart FX——图表导出

    Chart FX 提供的导出方法可以让您(或您的最终用户)以多种格式保存图表文件、图像和数据。不同平台的产品能够导出的格式也不尽相同,只有Web产品(如 Chart FX WebForms)能生成
    的头像 发表于 01-15 14:38 694次阅读
    Chart FX——图表<b class='flag-5'>导出</b>

    零基础教程!TSMaster的图形数据导出CSV功能

    在车辆性能测试中,测试过程产生的数据可能涉及到速度、加速度、油耗、温度、压力、振动等各类传感器数据。这些数据通常以图表或曲线图形式展示,导出为CSV格式后,方便进行详细的数字化分析。例如,在进行碰撞
    的头像 发表于 12-20 20:01 1148次阅读
    零基础教程!TSMaster的图形数据<b class='flag-5'>导出</b>CSV功能

    TSW1440如何不用HSDC Pro软件的数据采集和导出功能?

    我们现在可以实现的是用TSW1440进行采集控制,电脑连接TSW,在电脑上用TI提供的HSDC Pro软件进行数据采集,导出然后用matlab进行采集信号的波形恢复和FFT分析。 但是我们希望
    发表于 12-16 08:36