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

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

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

配置Simulink模型,調(diào)皮屬于你自己的代碼

MATLAB ? 來源:djl ? 作者:柚籽 ? 2019-09-16 17:55 ? 次閱讀

在默認配置下,Simulink 模型自動生成的 C 代碼的函數(shù)原型都是 void model_step(void) 的形式。但是,集成代碼時,函數(shù)原型通常都需要滿足指定的形式。

如何配置 Simulink 模型

才能使生成代碼滿足指定的函數(shù)原型?

點擊末尾的 “閱讀原文” 下載本文的案例模型

設(shè)置模型自動生成的代碼的函數(shù)原型

要得到:

double myFun(double u1[10], double u2, double *y1)。

return y2

怎么做:

通過代碼生成的接口配置界面 Interface 的 Configure Model Functions 來自定義 Simulink 模型所生成的 C 代碼的函數(shù)原型。

舉個例子

1. 模型

使用上一篇的模型:

配置Simulink模型,調(diào)皮屬于你自己的代碼

默認配置生成代碼的函數(shù)原型如下,數(shù)據(jù)傳遞都使用全局變量:

配置Simulink模型,調(diào)皮屬于你自己的代碼

2. 配置

端口數(shù)據(jù)類型都設(shè)置為指定的 double:

配置Simulink模型,調(diào)皮屬于你自己的代碼

接著配置函數(shù)原型為指定形式,如下圖:

配置Simulink模型,調(diào)皮屬于你自己的代碼

根據(jù)菜單設(shè)置,配置所需要的函數(shù)原型,最后使用Validate按鈕來幫助檢查:

配置Simulink模型,調(diào)皮屬于你自己的代碼

如 Validate 后下方的紅色文字所示,需要把 Base Workspace 里輸入輸出信號對象的 Storage Class 設(shè)置為 Auto。

另外,只能設(shè)置 return 一個變量。如果一定要返回多個值,可以考慮設(shè)置成結(jié)構(gòu)體的形式。

因為模型里的 u1 是一個數(shù)組,所以在菜單里不能如上圖設(shè)置為 Value。

3. 結(jié)果

最后得到的代碼的函數(shù)原型:

配置Simulink模型,調(diào)皮屬于你自己的代碼

總結(jié)

通過代碼生成的接口配置界面 Interface 的 Configure Model Functions 頁面來自定義模型代碼的函數(shù)原型。

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

    關(guān)注

    3

    文章

    4263

    瀏覽量

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

    關(guān)注

    30

    文章

    4700

    瀏覽量

    68110
  • 結(jié)構(gòu)體
    +關(guān)注

    關(guān)注

    1

    文章

    128

    瀏覽量

    10815
收藏 人收藏

    評論

    相關(guān)推薦

    Matlab/Simulink/Stateflow建模開發(fā)及仿真測試

    matlab 模擬仿真 熟悉Matlab/Simulink/Stateflow建模開發(fā)及仿真測試,熟悉V模型開發(fā)流程。 熟悉自動代碼生成,能夠編寫或者配置自動
    發(fā)表于 10-24 17:23

    如何訓(xùn)練自己的AI大模型

    訓(xùn)練自己的AI大模型是一個復(fù)雜且耗時的過程,涉及多個關(guān)鍵步驟。以下是一個詳細的訓(xùn)練流程: 一、明確需求和目標(biāo) 首先,需要明確自己的需求和目標(biāo)。不同的任務(wù)和應(yīng)用領(lǐng)域需要不同類型的AI模型
    的頭像 發(fā)表于 10-23 15:07 ?149次閱讀

    新的 MathWorks 硬件支持包支持從 MATLAB 和 Simulink 模型到高通 Hexagon 神經(jīng)處理單元架構(gòu)的自動化代碼生成

    ? 和 Simulink? 模型的自動化代碼生成流程。在提高數(shù)據(jù)準(zhǔn)確度和標(biāo)準(zhǔn)合規(guī)性的同時,也提升開發(fā)人員的工作流效率。使用 MathWorks 軟件和基于模型的設(shè)計,工程師能夠
    的頭像 發(fā)表于 09-23 11:59 ?173次閱讀

    UNet模型屬于哪種神經(jīng)網(wǎng)絡(luò)

    U-Net模型屬于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)的一種特殊形式 。它最初由德國弗萊堡大學(xué)計算機科學(xué)系的研究人員在2015年提出,專為生物醫(yī)學(xué)圖像
    的頭像 發(fā)表于 07-24 10:59 ?1579次閱讀

    maixcam如何無腦運行運行別人的模型(以安全帽模型為例)

    =333.999.0.0 該模型整個的壓縮包在該文件附件中 如何修改為自己模型應(yīng)用 從主函數(shù)代碼可以看到我導(dǎo)入了sipeed退出圖片,使用了ts.read()去讀取觸摸坐標(biāo),再次感謝
    發(fā)表于 04-25 14:51

    Vivado 使用Simulink設(shè)計FIR濾波器

    。就好像模型自己代碼完成的一樣。 2、以IP核形式生成IP。添加IP信息,生成IP核。用戶以IP核的形式直接調(diào)用。 3、Synthesized Checkpoint形式生成網(wǎng)表文件(推薦)。選擇此項
    發(fā)表于 04-17 17:29

    Simulink自動生成代碼現(xiàn)階段的學(xué)習(xí)筆記

    在車載控制器的軟件開發(fā)中,simulink的身影幾乎隨處可見,主要是在控制算法和控制邏輯的實現(xiàn)。平時看同事點點點就生成代碼了,看起來很簡單,但是實際操作起來確各種磕磕絆絆。 下面記錄了一下步驟作為現(xiàn)階段的學(xué)習(xí)筆記吧。
    的頭像 發(fā)表于 04-17 10:56 ?3245次閱讀
    <b class='flag-5'>Simulink</b>自動生成<b class='flag-5'>代碼</b>現(xiàn)階段的學(xué)習(xí)筆記

    電路仿真軟件simulink的工作原理

    Simulink是MATLAB的一個模塊,它采用圖形化的方式來創(chuàng)建動態(tài)系統(tǒng)模型并進行仿真分析。Simulink的工作原理主要基于模塊化的建模和仿真方式。
    的頭像 發(fā)表于 03-29 15:21 ?1365次閱讀

    如何快速打造屬于自己的工業(yè)物聯(lián)網(wǎng)云平臺

    如何快速打造屬于自己的工業(yè)物聯(lián)網(wǎng)云平臺 工業(yè)物聯(lián)網(wǎng)云平臺是工業(yè)4.0的核心,是實現(xiàn)智能制造、智能物流、智能工廠的重要手段。在快速發(fā)展的信息化時代,如何快速打造屬于自己的工業(yè)物聯(lián)網(wǎng)云平臺
    的頭像 發(fā)表于 01-25 16:51 ?518次閱讀
    如何快速打造<b class='flag-5'>屬于</b><b class='flag-5'>自己</b>的工業(yè)物聯(lián)網(wǎng)云平臺

    風(fēng)靡萬千軟件開發(fā)者:揭秘華為研發(fā)代碼模型是如何實現(xiàn)的?

    作者 | 陳泰紅 秉持“自己的降落傘,自己先跳”的原則,由公司裝備部門牽頭,攜手華為云PaaS作為基礎(chǔ)能力提供方,與公司各產(chǎn)品線共同研發(fā)面向產(chǎn)業(yè)的代碼模型。在研發(fā)過程中,我們已取得初
    的頭像 發(fā)表于 12-15 15:50 ?567次閱讀
    風(fēng)靡萬千軟件開發(fā)者:揭秘華為研發(fā)<b class='flag-5'>代碼</b>大<b class='flag-5'>模型</b>是如何實現(xiàn)的?

    任意單片機基于simulink模型開發(fā)方式

    使用Arduino在simulink中搭建的LED閃爍的一個例子如圖1所示,相比之前C語言代碼實現(xiàn)的方式,這里沒有寫一行代碼就實現(xiàn)了LED閃爍。讀者有沒有感覺這種開發(fā)方式即簡單又方便,要實現(xiàn)什么功能
    的頭像 發(fā)表于 11-30 15:27 ?718次閱讀
    任意單片機基于<b class='flag-5'>simulink</b><b class='flag-5'>模型</b>開發(fā)方式

    代碼生成:基于 AI 大模型的挑戰(zhàn)與前景

    使用AI通用模型來完成代碼生成這類非常具體的任務(wù)可能會帶來問題。人工智能生成的代碼就像是陌生人的代碼,它們可能并不符合
    的頭像 發(fā)表于 11-26 08:05 ?683次閱讀
    <b class='flag-5'>代碼</b>生成:基于 AI 大<b class='flag-5'>模型</b>的挑戰(zhàn)與前景

    從HumanEval到CoderEval: 代碼生成模型真的work嗎?

    本文主要介紹了一個名為CoderEval的代碼生成大模型評估基準(zhǔn),并對三個代碼生成模型(CodeGen、PanGu-Coder和ChatGPT)在該基準(zhǔn)上的表現(xiàn)進行了評估和比較。研究人
    的頭像 發(fā)表于 11-25 15:55 ?1458次閱讀
    從HumanEval到CoderEval: <b class='flag-5'>你</b>的<b class='flag-5'>代碼</b>生成<b class='flag-5'>模型</b>真的work嗎?

    simulink自動生成ROS代碼

    當(dāng)我們用simulink完成控制程序的搭建后,我們期望下一次可以直接對ROS進行控制,而不是每次都需要啟動matlab和simulink,因此我們可以使用simulink代碼生成器,
    的頭像 發(fā)表于 11-15 17:53 ?749次閱讀
    <b class='flag-5'>simulink</b>自動生成ROS<b class='flag-5'>代碼</b>

    Simulink中如何創(chuàng)建一個Publisher

    > Library Browser打開Simulink庫瀏覽器。單擊ROS工具箱選項卡(也可以在MATLAB命令窗口中輸入roslib)。選擇ROS庫。 4.將Publish塊拖到模型中。雙擊該塊以配置主題和消息類型。 5.為
    的頭像 發(fā)表于 11-15 17:32 ?540次閱讀
    <b class='flag-5'>Simulink</b>中如何創(chuàng)建一個Publisher