我有一些代码试图拆分成模块,编译的原始代码是:
#include <LoRa.h>
void setup() {
// put your setup code here, to run once:
LoRa.setPins(18, 23, 26);
}
将其放入类中也可以在主文件中使用,但将其拆分为头文件和实现文件总是无法构建: 编译错误:“LoRa”未在此范围内声明
代码如下: main.ino
#include "test.h"
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
测试.h
#ifndef LORA_H
#define LORA_H
#include <LoRa.h>
class test {
public:
test();
};
#endif
测试.cpp
#include <Arduino.h>
#include "test.h"
test::test() {
LoRa.setPins(18, 23, 26);
}
我已经重写了很多次,但它永远不会构建
你的
test.h
有LoRa的头保护,这意味着如果你的test.h
首先被编译,LoRa的头将完全是空的(假设它使用LORA_H
头保护)
尝试使用与 LORA_H 不同的标头保护:
#ifndef TEST_H
#define TEST_H
#include <LoRa.h>