jak zdublować wyjścia - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: jak zdublować wyjścia (/watek-jak-zdublowa%C4%87-wyj%C5%9Bcia) |
jak zdublować wyjścia - maly_13 - 03-04-2021 witam dopiero raczkuje ale jak zdublować wyjścia tak żeby red był na wyjściu 14 i np 20 .... int red = 14; int amber = 15; int green = 16; int timer = 300; int timer1 = 100; void setup(){ pinMode(red, OUTPUT); pinMode(amber, OUTPUT); pinMode(green, OUTPUT); } void loop() { digitalWrite(red, HIGH); delay(10000); digitalWrite(amber, HIGH); delay(1000); digitalWrite(amber, LOW); digitalWrite(red, LOW); digitalWrite(green, HIGH); delay(15000); digitalWrite(green, LOW); digitalWrite(amber, HIGH); delay(1000); digitalWrite(amber, LOW); } RE: jak zdublować wyjścia - Robson Kerman - 03-04-2021 Funkcja digitalWrite(uint8_t, uint8_t) wpisuje wartość na jeden pin. Jeśli chcesz zmieniać stan dwóch pinów, to albo napisz sobie przeciążenie funkcji, np: Kod: void digitalWrite(uint8_t p1, uint8_t p2, bool stan){ Albo pisz na rejestrach. Nałożysz sobie maskę na port i możesz jednym poleceniem ustawiać wartości na wielu pinach jednocześnie. P.S. Ach, jeszcze jedno. Pisząc w ten sposób: int red = 14; int amber = 15; int green = 16; int timer = 300; int timer1 = 100; program zajmuje 10 bajtów więcej niż gdybyś napisał to tak: #define red 14 #define amber 15 #define green 16 #define timer 300 #define timer1 100 |