首页 > 解决方案 > 通过变量初始化 adc_channel_t

问题描述

我是 Esp Idf 的新手和初学者程序员,我想通过指针字符串初始化 adc adc_channel_t 但我收到错误“冲突类型限定符”

有人可以帮助我如何通过自己的变量初始化 adc_channel_t 以便我可以通过自己的函数传入该变量,我可以将通道更改为参数。

这是代码

const char *ptr ="ADC_CHANNEL_0"; 静态常量 adc_channel_t ptr;

adc1_config_channel_atten(ptr, atten);

谢谢

标签: esp-idf

解决方案


文档adc1_config_channel_atten()可以在ESP IDF 编程指南中找到。

首先,您ptr使用两种不同的类型两次声明变量。那是行不通的。您只能声明该变量一次。

其次,您将从文档中看到adc1_config_channel_atten期望枚举类型adc1_channel_t作为第一个参数的类型。你不能通过const char*那里。如果出于某种原因必须使用字符串,则需要编写一个自定义转换函数,该函数将字符串作为参数并返回该类型的变量adc1_channel_t(或错误值,如果出现问题)。

希望这可以帮助!如果有不清楚的地方,请在评论中告诉我们。


推荐阅读