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 接口:

原文地址:https://www.cnblogs.com/doiting/p/13920563.html