TiADC - 模数转换器
ADC,Analog-to-Digital Converter的缩写ADC,指模/数转换器或者模数转换器。是指将连续变化的模拟信号转换为离散的数字信号的器件,具体可参考https://baike.baidu.com/item/ADC/6529867或https://en.wikipedia.org/wiki/Analog-to-digital_converter。
TiJOS Framework提供TiADC来支持ADC功能,其将ADC按照port分组,共支持256组,组号范围0-255,即:port0-port255;其中每组内按照channel划分16通道,通道范围0-15,即:channel0-channel15,测试模拟量为电压值。
Java包
tijos.framework.devicecenter
TiADC方法定义
TiADC类中主要的方法:
方法 | 说明 |
---|---|
TiADC open(int portID) | 静态方法,通过指定port打开ADC所有通道,返回TiADC对象,若需要再次打开或打开为其他设备时需要先调用close关闭当前对象 |
TiADC open(int portID, int... channelIDs) | 静态方法,通过指定port及通道号打开ADC,返回TiADC对象,若需要再次打开或打开为其他设备时需要先调用close关闭当前对象 |
void close() | 关闭当前对象 |
int getRawValue(int channelID) | 获取指定通道的原始采样值 |
double getVoltageValue() | 获取转换后的电压测量值,单位:V |
void setRefVoltageValue(double refVoltage) | 设置参考电压值,单位V。默认值:3.3 |
int getResolutionValue(boolean power) | 获取分辨率 |
TiADC类中他方法的技术说明请参考TiJOS JDK framework说明文档。
TiADC对象创建与销毁
TiADC对象的创建需要调用open静态方法,传入指定port参数,返回创建的接口对象。
TiADC对象的销毁需要调用close方法。
...
int adcPort0 = 0; //定义接口,port0
int adcChannel0 = 0; //使用通道0
TiADC adc0 = TiADC.open(adcPort0, adcChannel0); //打开port0,返回TiADC接口对象
...
...
...
adc0.close(); //销毁当前对象
TiADC电压测量
...
adc0.setRefVoltage(1.0); //1.0V为平台内部参考电压
//以ESP8266A平台为例,这部分与平台相关,需要根据平台特性设置。
double vin = adc0.getVoltageValue(adcChannel0); //获取电压数字量
double voltage = vin * 5; //分压比1:5,以ESP8266A平台为例,这部分与平台相关,需要根据平台特性设置。
...
注意:电压测量参数中的内部参考电压和分压比受平台特性的限制,设置时须了解硬件平台特性。
具体可参考TiJOS Framework说明文档。