添加普通按钮以查看引脚映射
此示例说明如何使用 matlab.system.display.Action 向模块封装添加按钮。当您点击该按钮时,会打开硬件板引脚映射的图像。此示例说明如何设置按钮选项并使用 actionData 对象输入来存储图窗句柄。这样,当按钮多次点击时会使用同一个图窗,而不是为每次按钮点击打开一个新图窗。
将函数
viewpinmap添加到 System object™ 的方法中。methods function viewpinmap(obj,actionData) f = actionData.UserData; if isempty(f) || ~ishandle(f) % Create figure for pin map. f = figure; f.Name = 'Hardware Pin Map'; f.NumberTitle = 'off'; % Remove number title f.ToolBar = 'none'; % Remove toolbar f.MenuBar = 'none'; % Remove menubar % Create axes in figure. ax = axes(f); ax.Position = [0 0 1 1]; % Set axes to fill figure % Display the image. imshow( 'peppers.png',... 'Parent',ax,... 'InitialMagnification','fit'); actionData.UserData = f; else figure(f); % Make figure current. end end end
此函数创建一个包含来自
peppers.png文件的图像的图窗。此图像应替换为硬件板的引脚映射图像。将以下
getPropertyGroupImpl函数添加到 System object 的方法中。methods(Static,Access=protected) function group = getPropertyGroupsImpl group = matlab.system.display.Section(mfilename('class')); group.Actions = matlab.system.display.Action(@(actionData,obj) ... viewpinmap(obj,actionData),'Label','Pin Map'); end ... end
此函数在模块封装上创建按钮并在点击该按钮时执行函数
viewpinmap。点击该按钮以确认具有引脚映射图像的图窗显示在屏幕上。
注意
由于 Digital Write 模块直接依赖硬件,建议您添加模块对话框按钮,向用户显示硬件板的引脚映射。
另请参阅
Add Custom Button to MATLAB System Block | Mapping System Object Code to MATLAB System Block Dialog Box