Ви не увійшли.
Доброго дня. Пишу бібліотеку яка має друкувати певні данні через Serial.
У скечі необхідно передати яким саме Serial буде користуватися бібліотека хардварними(їх 2 шт) чи софтварним.
Ось мої намагання:
#include "Arduino.h"
#include <variant>
#include "SoftwareSerial.h"
HardwareSerial &hwSerial(Serial);
EspSoftwareSerial::UART swSwrial;
class mySerial
{
public:
mySerial(auto &serialType)
{
serial = serialType;
}
void print()
{
serial.begin(9600); // Error!!! класс "std::variant<HardwareSerial, EspSoftwareSerial::UART>" не содержит члена "begin"C/C++(135)
serial.print("Hallo"); //Error!!! класс "std::variant<HardwareSerial, EspSoftwareSerial::UART>" не содержит члена "print"
}
private:
std ::variant<HardwareSerial, EspSoftwareSerial::UART> &serial;
};
void Setup()
{
mySerial mySerial(hwSerial);
mySerial.print();
}
Помилки написані в коментарях до коду. Прошу допомогти розібратися в питанні.
Остання редакція p-a-h-a (2023-07-15 16:54:15)
Неактивний