1
我正在爲該目標創建一個Simulink(嵌入式編碼器)目標和一些sfunction驅動程序。在主模板文件(TLC)中,如果模型中至少存在一個驅動程序塊,則需要包含一些頭文件並調用初始化函數。有條件的#include如果功能塊存在於模型中
例如,如果我的模型使用IO sfunction驅動器模塊,在rpp_srmain.tlc
(我的模板文件的名稱),我需要這樣的東西:
%<LibSetSourceFileSection(cFile, "Includes", tmpBuf)>
%openfile tmpBuf
%<IfBlockPresentInModel("gio")>
#include "gio.h"
%<EndIf>
%closefile tmpBuf
(...)
%<LibSetSourceFileSection(cFile, "Declarations", tmpBuf)>
%openfile tmpBuf
void main(void)
{
%<IfBlockPresentInModel("gio")>
gioInit();
%<EndIf>
(...)
}
如何做到這一點任何幫助是非常歡迎的。
什麼樣的S-功能的是你的「吉奧」 IO驅動程序塊? 假設它是一個內聯S函數,爲什麼你不在TLC代碼塊中包含這個#include和init函數調用,而不是在主TLC中? – pmb 2013-06-20 09:40:15
因爲我不知道我在做什麼。所以是的,這基本上是答案。如果你把它作爲答案,我會將其標記爲解決方案。 – Havok 2013-06-21 03:04:21