gpt4 book ai didi

c++ - analogRead 在库中返回 0

转载 作者:行者123 更新时间:2023-11-28 01:33:28 25 4
gpt4 key购买 nike

我想为一个项目创建一个库,我必须在某一时刻进行模拟读取。我为此创建了一个库,它编译没有任何错误。但是当我想调用这个函数时,它返回 0,但它在 .ino 文件中工作正常..

这是我的文件:

.ino 文件

#include <Filoguidage.h>
Filoguidage filoguidage;
int pin = A11;

void setup() {
Serial.begin(115200);
pinMode(pin,INPUT);
filoguidage.init(pin,10,10);
}
void loop() {
int test = filoguidage.getPosition();
Serial.println(test);
}

我的图书馆的.h:

#ifndef Filoguidage_h
#define Filoguidage_h
#include "Energia.h"
class Filoguidage
{
public:
void init(int PinCapteur,int valeurCentrale, int interval);
int getPosition();

private:
int _PinCapteur;

};
#endif

最后是 .cpp :

#include "Energia.h"
#include "Filoguidage.h"


void Filoguidage::init(int PinCapteur,int valeurCentrale,int interval){
int _PinCapteur = PinCapteur;
pinMode(_PinCapteur, INPUT);
}
int Filoguidage::getPosition(){
return analogRead( _PinCapteur );
}

我想那是因为 pinMode 和 analogRead 不被识别,但我不知道如何解决它。如果有人能帮助我,我会很高兴,谢谢

最佳答案

Filoguidage::init 中,您将 _PinCapteur 类成员重新声明为局部变量,因此当您为其设置值时,函数中只有局部变量将被设置,而您要设置的实际类成员将不受影响。

要解决此问题,请在 Filoguidage::init 中将 int _PinCapteur = PinCapteur; 更改为 _PinCapteur = PinCapteur;

关于c++ - analogRead 在库中返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50508485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com