我是 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 的新手和初学者程序员,我想通过指针字符串初始化 adc adc_channel_t 但我收到错误“冲突类型限定符”
有人可以帮助我如何通过自己的变量初始化 adc_channel_t 以便我可以通过自己的函数传入该变量,我可以将通道更改为参数。
这是代码
const char *ptr ="ADC_CHANNEL_0"; 静态常量 adc_channel_t ptr;
adc1_config_channel_atten(ptr, atten);
谢谢
文档adc1_config_channel_atten()
可以在ESP IDF 编程指南中找到。
首先,您ptr
使用两种不同的类型两次声明变量。那是行不通的。您只能声明该变量一次。
其次,您将从文档中看到adc1_config_channel_atten
期望枚举类型adc1_channel_t作为第一个参数的类型。你不能通过const char*
那里。如果出于某种原因必须使用字符串,则需要编写一个自定义转换函数,该函数将字符串作为参数并返回该类型的变量adc1_channel_t
(或错误值,如果出现问题)。
希望这可以帮助!如果有不清楚的地方,请在评论中告诉我们。