主要内容

指定初始化、输出和终止行为

setupImplstepImpl方法将C/ c++函数绑定到System对象™。看到编写硬件专用的C/ c++代码有关创建C/ c++设备驱动程序代码的更多信息。作为输出的数字引脚的初始化只需要在模型初始化时完成一次。因此,MW_gpioInit函数在setupImpl。要更新数字输出引脚的逻辑状态,调用MW_gpioWrite是由stepImpl方法。在终止时,对MW_gpioTerminate是由releaseImpl方法释放硬件资源。对象的初始化、输出和终止代码部分可按照以下步骤更新DigitalWrite中创建的系统对象选择系统对象模板

  1. 在MATLAB中®编辑器,打开DigitalWrite.m类文件。

  2. 更新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分别为硬件引脚号和引脚模式值。

  3. 更新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);结束结束结束
  4. 更新stepImpl方法。

    方法(访问=保护)函数stepImpl (obj, u)% #好< INUSD >如果isempty (coder.target)此处放置模拟设置代码其他的调用c函数实现设备输出coder.ceval (“MW_gpioWrite”, 9, u);结束结束结束
  5. 更新releaseImpl方法。

    方法(访问=保护)函数releaseImpl (obj)% #好<马努>如果isempty (coder.target)此处放置模拟终止代码其他的调用c -函数实现设备终止coder.ceval (“MW_gpioTerminate”9);结束结束结束

在下一节中,您将得到答案用MATLAB命令行测试系统对象

另请参阅

||