衡阳派盒市场营销有限公司

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

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

3天內不再提示

關于如何控制變量在生成代碼里的作用分析和介紹

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

在自動生成代碼時,Simulink模型里的兩類數據是我們需要考慮的:信號(signal)和參數(parameter)。信號對應于Simulink模塊連線,仿真時一般都會變化;而參數則對應于雙擊模塊時所設置的變量,仿真時一般保持不變。

如何控制這些變量在生成的代碼里的實現?

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

信號和參數的聲明和定義

要得到:

模型參數p1定義為:int32 p1 = 3;extern int32 p1

模型信號mySig定義為:int16 mySig;extern int16 mySig

怎么做:用Data Object。

實例二

1. 建一個簡單的Simulink模型

關于如何控制變量在生成代碼里的作用分析和介紹

2. 代碼生成基本配置

求解器:定步長—離散求解器

系統目標文件:ert.tlc

3. 新建數據對象

打開Model Explorer,點擊菜單的Add,在base workspace里定義參數數據對象p1,進行如圖設置:

關于如何控制變量在生成代碼里的作用分析和介紹

這樣在生成代碼的時候,參數p1就會定義為int32的數據類型,并且聲明為extern。而且它的聲明和定義代碼會分別寫入myHdr.h以及mySrc.c。

類似的,新建一個 Simulink.Signal,命名為 mySig,設置如圖。它的定義和聲明就會默認的在模型名.c和模型名.h里 :

關于如何控制變量在生成代碼里的作用分析和介紹

4. 信號關聯

在信號線上右鍵,將信號與Base Workspace的數據對象關聯在一起。

關于如何控制變量在生成代碼里的作用分析和介紹

參數k不需要手動關聯。

5. 生成代碼

Ctrl+B,生成代碼。

如前面所設置的,得到參數p1的定義如圖,寫到自定義的.c.h文件里去了:

關于如何控制變量在生成代碼里的作用分析和介紹

信號mySig的聲明和定義如圖,在模型名.c和模型名.h文件里:

關于如何控制變量在生成代碼里的作用分析和介紹

E-Coder里對數據的默認定義:

關于如何控制變量在生成代碼里的作用分析和介紹

總結

所以說,可以使用數據對象(Data Object)來定義數據在所生成的代碼里的表達方式。

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

    關注

    11

    文章

    2807

    瀏覽量

    77113
  • 變量
    +關注

    關注

    0

    文章

    613

    瀏覽量

    28466
收藏 人收藏

    評論

    相關推薦

    DFT在生物信號分析中的應用

    DFT(離散傅里葉變換)在生物信號分析中有著廣泛的應用。生物信號,如心電圖(ECG)、腦電圖(EEG)、肌電圖(EMG)等,是生物體內產生的電信號,它們攜帶著生命活動和生理狀態的重要信息。DFT作為
    的頭像 發表于 12-20 09:28 ?410次閱讀

    探索設計稿自動生成Flutter代碼的技術方案

    的工具和方法,最后嘗試大模型生成flutter代碼在項目中的實踐。 一、美團的探索 美團在2021年3月25日發表了一篇關于設計稿自動生成代碼
    的頭像 發表于 11-08 10:09 ?1032次閱讀
    探索設計稿自動<b class='flag-5'>生成</b>Flutter<b class='flag-5'>代碼</b>的技術方案

    如何自動生成verilog代碼

    介紹幾種自動生成verilog代碼的方法。
    的頭像 發表于 11-05 11:45 ?446次閱讀
    如何自動<b class='flag-5'>生成</b>verilog<b class='flag-5'>代碼</b>

    生成式AI工具作用

    生成式AI工具是指那些能夠自動生成文本、圖像、音頻、視頻等多種類型數據的人工智能技術。在此,petacloud.ai小編為您整理生成式AI工具作用
    的頭像 發表于 10-28 11:19 ?318次閱讀

    STM32CUBEMX生成freeRTOS代碼的時候出現警告

    to use HAL timebase source other than the Systick. HAL函數如果是阻塞型呼叫,內部會用到HAL_Delay(),FreeRTOS應該還是使用SystTick。如果使用的時基操作來源一樣,怕有不可預期問題出現,故選擇其他定時器。 此時在生成
    發表于 09-04 14:13

    ESP-07 GPIO0在生成clk_out信號時卡住了怎么解決?

    我正在使用 ESP-07 模塊,即使在執行復位后,GPIO0 引腳仍卡在生成clk_out信號 (26MHz)。 可以修復嗎? 或者,芯片壞了?
    發表于 07-18 07:07

    ESP32-C3如何把一個const結構體固定放在生成的bin文件的最末尾?

    我的芯片是ESP32-C3,需要把一個const結構體固定放在生成的bin文件的最末尾,例如: #define USER_SECTION__attribute__ ((used,section
    發表于 06-18 07:52

    探討AI編寫代碼技術,以及提高代碼質量的關鍵:靜態代碼分析工具Perforce Helix QAC &amp; Klocwork

    令軟件開發人員夜不能寐的事情比比皆是。如今,他們最關心的問題不再是如何用自己喜歡的語言(C、C++、Erlang、Java 等)表達最新的算法,而是人工智能(AI)。 本文中,我們將介紹AI編寫代碼
    的頭像 發表于 06-05 14:10 ?465次閱讀

    ISEDA首發!大語言模型生成代碼到底好不好使

    在大模型席卷一切、賦能百業的浪潮,“碼農”也沒能獨善其身。各種代碼自動生成的大模型,似乎描繪了一個人人都能像資深工程師一樣寫代碼的美好未來。 但在這個理想成為現實之前,有一個不能回避
    發表于 05-16 13:41 ?366次閱讀
    ISEDA首發!大語言模型<b class='flag-5'>生成</b>的<b class='flag-5'>代碼</b>到底好不好使

    使用LL庫時在CUBEMX中設置了重映射,在生成代碼中卻沒有重映射是為什么?

    我在使用LL庫時在CUBEMX中設置了重映射,但是在生成代碼中卻沒有重映射,于是人工添加LL_GPIO_AF_RemapPartial_TIM3(); 然后防真但是走到這里就出現不能繼續防真的情況
    發表于 04-24 07:26

    Simulink自動生成代碼現階段的學習筆記

    在車載控制器的軟件開發中,simulink的身影幾乎隨處可見,主要是在控制算法和控制邏輯的實現。平時看同事點點點就生成代碼了,看起來很簡單,
    的頭像 發表于 04-17 10:56 ?4071次閱讀
    Simulink自動<b class='flag-5'>生成</b><b class='flag-5'>代碼</b>現階段的學習筆記

    STM32CubeMX生成代碼軟件卡死的原因?怎么解決?

    STM32CubeMX 生成代碼 軟件卡死!在生成代嗎時,一直卡死在如圖所示的狀態,進度條一直就不走了。試過多次,一直如此。請問如何解決該問題,原因可能是什么?STM32CubeMX版本5.1.0
    發表于 04-10 06:03

    請問STM32IDE如何設定代碼到ITCM中運行?

    近期使用STM32MUX生成STM32IDE的代碼(MCU是STM32H743),目前希望可以將部分代碼定位到ITCM中運行,加快處理速度,關于代碼
    發表于 03-26 06:08

    C語言中的三種形式變量

    局部變量是在一個函數、代碼塊內部聲明的變量,只能被該函數或者代碼塊內部應用。局部變量在函數之外不可用。
    發表于 03-11 17:34 ?805次閱讀
    C語言中的三種形式<b class='flag-5'>變量</b>

    變量位置不同會死機?郭天祥老師視頻的遺留問題分析答案

    在郭天祥老師視頻有一個問題分享,是EXMC初始化的一個變量定義和初始化位置不同會導致程序死機,最終定位到程序是進入hardfault死機,但暫時沒有后續分析了,這里我們來繼續
    的頭像 發表于 02-26 09:12 ?405次閱讀
    <b class='flag-5'>變量</b>位置不同會死機?郭天祥老師視頻的遺留問題<b class='flag-5'>分析</b>答案
    百家乐路单打法| 美高梅娱乐城网址| 波音代理| 大玩家百家乐官网的玩法技巧和规则 | 澳门百家乐官网图形| 百家乐时时彩网站| 网上现金游戏网 | 百家乐官网桌子租| 立博网站| 养狗对做生意风水好吗| 万豪国际开户| 百家乐注册就送| 百家乐详解| 百家乐视频游戏冲值| 马关县| 百家乐缆法排行榜| 百家乐官网娱乐城代理| 蓝盾百家乐洗码| 百家乐官网百家乐官网论坛| 百家乐玩法说| 百家乐官网看澳门| 大发888游戏破解秘籍| 百家乐官网博娱乐平台| 亲朋棋牌捕鱼技巧| 百家乐玩法窍门| 百家乐官网如何睇路| 博必发百家乐的玩法技巧和规则| 百家乐官网澳门百家乐官网澳门赌场 | 威尼斯人娱乐城备用网址| 百家乐官网水晶筹码价格| 皇冠现金网骗人| 海立方百家乐客户端| 百家乐官网大眼仔用法| 百家乐社区| 老k百家乐官网的玩法技巧和规则| 棋牌娱乐游戏大厅| 澳门百家乐下注最低| 百家乐官网游戏机博彩正网| 大发888娱乐官方| 百家乐手机投注| 百家乐官网德州桌|