• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
jak użyć digitalWrite w pliku cpp
#1
Witam.

Korzystam ze sprzętowego Serial1 w Nano Every do komunikacji po RS485.
Dla wygody część funkcji przeniosłem do plików .cpp
i pojawił się problem, ponieważ przy próbie użycia:
digitalWrite(RS485_CTRL_PIN, RS485_TRANSMIT);
dostaję komunikat "Błąd kompilacji dla płytki Arduino Nano Every".
Stąd moje pytanie - jak w pliku .cpp używać digitalWrite ?

Oczywiście próbowałem obejść ten problem.
Utworzyłem w .ino funkcję do wysyłania danych przekazywanych jej z plików .cpp
ale nie potrafię wywołać tej funkcji w .cpp
Tutaj komunikat brzmi " 'rs485print' was not declared in the scope".
Więc kolejne pytanie brzmi - jak w pliku .cpp wywołać funkcję z .ino ?

Oczywiście przeszukałem Google ale nie trafiłem na działające rozwiązanie.
Liczę na pomoc Smile
 
Odpowiedź
#2
Musisz w pliku .cpp zadeklarować rs485print ze słowem kluczowym extern
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
#3
(18-03-2022, 11:22)Robson Kerman napisał(a): Musisz w pliku .cpp zadeklarować rs485print ze słowem kluczowym extern
Dzięki! Działa Smile
Teraz wydaje mi się to oczywiste tym bardziej, że w projekcie używam osobnego pliku .cpp na zmienne globalne,
ale inne źródła sugerowały różne dziwne rozwiązania np. utworzenie pliku main.h zadeklarowanie w nim funkcji z .ino
i zlinkowanie go przez #include co nie zadziałało.
Pozdrawiam.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości