chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

分享Simulink子系統(tǒng)生成單獨(dú)的子函數(shù)的教程

MATLAB ? 來(lái)源:djl ? 作者:柚籽 ? 2019-09-17 09:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

我們寫(xiě) C 代碼的時(shí)候,為了主程序結(jié)構(gòu)清晰,通常會(huì)把具有獨(dú)立功能的代碼變成子函數(shù)的形式。類似的,為了 Simulink 模型結(jié)構(gòu)清晰,我們?cè)谀P屠镆步?jīng)常會(huì)用把具一片實(shí)現(xiàn)某種功能的模塊變成子系統(tǒng)的形式。

那么,如果我希望這些Simulink 子系統(tǒng)在自動(dòng)代碼生成時(shí),也能真的生成單獨(dú)的子函數(shù),該如何配置呢?

把某個(gè)子系統(tǒng)編程函數(shù)調(diào)用

要得到:

自動(dòng)生成代碼時(shí),讓某個(gè) Simulink 子系統(tǒng)的算法生成單獨(dú)子函數(shù)形式。

怎么做:

把該子系統(tǒng)變?yōu)樵酉到y(tǒng) (Atomic Subsystem),并配置子系統(tǒng)的代碼生成選項(xiàng)。

舉個(gè)例子

1. 模型

這是在前一篇帖子最后用到的一個(gè)模型。MATLAB Function 里面寫(xiě)了一個(gè)循環(huán)語(yǔ)句,并在循環(huán)內(nèi)部調(diào)用了外部子系統(tǒng) func:

分享Simulink子系統(tǒng)生成單獨(dú)的子函數(shù)的教程

它所生成的代碼如下圖??梢钥吹?Simulink 子系統(tǒng) func 在生成代碼后,具體的 C 代碼并不會(huì)平鋪在主程序里。它而是作為一個(gè)函數(shù)調(diào)用的形式出現(xiàn)的的 func( ):

分享Simulink子系統(tǒng)生成單獨(dú)的子函數(shù)的教程

2. 設(shè)置

這是因?yàn)閷?duì)該模塊的屬性做了設(shè)置,如下圖。

首先右鍵點(diǎn)擊模型,打開(kāi) Block Parameters 界面,首先要在 Main 的頁(yè)面將子系統(tǒng)勾選為Atomic Subsystem。只不過(guò)在這個(gè)案例模型里,由于 func 是觸發(fā)子系統(tǒng),默認(rèn)就是 Atomic 的。

然后,點(diǎn)開(kāi)出現(xiàn)的 Code Generation 頁(yè)面,將 Function packaging 配置為 Nonresusable function,主函數(shù)調(diào)用它時(shí)通過(guò)全局變量來(lái)傳遞數(shù)據(jù)(總之不選擇 Inline 和 Auto)。

分享Simulink子系統(tǒng)生成單獨(dú)的子函數(shù)的教程

也可以設(shè)置為 Reusable ,這時(shí)主程序調(diào)用它的時(shí)候,會(huì)通過(guò)傳參的方式來(lái)進(jìn)行數(shù)據(jù)傳遞。最后生成的代碼如下圖:

分享Simulink子系統(tǒng)生成單獨(dú)的子函數(shù)的教程

模型的默認(rèn)設(shè)置是 Auto,所以在這種情況下,代碼生成工具會(huì)把這個(gè)子系統(tǒng)的算法代碼寫(xiě)在主程序里,而不會(huì)采用函數(shù)調(diào)用的方式,如下圖:

分享Simulink子系統(tǒng)生成單獨(dú)的子函數(shù)的教程

總結(jié)

如果希望某個(gè)子系統(tǒng)的 C 代碼單獨(dú)生成一個(gè)子函數(shù),那么:

把子系統(tǒng)配置為元胞子系統(tǒng)(Atomic Subsystem);

設(shè)置 Code Generation 屬性為 Reusable 或者 NonReusable。

另外,不僅可以將子系統(tǒng)的代碼放在單獨(dú)的子函數(shù)里,還可以配置放在單獨(dú)的文件(在配置菜單里指定文件名即可)里。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編程
    +關(guān)注

    關(guān)注

    90

    文章

    3716

    瀏覽量

    97212
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4417

    瀏覽量

    67568
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4970

    瀏覽量

    74019
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    智能巡檢:技術(shù)融合與系統(tǒng)生成

    智能巡檢系統(tǒng)的技術(shù)本質(zhì)并非多個(gè)獨(dú)立模塊的簡(jiǎn)單堆砌,而是一個(gè)動(dòng)態(tài)、復(fù)雜的技術(shù)融合體。其核心在于通過(guò)一套精密的數(shù)據(jù)-知識(shí)-決策轉(zhuǎn)換鏈,將異構(gòu)的底層感知、中臺(tái)分析與頂層執(zhí)行能力編織成一個(gè)具備自主性與適應(yīng)性
    的頭像 發(fā)表于 01-26 14:31 ?116次閱讀

    西門(mén)子PLC中函數(shù)FC的使用方法

    函數(shù)函數(shù)塊作為模塊化編程的重要組成部分,在PLC 用戶程序中有著相當(dāng)頻繁的應(yīng)用。兩者在生成與使用的過(guò)程中都有一定的相似,且都不能單獨(dú)使用。而需要賦予特定的功能,由組織塊(OB)直接或
    的頭像 發(fā)表于 12-19 11:26 ?4248次閱讀
    西門(mén)子PLC中<b class='flag-5'>函數(shù)</b>FC的使用方法

    MXAM常見(jiàn)問(wèn)題解答:從配置到報(bào)告生成#simulink模型測(cè)試 #simulink

    Simulink
    北匯信息POLELINK
    發(fā)布于 :2025年11月14日 11:48:38

    使用Simulink自動(dòng)生成浮點(diǎn)運(yùn)算HDL代碼(Part 1)

    引言 想要實(shí)現(xiàn)浮點(diǎn)運(yùn)算功能,如果自己寫(xiě)Verilog代碼,需要花費(fèi)較多的時(shí)間和精力。好在Simulink HDL Coder工具箱提供了自動(dòng)代碼生成技術(shù)。下圖展示了HDL Coder如何生成浮點(diǎn)運(yùn)算
    發(fā)表于 10-22 06:48

    rtthread線程出現(xiàn)異常了,有沒(méi)有什么鉤子函數(shù)能夠定義用戶操作?

    線程出現(xiàn)異常了,有沒(méi)有什么鉤子函數(shù)能夠定義用戶操作????
    發(fā)表于 09-18 06:36

    迅為RK3568開(kāi)發(fā)板新增topeet子系統(tǒng)-在產(chǎn)品中新增子系統(tǒng)

    build/subsystem_config.json文件中增加名為topeet的子系統(tǒng),在3.4節(jié)已經(jīng)新建了topeet 文件夾存放子系統(tǒng)代碼。添加 topeet 子系統(tǒng)進(jìn)行一個(gè)登記,說(shuō)明
    發(fā)表于 06-16 10:43

    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入

    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入
    的頭像 發(fā)表于 05-29 14:05 ?1045次閱讀
    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南GPIO<b class='flag-5'>子系統(tǒng)</b>GPIO<b class='flag-5'>子系統(tǒng)</b>API<b class='flag-5'>函數(shù)</b>的引入

    迅為RK3568驅(qū)動(dòng)指南GPIO子系統(tǒng) GPIO操作函數(shù)實(shí)驗(yàn)

    迅為電子RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南GPIO子系統(tǒng) GPIO操作函數(shù)實(shí)驗(yàn)
    的頭像 發(fā)表于 05-28 15:24 ?1357次閱讀
    迅為RK3568驅(qū)動(dòng)指南GPIO<b class='flag-5'>子系統(tǒng)</b> GPIO操作<b class='flag-5'>函數(shù)</b>實(shí)驗(yàn)

    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南GPIO子系統(tǒng)三級(jí)節(jié)點(diǎn)操作函數(shù)實(shí)驗(yàn)

    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南GPIO子系統(tǒng)三級(jí)節(jié)點(diǎn)操作函數(shù)實(shí)驗(yàn)
    的頭像 發(fā)表于 05-26 15:39 ?1539次閱讀
    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南GPIO<b class='flag-5'>子系統(tǒng)</b>三級(jí)節(jié)點(diǎn)操作<b class='flag-5'>函數(shù)</b>實(shí)驗(yàn)

    RK3568驅(qū)動(dòng)指南|第十二篇 GPIO子系統(tǒng)-第135章 GPIO子系統(tǒng)與pinctrl子系統(tǒng)相結(jié)合實(shí)驗(yàn)

    RK3568驅(qū)動(dòng)指南|第十二篇 GPIO子系統(tǒng)-第135章 GPIO子系統(tǒng)與pinctrl子系統(tǒng)相結(jié)合實(shí)驗(yàn)
    的頭像 發(fā)表于 05-23 13:47 ?1038次閱讀
    RK3568驅(qū)動(dòng)指南|第十二篇 GPIO<b class='flag-5'>子系統(tǒng)</b>-第135章 GPIO<b class='flag-5'>子系統(tǒng)</b>與pinctrl<b class='flag-5'>子系統(tǒng)</b>相結(jié)合實(shí)驗(yàn)

    飛凌嵌入式ElfBoard ELF 1板卡-input子系統(tǒng)之基于input子系統(tǒng)的按鍵驅(qū)動(dòng)

    *dev);參數(shù)說(shuō)明:dev:指向 struct input_dev的指針,表示目標(biāo)輸入設(shè)備。input_sync()函數(shù)用于通知輸入子系統(tǒng)當(dāng)前輸入設(shè)備的事件已經(jīng)全部報(bào)告完畢,需要立即將事件傳遞到用戶空間
    發(fā)表于 04-15 10:58

    飛凌嵌入式ElfBoard ELF 1板卡-input子系統(tǒng)之input子系統(tǒng)簡(jiǎn)介

    在Linux系統(tǒng)中,Input子系統(tǒng)是一個(gè)用于處理輸入設(shè)備的軟件框架。它提供了一種統(tǒng)一的接口和機(jī)制,使得各種輸入設(shè)備(如鍵盤(pán)、鼠標(biāo)、觸摸屏、游戲手柄等)能夠與Linux系統(tǒng)進(jìn)行交互。Input
    發(fā)表于 04-15 10:27

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-Pinctrl和GPIO子系統(tǒng)之GPIO子系統(tǒng)

    軟件控制設(shè)備上的GPIO信號(hào)。在Linux的GPIO子系統(tǒng)中,提供了一組API函數(shù)來(lái)管理和操作GPIO引腳。以下是一些常用的GPIO子系統(tǒng)API函數(shù):gpio_request():請(qǐng)求
    發(fā)表于 03-25 13:29

    飛凌嵌入式ElfBoard ELF 1板卡-Pinctrl和GPIO子系統(tǒng)之GPIO子系統(tǒng)

    軟件控制設(shè)備上的GPIO信號(hào)。在Linux的GPIO子系統(tǒng)中,提供了一組API函數(shù)來(lái)管理和操作GPIO引腳。以下是一些常用的GPIO子系統(tǒng)API函數(shù):gpio_request():請(qǐng)求
    發(fā)表于 03-24 15:41

    飛凌嵌入式ElfBoard ELF 1板卡-Pinctrl和GPIO子系統(tǒng)之Pinctrl子系統(tǒng)

    pinctrl(Pin Control)子系統(tǒng)是Linux內(nèi)核中的一個(gè)模塊化子系統(tǒng),用于管理和控制硬件引腳(Pin)的配置和功能。它提供了一種統(tǒng)一的接口,使驅(qū)動(dòng)程序可以對(duì)硬件引腳進(jìn)行靈活的配置和控制
    發(fā)表于 03-22 09:23