ADC

ADC,是 Analog-to-Digital converter(模/数转换器)的缩写,它是一种常见的硬件接口,用以将模拟信号转换为数字信号。

如果想更多的了解 ADC,可以到这里

前提条件

使用 ADC

请根据外设的数据手册,确定外设的接口类型为 ADC。

配置 driver.json

确定自己的硬件接口是 ADC 后,需要声明硬件接口类型为 ADC。在 driver.json 文件里的inputs,指定接口类型(type)为 ADC。

{
...
"inputs": {
"adc": {
"type": "adc"
}
}
}

编写驱动

驱动程序从 ADC 接口得到模拟信号经过 A/D 转换的电压值,下面是一个例子:

function getInputVoltage(callback) {
this._adc.getVoltage(function (error, voltage) {
if (error) {
callback(error);
return;
}

callback(undefined, voltage + 'v');
});
}

如果想了解更多细节,请参考其 API 文档

应用示例

下面演示如何为含有 ADC 接口的模块编写驱动。在 driver.json 文件中声明一个类型为 ADC 的接口。

{
"inputs": {
"adc": {
"type": "adc"
}
}
}

我们为含有 ADC 的模块提供得到输入电压值(getInputVoltage)接口,具体实现如下:

  • getInputVoltage,得到模拟信号经过 A/D 转换后的电压值,输出为(~v)格式。
'use strict';

var driver = require('ruff-driver');

module.exports = driver({
attach: function (inputs) {
this._adc = inputs['adc'];
},

exports: {
getInputVoltage: function (callback) {
this._adc.getVoltage(function (error, voltage) {
if (error) {
callback(error);
return;
}

callback(undefined, voltage + 'v');
});
}
}
});