15-01-2025, 09:44
Cześć.
Mam problem. Próbuję stworzyć swoją pierwszą bibliotekę do obsługi GPS. Zrobiłem więc dwa pliki GPS.h i GPS.cpp.
W GPS.h mam:
A w GPS.cpp mam:
Oczywiście pomijam inne istatne kwestie jak dodanie "#ifndef GPS_h" czy #include z bliblioteką.
Stworzyłem sketch i w nim coś takiego:
Podczas próby kompilacji mam błąd:
c:\Users\Adam\Desktop\LTSketchbook\libraries\GPS\src\GPS.cpp:51:11: error: request for member 'begin' in '((GPS*)this)->GPS::_Serial', which is of pointer type 'HardwareSerial*' (maybe you meant to use '->' ?)
51 | _Serial.begin(Baudrate, SERIAL_8N1, _PinRx, _PinTx);
| ^~~~~
O co chodzi?
Moja "biblioteka" na razie ma tylko tyle, bo próbuję czy w ogóle idę w dobrym kierunku, ale już na starcie poległem.
Mam problem. Próbuję stworzyć swoją pierwszą bibliotekę do obsługi GPS. Zrobiłem więc dwa pliki GPS.h i GPS.cpp.
W GPS.h mam:
Kod:
class GPS
{
// PRIVATE VARIABLES
private:
HardwareSerial *_Serial;
uint8_t _PinRx;
uint8_t _PinTx;
// PUBLIC METHODS
public:
/// @brief Konstruktor klasy GPS.
GPS(HardwareSerial &Interface, uint8_t PinRx, uint8_t PinTx);
/// @brief Inicjalizacja portu UART do komunikacji z GPS.
void begin(uint16_t Baudrate = 9600);
};A w GPS.cpp mam:
Kod:
GPS::GPS(HardwareSerial &Interface, uint8_t PinRx, uint8_t PinTx)
{
_Serial = &Interface;
_PinRx = PinRx;
_PinTx = PinTx;
}
void GPS::begin(uint16_t Baudrate)
{
// Otworzenie portu UART na wskazanych pinach.
_Serial.end();
_Serial.begin(Baudrate, SERIAL_8N1, _PinRx, _PinTx);
while(!(*(_Serial)));
}Oczywiście pomijam inne istatne kwestie jak dodanie "#ifndef GPS_h" czy #include z bliblioteką.
Stworzyłem sketch i w nim coś takiego:
Kod:
[...]
GPS GPS(Serial2, 23, 19);
void setup() {
GPS.begin();
}
[...]Podczas próby kompilacji mam błąd:
c:\Users\Adam\Desktop\LTSketchbook\libraries\GPS\src\GPS.cpp:51:11: error: request for member 'begin' in '((GPS*)this)->GPS::_Serial', which is of pointer type 'HardwareSerial*' (maybe you meant to use '->' ?)
51 | _Serial.begin(Baudrate, SERIAL_8N1, _PinRx, _PinTx);
| ^~~~~
O co chodzi?
Moja "biblioteka" na razie ma tylko tyle, bo próbuję czy w ogóle idę w dobrym kierunku, ale już na starcie poległem.

