このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
初期化、出力、および終了の指定
setupImpl
および stepImpl
メソッドは、C 関数を System object™ にフックします。出力としてのデジタル ピンの初期化は、モデルの初期化時に 1 回だけ行う必要があります。したがって、MW_gpioInit
関数は setupImpl
で呼び出されます。デジタル出力ピンの論理状態を更新するために、stepImpl
メソッドから MW_gpioRead
が呼び出されます。終了時には、ハードウェア リソースを解放するために releaseImpl
メソッドから MW_gpioTerminate
が呼び出されます。System object テンプレートの選択で作成した DigitalRead System object の初期化、出力、および終了の各コード セクションを更新するには、以下の手順に従います。
MATLAB® エディターで
DigitalRead.m
クラス ファイルを開きます。次のコードを使用して、
setupImpl
メソッドを更新します。methods (Access=protected) function setupImpl(obj) %#ok<MANU> if isempty(coder.target) % Place simulation setup code here else % Call C-function implementing device initialization coder.cinlcude('MW_gpio.h'); coder.ceval('MW_gpioInit', 9, 0); end end ... end
coder.ceval
関数は、MW_gpio.h
の C ラッパー関数の呼び出しを実行します。coder.ceval
の 2 番目と 3 番目の引数は、それぞれ ARM® Cortex®–A ハードウェア ボードのピン番号と値です。次のコードを使用して、
BuildInfo
メソッドを更新します。methods (Static) ... function updateBuildInfo(buildInfo, context) if context.isCodeGenTarget('rtw') % Update buildInfo srcDir = fullfile(fileparts(mfilename('fullpath')),'src'); %#ok includeDir = fullfile(fileparts(mfilename('fullpath')),'include'); addIncludePaths(buildInfo,includeDir); % Use the following API's to add include files, sources and linker flags addSourceFiles(buildInfo,'MW_gpio.c', srcDir); end end ... end
次のコードで
stepImpl
メソッドを更新します。methods(Access=protected) ... function y = stepImpl(obj) %#ok<MANU> y = double(0); if isempty(coder.target) % Place simulation output code here else % Call C-function implementing device output y = coder.ceval('MW_gpioRead', 9); end end ... end
DigitalWrite
System object とは異なり、DigitalRead
System object のstepImpl
メソッドは、選択されたピンの論理値である出力y
を定義します。次のコードで
releaseImpl
メソッドを更新します。methods(Access=protected) ... function releaseImpl(obj) %#ok<MANU> if isempty(coder.target) % Place simulation termination code here else % Call C-function implementing device termination coder.ceval('MW_gpioTerminate', 9); end end ... end
次のセクションでは、System object の出力端子のプロパティの設定を行います。
参考
Digital Read ブロックの作成 | System object テンプレートの選択 | 出力端子のプロパティの設定