wifiiot_adc.h接口简介
#include
#include
#include "ohos_init.h"
#include
#include "cmsis_os2.h"
#include "wifiiot_gpio.h"
#include "wifiiot_gpio_ex.h"
#include "wifiiot_adc.h"
#include "wifiiot_errno.h"
static float get_voltage(void)
{
unsigned int ret;
unsigned short data;
ret = AdcRead(WIFI_IOT_ADC_CHANNEL_5,&data,WIFI_IOT_ADC_EQU_MODEL_8,WIFI_IOT_ADC_CUR_BAIS_DEFAULT,0xff);
if (ret != WIFI_IOT_SUCCESS)
{
printf("ADC Read Fail\n");
}
return (float)data*1.8f*4/4096;
}
static void adc_func(void)
{
GpioInit();
IoSetPull(WIFI_IOT_IO_NAME_GPIO_11,WIFI_IOT_IO_PULL_UP);
float voltage;
while(1)
{
voltage = get_voltage();
printf("voltage:%.3fV\n", voltage);
osDelay(100);
}
}
static void my_led_example(void)
{
osThreadAttr_t attr;
attr.attr_bits = 0;
attr.name = "adc";
attr.cb_mem = NULL;
attr.cb_size = 0;
attr.priority = 24;
attr.stack_size = 1024*8;
if(osThreadNew((osThreadFunc_t)adc_func,NULL,&attr) == NULL)
{
printf("Falied to create adc_func!\n");
}
}
SYS_RUN(my_led_example);
- 运行效果,通过按键1改变电压值