簡體   English   中英

從Arduino中的自定義C ++庫構造對象時出錯

[英]Error constructing an Object from a custom C++ Library in Arduino

我試圖用一個自定義庫(jtaServoController)編譯該Arduino草圖,並且Arduino IDE聲稱我在Arduino草圖中的構造函數編寫不正確(更准確地說,“ jtaServoControllerFour”未命名類型)。

#include <jtaServoController.h>
#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>

Adafruit_PWMServoDriver pwm1 = Adafruit_PWMServoDriver(0x40);

#define SERVOMIN  0
#define SERVOMAX  600

jtaServoControllerFour pointerFinger(1,2,3,4);   //line in question


void setup() {
  Serial.begin(9600);
  pwm1.begin();
  pwm1.setPWMFreq(60);
}

void loop() {
  pointerFinger.jtaSetPWMFour(300,400,500,600);
}

我的問題是所討論的行是否實際上寫錯了,或者我的代碼的另一部分是否存在問題?可能在下面的庫中。 (順便說一句,我在庫中的Arduino教程中找到了構造對象的信息)。

這些分別是Header和.cpp文件:

#ifndef jtaServoController_h
#define jtaServoController_h

#include "Wire.h"
#include "Adafruit_PWMServoDriver.h"
#include "Arduino.h"

class jtaServoControllerFour
{
    public:
        jtaServoControllerFour(int servo1, int servo2, int servo3, int servo4);
        void jtaSetPWMFour(unsigned int servo41, unsigned int servo42, unsigned int servo43, unsigned int servo44);
    private:
        int _servoOne;
        int _servoTwo;
        int _servoThree;
        int _servoFour;
};


   #endif

CPP文件

#include "Arduino.h"
#include "jtaServoController.h"
#include "Adafruit_PWMServoDriver.h"
#include "Wire.h"

jtaServoControllerFour::jtaServoControllerFour(int servoOne, int servoTwo, int servoThree, int servoFour)
{
    _servoOne = servoOne;
    _servoTwo = servoTwo;
    _servoThree = servoThree;
    _servoFour = servoFour;
}

void jtaServoControllerFour::jtaSetPWMFour(int servoFourOne, int servoFourTwo, int servoFourThree, int servoFourFour)
{
    pwm1.setPWM(_servo1, 0, servoFourOne);
    pwm1.setPWM(_servo2, 0, servoFourTwo);
    pwm1.setPWM(_servo3, 0, servoFourThree);
    pwm1.setPWM(_servo4, 0, servoFourFour);
    return;
}
#include <jtaServoController.h>

您可能需要改用以下內容(雙引號):

#include "jtaServoController.h"

和/或檢查您的頭文件的路徑。

請參閱此處了解兩者之間的區別。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM