国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

分享Simulink子系統生成單獨的子函數的教程

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

掃碼添加小助手

加入工程師交流群

我們寫 C 代碼的時候,為了主程序結構清晰,通常會把具有獨立功能的代碼變成子函數的形式。類似的,為了 Simulink 模型結構清晰,我們在模型里也經常會用把具一片實現某種功能的模塊變成子系統的形式。

那么,如果我希望這些Simulink 子系統在自動代碼生成時,也能真的生成單獨的子函數,該如何配置呢?

把某個子系統編程函數調用

要得到:

自動生成代碼時,讓某個 Simulink 子系統的算法生成單獨子函數形式。

怎么做:

把該子系統變為元胞子系統 (Atomic Subsystem),并配置子系統的代碼生成選項。

舉個例子

1. 模型

這是在前一篇帖子最后用到的一個模型。MATLAB Function 里面寫了一個循環語句,并在循環內部調用了外部子系統 func:

分享Simulink子系統生成單獨的子函數的教程

它所生成的代碼如下圖。可以看到 Simulink 子系統 func 在生成代碼后,具體的 C 代碼并不會平鋪在主程序里。它而是作為一個函數調用的形式出現的的 func( ):

分享Simulink子系統生成單獨的子函數的教程

2. 設置

這是因為對該模塊的屬性做了設置,如下圖。

首先右鍵點擊模型,打開 Block Parameters 界面,首先要在 Main 的頁面將子系統勾選為Atomic Subsystem。只不過在這個案例模型里,由于 func 是觸發子系統,默認就是 Atomic 的。

然后,點開出現的 Code Generation 頁面,將 Function packaging 配置為 Nonresusable function,主函數調用它時通過全局變量來傳遞數據(總之不選擇 Inline 和 Auto)。

分享Simulink子系統生成單獨的子函數的教程

也可以設置為 Reusable ,這時主程序調用它的時候,會通過傳參的方式來進行數據傳遞。最后生成的代碼如下圖:

分享Simulink子系統生成單獨的子函數的教程

模型的默認設置是 Auto,所以在這種情況下,代碼生成工具會把這個子系統的算法代碼寫在主程序里,而不會采用函數調用的方式,如下圖:

分享Simulink子系統生成單獨的子函數的教程

總結

如果希望某個子系統的 C 代碼單獨生成一個子函數,那么:

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

設置 Code Generation 屬性為 Reusable 或者 NonReusable。

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編程
    +關注

    關注

    90

    文章

    3716

    瀏覽量

    97191
  • 函數
    +關注

    關注

    3

    文章

    4417

    瀏覽量

    67521
  • 代碼
    +關注

    關注

    30

    文章

    4968

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    智能巡檢:技術融合與系統生成

    智能巡檢系統的技術本質并非多個獨立模塊的簡單堆砌,而是一個動態、復雜的技術融合體。其核心在于通過一套精密的數據-知識-決策轉換鏈,將異構的底層感知、中臺分析與頂層執行能力編織成一個具備自主性與適應性
    的頭像 發表于 01-26 14:31 ?104次閱讀

    西門子PLC中函數FC的使用方法

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

    MXAM常見問題解答:從配置到報告生成#simulink模型測試 #simulink

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

    使用Simulink自動生成浮點運算HDL代碼(Part 1)

    引言 想要實現浮點運算功能,如果自己寫Verilog代碼,需要花費較多的時間和精力。好在Simulink HDL Coder工具箱提供了自動代碼生成技術。下圖展示了HDL Coder如何生成浮點運算
    發表于 10-22 06:48

    rtthread線程出現異常了,有沒有什么鉤子函數能夠定義用戶操作?

    線程出現異常了,有沒有什么鉤子函數能夠定義用戶操作????
    發表于 09-18 06:36

    迅為RK3568開發板新增topeet子系統-在產品中新增子系統

    build/subsystem_config.json文件中增加名為topeet的子系統,在3.4節已經新建了topeet 文件夾存放子系統代碼。添加 topeet 子系統進行一個登記,說明
    發表于 06-16 10:43

    迅為RK3568開發板驅動指南GPIO子系統GPIO子系統API函數的引入

    迅為RK3568開發板驅動指南GPIO子系統GPIO子系統API函數的引入
    的頭像 發表于 05-29 14:05 ?1029次閱讀
    迅為RK3568開發板驅動指南GPIO<b class='flag-5'>子系統</b>GPIO<b class='flag-5'>子系統</b>API<b class='flag-5'>函數</b>的引入

    迅為RK3568驅動指南GPIO子系統 GPIO操作函數實驗

    迅為電子RK3568開發板驅動指南GPIO子系統 GPIO操作函數實驗
    的頭像 發表于 05-28 15:24 ?1340次閱讀
    迅為RK3568驅動指南GPIO<b class='flag-5'>子系統</b> GPIO操作<b class='flag-5'>函數</b>實驗

    迅為RK3568開發板驅動指南GPIO子系統三級節點操作函數實驗

    迅為RK3568開發板驅動指南GPIO子系統三級節點操作函數實驗
    的頭像 發表于 05-26 15:39 ?1527次閱讀
    迅為RK3568開發板驅動指南GPIO<b class='flag-5'>子系統</b>三級節點操作<b class='flag-5'>函數</b>實驗

    RK3568驅動指南|第十二篇 GPIO子系統-第135章 GPIO子系統與pinctrl子系統相結合實驗

    RK3568驅動指南|第十二篇 GPIO子系統-第135章 GPIO子系統與pinctrl子系統相結合實驗
    的頭像 發表于 05-23 13:47 ?1027次閱讀
    RK3568驅動指南|第十二篇 GPIO<b class='flag-5'>子系統</b>-第135章 GPIO<b class='flag-5'>子系統</b>與pinctrl<b class='flag-5'>子系統</b>相結合實驗

    飛凌嵌入式ElfBoard ELF 1板卡-input子系統之基于input子系統的按鍵驅動

    *dev);參數說明:dev:指向 struct input_dev的指針,表示目標輸入設備。input_sync()函數用于通知輸入子系統當前輸入設備的事件已經全部報告完畢,需要立即將事件傳遞到用戶空間
    發表于 04-15 10:58

    飛凌嵌入式ElfBoard ELF 1板卡-input子系統之input子系統簡介

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

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-Pinctrl和GPIO子系統之GPIO子系統

    軟件控制設備上的GPIO信號。在Linux的GPIO子系統中,提供了一組API函數來管理和操作GPIO引腳。以下是一些常用的GPIO子系統API函數:gpio_request():請求
    發表于 03-25 13:29

    飛凌嵌入式ElfBoard ELF 1板卡-Pinctrl和GPIO子系統之GPIO子系統

    軟件控制設備上的GPIO信號。在Linux的GPIO子系統中,提供了一組API函數來管理和操作GPIO引腳。以下是一些常用的GPIO子系統API函數:gpio_request():請求
    發表于 03-24 15:41

    飛凌嵌入式ElfBoard ELF 1板卡-Pinctrl和GPIO子系統之Pinctrl子系統

    pinctrl(Pin Control)子系統是Linux內核中的一個模塊化子系統,用于管理和控制硬件引腳(Pin)的配置和功能。它提供了一種統一的接口,使驅動程序可以對硬件引腳進行靈活的配置和控制
    發表于 03-22 09:23