zoukankan      html  css  js  c++  java
  • W800 ADC采集电压值

    W800芯片14 脚(PA1)及15 脚(PA4)脚可以作为普通ADC 使用,输入电压范围0~2.4V。
    高于2.4V 外部需做分压处理后才可进入ADC 接口。为提高精度,R1 和R2 需使用高精度电阻。
    根据Sensor 输出值选择合适的R1,R2 电阻值分压。

    在UserMain中创建ADC采集的任务:

    在任务处理函数中编写ADC采集程序,配置为PA1每隔1S采集并转换为电压值输出:
    static void adc_test_task(void *data)
    {
    int voltage =0;
    wm_adc_config(0);//配置ADC引脚为PA1

    for( ; ; )
    {
    	voltage = adc_get_inputVolt(0);//ADC值转换为电压值
    	tls_os_time_delay(1000);		/*调用系统函数延时1s*/
    		if (voltage < 0)
    		{
    			voltage = 0 - voltage;
    			//打印PA1采集的电压值,
    			printf(" -%d(mV) or -%d.%03d(V)
    ",  voltage, voltage/1000, voltage%1000);
    		}
    		else
    		{
    			printf(" %d(mV) or %d.%03d(V)
    ",  voltage, voltage/1000, voltage%1000);
    		}
    }
    

    }
    程序下载到开发板并运行,注意输入电压范围0~2.4V,高于2.4V 外部需做分压处理后才可进入ADC 接口:

  • 相关阅读:
    HDOJ1004
    HDOJ1001
    HDOJ1000
    HDOJ1003
    HDOJ1005
    新手如何正确使用CLion之输出hello world
    hihoCoder#1032 : 最长回文子串
    P3805 【模版】manacher算法(manacher)
    P1198 [JSOI2008]最大数(单调栈)
    P1351 联合权值
  • 原文地址:https://www.cnblogs.com/doiting/p/13920563.html
Copyright © 2011-2022 走看看