08-01-2020, 20:26
Zmienna zamiast #define to jeszcze dostęp do wskaźnika.
Arduino wie, że raz masz na myśli pin D0, raz pin A0 również wtedy, gdy dana funkcja jest przeznaczona np. do czynności związanych z pinem analogowym. Można zrobić analogRead(0) i będzie dotyczyło to pinu A0. digitalWrite zadziała dla pinu cyfrowego, chyba że wyraźnie napisze się A0.
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 = 16;
static const uint8_t D1 = 5;
static const uint8_t D2 = 4;
static const uint8_t D3 = 0;
static const uint8_t D4 = 2;
static const uint8_t D5 = 14;
static const uint8_t D6 = 12;
static const uint8_t D7 = 13;
static const uint8_t D8 = 15;
static const uint8_t D9 = 3;
static const uint8_t D10 = 1;
Dla Wemos Mini jest raczej to samo, ale przeglądając różne pliki wewnątrz pakietu ESP można sprawdzić jakie są różnice. W ESP32 zrezygnowano raczej z oznaczeń Dcośtam i należy się odwoływać do numeracji GPIO.
Arduino wie, że raz masz na myśli pin D0, raz pin A0 również wtedy, gdy dana funkcja jest przeznaczona np. do czynności związanych z pinem analogowym. Można zrobić analogRead(0) i będzie dotyczyło to pinu A0. digitalWrite zadziała dla pinu cyfrowego, chyba że wyraźnie napisze się A0.
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 = 16;
static const uint8_t D1 = 5;
static const uint8_t D2 = 4;
static const uint8_t D3 = 0;
static const uint8_t D4 = 2;
static const uint8_t D5 = 14;
static const uint8_t D6 = 12;
static const uint8_t D7 = 13;
static const uint8_t D8 = 15;
static const uint8_t D9 = 3;
static const uint8_t D10 = 1;
Dla Wemos Mini jest raczej to samo, ale przeglądając różne pliki wewnątrz pakietu ESP można sprawdzić jakie są różnice. W ESP32 zrezygnowano raczej z oznaczeń Dcośtam i należy się odwoływać do numeracji GPIO.
Miło być decenianym https://buycoffee.to/kaczakat