• 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
Deklarowanie/inicjalizacja pinów Wemos w Arduino IDE?
#21
(08-01-2020, 20:26)kaczakat napisał(a): W ESP jest jednak nieco inaczej, pin D0 to wcale nie jest pin GPIO0  i wpisanie raz digitalWrite(0), a drugi digitalWrite(D0) zadziała dla różnych pinów. Dla każdej płytki mogą być inne definicje co jest D0, D1, itd. Np. dla NodeMCU w pliku pins_arduino.h jest między innymi:
static const uint8_t D0  = 

Dzięki kaczakat - faktycznie masz rację, posiadam klon Wemos D1 mini, który właśnie ma inaczej wyprowadzone/zadeklarowane piny i stąd moje zadziwienie podczas testów...
 
Odpowiedź
#22
(08-01-2020, 16:28)elvis napisał(a): Wszystko zależy co i po co chcemy zrobić. W każdym razie brak typu jest jedną z głównych wad definicji.

To zależy. Bo jeśli chodzi o niektóre makra, to jest to zaleta. Nie musimy na przykład pisać wielu przeciążonych wersji funkcji w zależności od typu danych (liczbowych). Jednak lepiej w tym przypadku sprawdza się funkcja szablonowa inline.

Jeśli chodzi o definicję stałych, to const nad #define ma tę przewagę, że mamy większą (łatwiejszą) kontrolę zasięgu, oraz znamy miejsce i rozmiar w pamięci. #define zaś daje nam możliwość kompilacji warunkowej, gny na przykład podczas testowania programu wyrzucamy wartości na serial, to w produkcie końcowym ta funkcjonalność jest nie potrzebna i jednym komentarzem //#define załatwiamy sobie sporo miejsca w pamięci.
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ź
  


Skocz do:


Przeglądający: 1 gości