用于 MALT 的微控制器命令

本主题定义电脑与微控制器之间的命令, (Arduino) 控制 MALT 中的传感器。 建议控制微控制器的电脑也是受测系统或设备, (SUT/DUT) 。

串行命令接口

通过以下串行命令与测试设备通信。 每个命令将通过一系列行向串行写入和读取。

色亮度级别

根据给定输入调整光线级别。

参考中使用的 光板 支持 0.25 到 1.3 伏的输入。

使用参考 DAC Microchip MCP4821的数据表,我们可以解决发送到光面板的最大 Vout

1.3 = 2.048 * 1 * (D/(2^12))

D = 2600

示例:

以下示例根据上述公式 (发送获取最大亮度光线所需的电压) 。

LIGHT 2600

串行输出:

第 0 行
MALTERROR 状态代码

READALSSENSOR 传感器编号

传感器编号定义如下:

  1. 环境光传感器 (远离屏幕)
  2. 屏幕光线传感器 (面向屏幕)

示例:

以下示例将生成的原始数据从屏幕光传感器写入串行。 可根据使用的传感器 数据表 计算照度。

READALSSENSOR 2

串行输出:

第 0 行 第 1 行 第 2 行
失败) 时指数 (0 失败) 时结果 (0 MALTERROR 状态代码

READCOLORSENSOR 传感器编号

传感器编号定义如下:

  1. 环境颜色传感器 (远离屏幕)
  2. 面向屏幕的屏幕颜色传感器 ()

示例:

以下示例将屏幕颜色传感器中生成的数据写入串行。 这些数字经过板载校准矩阵以转换为 XYZ 颜色空间。

READCOLORSENSOR 2

串行输出:

第 1 行 第 2 行 第 3 行 第 4 行
X 值 Y 值 Z 值 MALTERROR 状态代码

CONVERSIONTIME 转换时间(毫秒)

参考中使用的 OPT3001 光传感器支持 2 次转换:800 毫秒和 100 毫秒。 CONVERSIONTIME 更改两个传感器的转换时间。

注意

如果在写入配置寄存器时正在进行度量转换,则活动度量转换会立即中止。

示例:

以下示例将两个传感器的转换时间更改为 100 毫秒。

MALT 原型使用的默认转换时间为 800 毫秒。

CONVERSIONTIME 100

串行输出:

第 0 行
MALTERROR 状态代码

无法识别的命令

对于任何无法识别的命令:

串行输出:

第 0 行
MALTERROR 状态代码 (,其中 MALTERROR 状态代码 = E_UNRECOGNIZED_COMMAND)

MALT 错误代码

E_SUCCESS E_INVALID_PARAM E_UNRECOGNIZED_COMMAND
0 1 2