跳到主要内容
版本:1.10.20_build_2026.4.14.13.40

示波器

示波器控件(旧版IDE中称作“图表控件”)以图像形式显示输入值,绑定变量后,实现示波器的功能。

点击“编辑”菜单中“添加控件”按钮,在下拉的控件列表中选择“示波器”。

界面右上角会弹出“添加widget成功”消息,在"编辑区"可以看到新添加的控件。选中控件,可以在“属性”栏对其进行编辑。

名称、ID、坐标、宽度、高度、变换、纹理压缩模式、纹理自适应缩放、可替换升级、纹理设置为通用属性,在基础设计——编辑属性中进行了统一介绍。

一、模式选“绘图”时,通过多次输入坐标点自动连线形成波纹:

“最小值”和“最大值”指的是Y坐标的最小值,最大值, “X最小值”和“X最大值”指的是X坐标的最小值,最大值 线宽需设1-9奇数。 坐标(0,0)为该控件左下角位置。 坐标值计算方式为(x<<16)+y,比如坐标(30,40),就是(30<<16)+40,即1966120

示例: 第一个点位置(0,20),即赋值20, 第二个点位置(35,40),即赋值2293800, 两个点会自动连线,如下图: 持续赋值就能形成波纹

二、模式选“示波器”时,只需要多次输入Y坐标值就能形成波纹:

最小值和最大值是示波器可以显示的数值范围。 X数量是X坐标上可显示的点个数。 系统在显示输入值时采用了临近点插值的算法,用户可选线性插值或贝塞尔插值。两种插值显示效果如下图,左侧为线性,右侧为贝塞尔。

选择贝塞尔模式时由于算法的限制(贝塞尔曲线走向算法依赖于未来的下一个点位置),会存在显示精准度不足问题,目前我们的解决方法是连续两次给示波器控件赋相同值,例如,如果要赋的值是58,那么给示波器控件赋58后立即再赋58即可。

绘制模式中,可以选择推进或循环。推进模式下,新输入的值在示波器最右侧显示,波形持续向左移动;循环模式下,数值从左到右依次显示,填满横坐标所有的点位后,从最左侧开始刷新,区别如下图,左侧为推进,右侧为循环。

显示模式下,可以选择线下遮盖或者线,区别如下图,左侧为线下遮盖,右侧为线。

用户可以设置示波器的背景色和前景色。根据显示模式不同,前景色为线或遮盖区域的颜色。

线宽需设1-9奇数。

初始推进位置可以选择右侧或者左侧,区别如下图,左图为左侧推进,右图为右侧推进。

示波器需绑定数字类型的变量,制作时可使用randInt指令产生随机数预览效果。


我们可以使用“clearData”指令去清除示波器的数据。例如,给示波器控件设一个ID号“1”,

添加一个触发器控件,新建一个变量,取名“清除图表数据”,将触发器与该变量绑定,触发器action中,触发器的触发条件设为“Tag改变”,添加清除示波器数据指令“clearData xx ”,其中“xx”为示波器控件的ID号。

进入仿真,给示波器控件绑定变量输入几个数据,让示波器显示出线条。

然后给“清空图表数据”变量赋“1”即可清空示波器控件数据。

如何消除示波器左侧或者右侧的“空白边距”?

如下图,示波器的控件宽度为800,X数量为23,仿真时可以看到右侧始终有“空白边距”。

首先示波器两点之间的间距=示波器控件宽度 /(X数量-1),如果能整除,就没有那个“空白边距”,所以我们如果把示波器的控件宽度修改为792,其他参数不变,就可以消除右侧的“空白边距”,效果如下:

示例工程:

1.网络版IDE-示例工程: 工程名称:示波器控件示例 (分辨率:1080*1080)
路径:https://ide.graphichina.com/project/69d7473f9c4f8e0158d272c8/editor?ideVersion=1.10.20
只读密码:2127

2.离线版IDE工程下载链接: http://sxw2022.quickconnect.cn/d/s/180U9j7mZ9VMX9co3x5oxZK5wW8dzRnS/ymsvpcinxKIt3T0hQaEpP_FipNAUYdqK-JL3gVtTvJg0 链接中的ahmi文件适用于离线版IDE,大家在里面寻找并下载自己所需的ahmi文件,建议放在1.10.20_build_2026.4.21.15.50或后面版本的IDE中(之前的版本可能不支持),将ahmi文件拷贝到“速显微AHMI-IDE\package.nw\localproject”文件夹中,重启离线版IDE即可。