在默認(rèn)配置下,Simulink 模型自動(dòng)生成的 C 代碼的函數(shù)原型都是 void model_step(void) 的形式。但是,集成代碼時(shí),函數(shù)原型通常都需要滿足指定的形式。
如何配置 Simulink 模型
才能使生成代碼滿足指定的函數(shù)原型?
點(diǎn)擊末尾的 “閱讀原文” 下載本文的案例模型
設(shè)置模型自動(dòng)生成的代碼的函數(shù)原型
要得到:
double myFun(double u1[10], double u2, double *y1)。
return y2
怎么做:
通過(guò)代碼生成的接口配置界面 Interface 的 Configure Model Functions 來(lái)自定義 Simulink 模型所生成的 C 代碼的函數(shù)原型。
舉個(gè)例子
1. 模型
使用上一篇的模型:
默認(rèn)配置生成代碼的函數(shù)原型如下,數(shù)據(jù)傳遞都使用全局變量:
2. 配置
端口數(shù)據(jù)類(lèi)型都設(shè)置為指定的 double:
接著配置函數(shù)原型為指定形式,如下圖:
根據(jù)菜單設(shè)置,配置所需要的函數(shù)原型,最后使用Validate按鈕來(lái)幫助檢查:
如 Validate 后下方的紅色文字所示,需要把 Base Workspace 里輸入輸出信號(hào)對(duì)象的 Storage Class 設(shè)置為 Auto。
另外,只能設(shè)置 return 一個(gè)變量。如果一定要返回多個(gè)值,可以考慮設(shè)置成結(jié)構(gòu)體的形式。
因?yàn)槟P屠锏?u1 是一個(gè)數(shù)組,所以在菜單里不能如上圖設(shè)置為 Value。
3. 結(jié)果
最后得到的代碼的函數(shù)原型:
總結(jié)
通過(guò)代碼生成的接口配置界面 Interface 的 Configure Model Functions 頁(yè)面來(lái)自定義模型代碼的函數(shù)原型。
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4346瀏覽量
63024 -
代碼
+關(guān)注
關(guān)注
30文章
4838瀏覽量
69139 -
結(jié)構(gòu)體
+關(guān)注
關(guān)注
1文章
130瀏覽量
10873
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
Simulink與 Simscape的結(jié)合使用
Simulink模型仿真與分析技巧
Simulink自定義模塊開(kāi)發(fā)教程 Simulink 在控制系統(tǒng)中的應(yīng)用
從零到一:搭建屬于自己的海外IP代理池
如何訓(xùn)練自己的LLM模型
Matlab/Simulink/Stateflow建模開(kāi)發(fā)及仿真測(cè)試
如何訓(xùn)練自己的AI大模型
新的 MathWorks 硬件支持包支持從 MATLAB 和 Simulink 模型到高通 Hexagon 神經(jīng)處理單元架構(gòu)的自動(dòng)化代碼生成
UNet模型屬于哪種神經(jīng)網(wǎng)絡(luò)
maixcam如何無(wú)腦運(yùn)行運(yùn)行別人的模型(以安全帽模型為例)
Vivado 使用Simulink設(shè)計(jì)FIR濾波器
Simulink自動(dòng)生成代碼現(xiàn)階段的學(xué)習(xí)筆記
![<b class='flag-5'>Simulink</b>自動(dòng)生成<b class='flag-5'>代碼</b>現(xiàn)階段的學(xué)習(xí)筆記](https://file1.elecfans.com/web2/M00/CA/B5/wKgZomYfOryASYcYAAAhf1BV3tg663.png)
電路仿真軟件simulink的工作原理
![](https://file1.elecfans.com/web2/M00/C3/B8/wKgaomXn4K-AWczbAALbOB5f1pE041.png)
評(píng)論