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

    文章

    4422

    浏览量

    67853
  • 代码
    +关注

    关注

    30

    文章

    4976

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    XRP7704 TQFN EVB相关设计文档介绍

    《XRP7704 TQFN EVB相关设计文档介绍》 在电子工程师的日常工作中,设计文档是非常重要的参考资料。今天就来和大家分享一下与XRP7704 TQFN EVB相关的设计文档信息。 文件下载
    的头像 发表于 04-27 16:50 21次阅读

    06. 如何把 PCB板 上的封装一次性导出?| 芯巧Allegro PCB 设计小诀窍

    背景介绍:在进行PCB设计时,经常需要从已有PCB上导出封装,利用这些封装进行新的设计,或者将这些封装修改后,再更新回PCB上,而Allegro PCB设计工具的Export Libraries功能,就可以帮助我们快速的导出PC
    发表于 04-09 17:21

    关于MT6901的直线DEMO介绍

    关于MT6901的直线DEMO介绍
    的头像 发表于 01-30 10:54 783次阅读
    <b class='flag-5'>关于</b>MT6901的直线DEMO<b class='flag-5'>介绍</b>

    PCB Gerber文件如何导出

    对于新手电子工程师,特别是没接触过PCB打板的,在听到Gerber文件、阻焊开窗、绿油黑油、开钢网,导出Gerber文件发给板厂,讲这些术语的时候是不是有些懵逼,不用怕。下面我将对Gerber文件进行分析,其他的也都会有提到,大家看完估计也就明白是怎么回事了。
    的头像 发表于 01-27 16:47 928次阅读
    PCB Gerber文件如何<b class='flag-5'>导出</b>

    Moku升级实时计算并显示g(2)二阶关联函数及最新活动更新

    摘要Moku时间间隔与频率分析仪(TFA)功能进一步升级,在时间间隔测量精度与检测配置灵活性方面实现显著提升。全新版本支持实时计算并可视化显示g(2)二阶关联函数,为量子光学、单光子探测及相关前沿
    的头像 发表于 01-22 16:45 3306次阅读
    Moku升级实时计算并显示g(2)二阶关联<b class='flag-5'>函数</b>及最新活动更新

    函数指针介绍

    这种函数应该都很熟悉,其实就是一个函数,然后返回值是一个 int 类型,是一个数值 int *fun(int x,int y); 这和上面那个函数唯一的区别就是在函数名前面多了一个*号
    发表于 01-21 08:11

    电能质量在线监测装置的多维度统计报表支持远程访问导出吗?

    是的,现代电能质量在线监测装置的多维度统计报表全面支持远程访问导出功能 ,已成为主流产品标配,可通过多种方式随时随地获取分析数据。 一、远程访问导出方式全景 1. Web 浏览器直连(最通用) 输入
    的头像 发表于 12-17 15:39 512次阅读
    电能质量在线监测装置的多维度统计报表支持远程访问<b class='flag-5'>导出</b>吗?

    内联函数介绍

    内联函数禁用所有的编译选项。使用__inline修饰函数导致函数在调用处直接替换为函数体。这样代码调用函数更快,但增加代码的大小,特别在
    发表于 12-12 07:08

    【乾芯QXS320F开发板试用】TMUFPU内建函数

    一颗DSP芯片肯定少不了TMU和FPU 要了解这个,首先去芯片的数据手册里查看一番 在数据手册的 6.6 C28x 处理器这一节有关于FPU和TMU的介绍,从下图中还能看到VCU和 EINTDIV
    发表于 12-11 13:32

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

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

    安世中国关于当前供应链局势及相关诉求的郑重声明

    安世中国在官方微信号发布了关于当前供应链局势及相关诉求的郑重声明;我们分享给大家:
    的头像 发表于 11-28 21:32 2546次阅读
    安世中国<b class='flag-5'>关于</b>当前供应链局势及<b class='flag-5'>相关</b>诉求的郑重声明

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

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

    关于系统链接脚本的介绍

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

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

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

    凡亿Allegro Skill工艺辅助之导出公制的坐标

    一般设计人员在pcb设计时使用英制单位,而在pcb设计完成后,我们需要导出坐标文件用于贴片厂进行贴片;有的板厂要求导出的坐标文件为公制单位,切换单位会比较麻烦且容易产生DRC错误或者误差,因此,Fanyskill脚步提供一键输出公制坐标的功能。
    的头像 发表于 07-24 16:24 3677次阅读
    凡亿Allegro Skill工艺辅助之<b class='flag-5'>导出</b>公制的坐标