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)\r\n", voltage, voltage/1000, voltage%1000);
}
else
{
printf(" %d(mV) or %d.%03d(V)\r\n", voltage, voltage/1000, voltage%1000);
}
}
}
程序下载到开发板并运行,注意输入电压范围0~2.4V,高于2.4V 外部需做分压处理后才可进入ADC 接口: