九鼎创展论坛
标题: x6818_ADC测试说明 [打印本页]
作者: hhy 时间: 2016-9-13 16:18
标题: x6818_ADC测试说明
一.布局
1. 背景颜色为橘黄色,最上面显示的是一个TextView文本框,背景为黑色覆盖掉了橘黄色。
2. 下面四个ADC显示栏是一个线性布局,线性布局里面垂直放置四个TextView文本框用于显示ADC。
二.实现方法
通过调用DeviceIO类里面的read方法读取相应的装置文件得到的字符串就是ADC的数值,然后将读取获得的数值显示在相应的TextView的文本框里。
- private void updateStatus()
- {
- String adc0 = DeviceIO.read("/sys/bus/platform/drivers/nxp-adc/nxp-adc/iio:device0/in_voltage0_raw").replaceAll("\r|\n", "");
- mTextViewAdc0.setText("ADC0 : " + adc0);
- String adc1 = DeviceIO.read("/sys/bus/platform/drivers/nxp-adc/nxp-adc/iio:device0/in_voltage1_raw").replaceAll("\r|\n", "");
- mTextViewAdc1.setText("ADC1 : " + adc1);
- String adc2 = DeviceIO.read("/sys/bus/platform/drivers/nxp-adc/nxp-adc/iio:device0/in_voltage2_raw").replaceAll("\r|\n", "");
- mTextViewAdc2.setText("ADC2 : " + adc2);
- String adc3 = DeviceIO.read("/sys/bus/platform/drivers/nxp-adc/nxp-adc/iio:device0/in_voltage3_raw").replaceAll("\r|\n", "");
- mTextViewAdc3.setText("ADC3 : " + adc3);
- }
复制代码- public static String read(String fileName) {
- String res = "";
- try {
- FileInputStream fin = new FileInputStream(fileName);
- int length = fin.available();
- byte[] buffer = new byte[length];
- length = fin.read(buffer);
- res = new String(buffer);
- res = String.copyValueOf(res.toCharArray(), 0, length);
- fin.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- return res;
- }
复制代码通过开启一个线程让读取和显示的操作每两秒进行一次,就可以检测ADC的变化。
- handler = new Handler();
- runnable = new Runnable() {
- @Override
- public void run() {
- handler.postDelayed(this, 2000);
- updateStatus();
- }
- };
- handler.postDelayed(runnable, 2000);
- }
复制代码
ADC的数值大小范围为0 ~ 2^12,即0 ~ 4095;对应的电压为0 ~ 1.8V;
-
ADC测试.png
(24.07 KB, 下载次数: 403)
ADC测试
欢迎光临 九鼎创展论坛 (http://bbs.9tripod.com/) |
Powered by Discuz! X3.2 |