wifiiot_adc.h接口简介

创建任务1秒读取一次ADC
#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改变电压值

China香烟网