【问题标题】:invalid conversion from ‘char*’ to ‘uint8_t’ Arduino从 'char*' 到 'uint8_t' Arduino 的无效转换
【发布时间】:2023-04-10 01:17:01
【问题描述】:

我正在尝试同时为我的 Mega 上的所有模拟输入引脚设置引脚模式。所以我在设置之前做了一个数组:

char* Analog_Input_List[16] = {"A0","A1","A2","A3","A4","A5","A6","A7","A8","A9","A10","A11","A12","A13","A14","A15"};

然后我尝试运行这个:

 //analogue input pin set-up
 for (int i =0;i<8;i++){
 pinMode(Analog_Input_List[i], OUTPUT);   
 }

但是我收到了这个错误:

sketch_jul24a.cpp: In function ‘void setup()’:
sketch_jul24a.cpp:54:40: error: invalid conversion from ‘char*’ to ‘uint8_t’
sketch_jul24a.cpp:54:40: error:   initializing argument 1 of ‘void pinMode(uint8_t, uint8_t)’

我是 arduino 编程的新手,类型的声明和操作一直让我感到困惑,我知道这很简单,但不知道如何修复它。

谢谢

【问题讨论】:

    标签: types arduino


    【解决方案1】:

    您尝试初始化的引脚由扩展为整数常量的预处理器宏描述。它们不是字符串。你想要的是

    int inputPins[] = { A0, A1, /* etc. */ };
    

    改为。

    【讨论】:

    • @user2137452 如果有帮助,请接受我的回答。另外,请参阅我的评论 - 在对 Arduino 进行编程之前,您至少应该真正学习 C 语言的基本水平。
    猜你喜欢
    • 1970-01-01
    • 2012-09-08
    • 1970-01-01
    • 2019-12-07
    • 2021-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多