Arduino Polska Forum
jak użyć digitalWrite w pliku cpp - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Programowanie w Arduino (https://forum.arduinopolska.pl/dzial-programowanie-w-arduino)
+--- Wątek: jak użyć digitalWrite w pliku cpp (/watek-jak-u%C5%BCy%C4%87-digitalwrite-w-pliku-cpp)



jak użyć digitalWrite w pliku cpp - zibi59 - 18-03-2022

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


RE: jak użyć digitalWrite w pliku cpp - Robson Kerman - 18-03-2022

Musisz w pliku .cpp zadeklarować rs485print ze słowem kluczowym extern


RE: jak użyć digitalWrite w pliku cpp - zibi59 - 18-03-2022

(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.