指定初始化、输出和终止行为
的setupImpl
和stepImpl
方法将C/ c++函数绑定到System对象™。看到编写硬件专用的C/ c++代码有关创建C/ c++设备驱动程序代码的更多信息。作为输出的数字引脚的初始化只需要在模型初始化时完成一次。因此,MW_gpioInit
函数在setupImpl
。要更新数字输出引脚的逻辑状态,调用MW_gpioWrite
是由stepImpl
方法。在终止时,对MW_gpioTerminate
是由releaseImpl
方法释放硬件资源。对象的初始化、输出和终止代码部分可按照以下步骤更新DigitalWrite
中创建的系统对象选择系统对象模板。
在MATLAB中®编辑器,打开
DigitalWrite.m
类文件。更新
setupImpl
方法,使用以下代码。方法(访问=保护)函数setupImpl (obj)% #好<马努>如果isempty (coder.target)此处放置模拟设置代码其他的调用c函数实现设备初始化coder.cinclude (“MW_gpio.h”);coder.ceval (“MW_gpioInit”, 9,1);结束结束…结束
的
coder.ceval
函数中执行对C包装器函数的调用digitalio_arduino.h
。的第二个论点和第三个论点coder.ceval
分别为硬件引脚号和引脚模式值。更新
BuildInfo
方法,使用以下代码。方法(静态)…函数updateBuildInfo (buildInfo上下文)如果context.isCodeGenTarget (“环球套票”)%更新buildInfosrcDir = fullfile(fileparts(mfilename('fullpath')),'src');%#ok includeDir = fullfile(fileparts(mfilename('fullpath')),'include');addIncludePaths (buildInfo includeDir);使用下面的API添加包含文件、源和链接器标志addSourceFiles (buildInfo“MW_gpio.c”srcDir);结束结束…结束
更新
stepImpl
方法。方法(访问=保护)…函数stepImpl (obj, u)% #好< INUSD >如果isempty (coder.target)此处放置模拟设置代码其他的调用c函数实现设备输出coder.ceval (“MW_gpioWrite”, 9, u);结束结束…结束
更新
releaseImpl
方法。方法(访问=保护)…函数releaseImpl (obj)% #好<马努>如果isempty (coder.target)此处放置模拟终止代码其他的调用c -函数实现设备终止coder.ceval (“MW_gpioTerminate”9);结束结束…结束
在下一节中,您将得到答案用MATLAB命令行测试系统对象。