Π§ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° define
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° #define Arduino IDE
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° #define Π² Arduino IDE ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΈΠΌΠ΅Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ (ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°ΠΌ), ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»Π°ΡΡ ΡΠΊΠ΅ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ. Π’.Π΅. ΠΌΠΎΠΆΠ½ΠΎ Π² Π½Π°ΡΠ°Π»Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΈΠΌΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈΠ»ΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ΄Π°, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠΊΠ΅ΡΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ #define Π² ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Arduino IDE.
Arduino define ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ:
#define
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ Π΄Π΅ΡΠ°ΠΉΠ½ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΡΠ΄ΡΠΈΠ½ΠΎ, ΠΈΠ½Π°ΡΠ΅ ΠΎΠ½ΠΎ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. Π ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΡΡΡΠΎΡΠΊΠ΅ Π½Π΅ ΡΡΠ°Π²ΠΈΡΡΡ ΡΠΎΡΠΊΠ° Ρ Π·Π°ΠΏΡΡΠΎΠΉ ΠΈ Π·Π½Π°ΠΊ ΡΠ°Π²Π΅Π½ΡΡΠ²Π°, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΠ½Π°ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ #define Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ.
ΠΡΠΈΠΌΠ΅Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ: Arduino define pin
ΠΡΠΎ ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π°, ΠΎΡ ΠΏΡΠΈΠΌΠ΅ΡΠ° Ρ ΠΌΠΈΠ³Π°ΡΡΠΈΠΌ ΡΡΠ΅Ρ ΡΠ²Π΅ΡΠ½ΡΠΌ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ΠΎΠΌ. Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΏΡΠΈΡΠ²ΠΎΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½Π° Π΄Π»Ρ ΠΏΠΈΠ½ΠΎΠ² 11, 12 ΠΈ 13, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄. ΠΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° Π½Π°ΠΌ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π° Π²ΠΌΠ΅ΡΡΠΎ Π½ΠΎΠΌΠ΅ΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π½Π΅ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ ΡΠ²Π΅Ρ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ ΠΏΠΈΠ½Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΌΠ΅Π½ΡΡΡ ΠΈΠΌΠ΅Π½Π° RED, GRN, BLU Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
ΠΠΎΠΌΠ°Π½Π΄Ρ #ifdef, #ifndef ΠΈ #endif Π² ΡΠΊΠ΅ΡΡΠ΅
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ #ifdef Arduino IDE ΠΏΡΠΎΠ²Π΅ΡΡΡ, Π±ΡΠ»ΠΎ Π»ΠΈ Π²ΡΡΡΠ΅ΡΠ΅Π½ΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π½Π΅Π΅, Π΅ΡΠ»ΠΈ Π±ΡΠ»ΠΎ, ΡΠΎ ΡΡΠ°Π²ΠΈΡΡΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈ Π΄ΠΎ #endif. Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ Π±ΡΠ» Π»ΠΈ ΡΠ°Π½Π΅Π΅ Π² #define ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΏΡΠΈΠ·Π½Π°ΠΊ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, Π΅ΡΠ»ΠΈ Π΄Π°, ΡΠΎ ΠΊΠΎΠ΄ (Π²ΡΠ²ΠΎΠ΄ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΏΠΎΡΡΠ° Arduino IDE) Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ·Π½Π°ΠΊ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½, ΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ.
ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ #ifndef ΠΏΡΠΎΠ²Π΅ΡΡΡ, Π±ΡΠ»ΠΎ Π»ΠΈ Π²ΡΡΡΠ΅ΡΠ΅Π½ΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π½Π΅Π΅ ΠΈ, Π΅ΡΠ»ΠΈ Π½Π΅ Π±ΡΠ»ΠΎ, ΡΠΎ ΡΡΠ°Π²ΠΈΡΡΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈ Π΄ΠΎ #endif. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ ΠΎΠ±ΡΡΠ²Π»ΡΠ»ΠΈ Π΅Π΅ Π² ΡΠΊΠ΅ΡΡΠ΅ ΡΠ°Π½Π΅Π΅. ΠΡΠ»ΠΈ Π΄Π΅ΡΠ°ΠΉΠ½ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ, ΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ ΡΡΡΠΎΡΠΊΠΈ Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ #ifndef β¦ #endif.
ΠΠ°ΠΌΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ define Arduino
ΠΡΠΎΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π΅ΡΠ°ΠΉΠ½ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΡΡΡ ΡΠ΅Π»ΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ΄Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ #define. ΠΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ, Π½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ define, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π½ΡΡ ΡΠΏΡΠΎΡΠ°ΡΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π² ΡΠΊΠ΅ΡΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ pinMode() Π½Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Ρ Π΄Π΅ΡΠ°ΠΉΠ½ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ.
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ pinMode() ΠΎΠ΄Π½ΠΈΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ Β«outΒ». Π’Π΅ΠΏΠ΅ΡΡ, Π³Π΄Π΅ Π² ΡΠΊΠ΅ΡΡΠ΅ Π²ΡΡΡΠ΅ΡΠΈΡΡΡ ΡΠ»ΠΎΠ²ΠΎ Β«outΒ», ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡ ΡΡΡΠΎΠΊΡ pinMode(pin, OUTPUT) Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ pin. Π’Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ digitalWrite() ΠΈ delay(). ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ RGB ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ ΠΈΠ»ΠΈ ΡΡΠΈ ΠΎΠ±ΡΡΠ½ΡΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π° Ρ ΠΡΠ΄ΡΠΈΠ½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠΊΠ΅ΡΡΠ° Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ Π΄Π΅ΡΠ°ΠΉΠ½.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ on(11, 500) ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΡΠΎΡΠΊΠΈ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π² ΠΊΠΎΠ΄ Π½ΡΠΆΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ. Π Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π΅ΡΡΡ ΡΠΈΡΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΌΠΎΠΌΡ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² ΡΠΊΠ΅ΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΄Π΅ΡΡΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Π³Π΄Π΅ Π΄Π΅ΡΠ°ΠΉΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎ-ΡΠΎ Π½Π΅Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ. ΠΡΠΈ ΡΡΠΎΠΌ Π±ΡΠ΄ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Arduino define ΠΈΠ»ΠΈ const, ΡΡΠΎ Π²ΡΠ±ΡΠ°ΡΡ
ΠΠ½ΠΎΠ³Π΄Π° Π±ΡΠ²Π°Π΅Ρ Π½Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ #define Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ, Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ const. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ const Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΡΡΠ°Π·Ρ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ #define ΠΈΠΌΠ΅Π½Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΄Π΅Π»Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ, ΡΡΠΎΠ±Ρ Π½Π΅ Π±ΡΠ»ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΈΠ· ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π²ΠΌΠ΅ΡΡΠΎ Π΄Π΅ΡΠ°ΠΉΠ½ Π² ΡΠΊΠ΅ΡΡΠ΅ ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ β Π² ΠΊΠΎΠ΄Π΅ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ RED Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΠΈΡΡΠ° 11. ΠΠ° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΄Π΅ΠΉΡΡΠ²ΡΡΡ ΠΎΠ±ΡΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ #define ΠΈΠ»ΠΈ const Π½Π΅ Π΄Π°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ², Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°.
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°
ΠΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ
ΠΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΎΡΠ΅Π½Ρ Π½Π΅ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ°ΠΏΠΎΠ², ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠ΅ΡΠ²ΡΡ β ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°. ΠΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°Π²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ: ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ², Π·Π°ΠΌΠ΅Π½Π° ΡΠ΅ΠΊΡΡΠ°, ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π²Π΅ΡΠΈ. Π’Π°ΠΊΠΆΠ΅ Ρ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π΅ΡΡΡ ΠΌΠ°ΠΊΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π² ΠΊΠΎΠ΄ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ Π²Π΅ΡΠΈ.
#include β ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΠ°ΠΉΠ»
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Ρ Π½Π°Ρ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΡΠΎ ΡΠΊΠ΅ΡΡΠ΅ΠΌ Π΅ΡΡΡ ΠΏΠ°ΠΏΠΊΠ° libs, Π° Π² Π½Π΅ΠΉ β ΡΠ°ΠΉΠ» mylib.h. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠ°ΠΉΠ», ΠΏΠΈΡΠ΅ΠΌ:
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ°ΡΡ Π΅Π³ΠΎ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΡΠΎ ΡΠΊΠ΅ΡΡΠ΅ΠΌ, Π² ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΠ΅ libs.
#define / undef
ΠΠ»ΠΈ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π² ΠΊΠΎΠ΄Π΅:
ΠΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π·Π°Π΄Π΅ΡΠ°ΠΉΠ½ΠΈΡΡ ΡΠ΅Π»ΡΠΉ ΠΊΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΡΠ»ΡΡ
ΠΡΠ»ΠΈ DEBUG Π·Π°Π΄Π΅ΡΠ°ΠΉΠ½Π΅Π½, ΡΠΎ DEBUG_PRINT β ΡΡΠΎ ΠΌΠ°ΠΊΡΠΎ-ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΠΏΠΎΡΡ. Π Π΅ΡΠ»ΠΈ Π½Π΅ Π·Π°Π΄Π΅ΡΠ°ΠΉΠ½Π΅Π½ β Π²ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ DEBUG_PRINT ΠΏΡΠΎΡΡΠΎ ΡΠ±ΠΈΡΠ°ΡΡΡΡ ΠΈΠ· ΠΊΠΎΠ΄Π° ΠΈ ΡΠΊΠΎΠ½ΠΎΠΌΡΡ ΠΏΠ°ΠΌΡΡΡ!
ΠΡΠ»ΠΈ DEBUG_ENABLE Π·Π°Π΄Π΅ΡΠ°ΠΉΠ½Π΅Π½ β Π²ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ DEBUG() Π² ΠΊΠΎΠ΄Π΅ Π±ΡΠ΄ΡΡ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ Π½Π° Π²ΡΠ²ΠΎΠ΄ Π² ΠΏΠΎΡΡ. ΠΡΠ»ΠΈ Π½Π΅ Π·Π°Π΄Π΅ΡΠ°ΠΉΠ½Π΅Π½ β ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ ΠΠΠ§ΠΠ, ΡΠΎ Π΅ΡΡΡ ΠΏΡΠΎΡΡΠΎ βΠ²ΡΡΠ΅ΠΆΡΡΡΡβ ΠΈΠ· ΠΊΠΎΠ΄Π°! Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎ DEBUG_ENABLE ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΡΠΈΠ°Π» ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΠΎΡΠ»Π°Π΄ΠΊΠΎΠΉ: Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π½Π΅ Π½ΡΠΆΠ½Π° β ΡΠ±ΡΠ°Π»ΠΈ DEBUG_ENABLE ΠΈ ΠΈΠ· ΠΊΠΎΠ΄Π° ΡΠ±ΡΠ°Π»ΡΡ Π·Π°ΠΏΡΡΠΊ ΠΏΠΎΡΡΠ° ΠΈ Π²ΡΠ΅ Π²ΡΠ²ΠΎΠ΄Ρ, ΡΡΠΎ ΡΠ΅Π·ΠΊΠΎ ΡΠΎΠΊΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΡΠΌ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ:
ΠΡΠΎΠ±Π»Π΅ΠΌΡ
ΠΠ° ΡΡΠΎΠΌ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π΅ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ: #define ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ»Π΅Π·ΡΡ Π² Π΄ΡΡΠ³ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ! ΠΠ΅ΡΠ½ΡΠΌΡΡ ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ DarkMagenta β Π΅ΡΠ»ΠΈ Π² ΠΌΠΎΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Ρ Π·Π°Π΄Π΅ΡΠ°ΠΉΠ½Ρ ΡΡΠΎ ΡΠ»ΠΎΠ²ΠΎ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π΄ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ FastLED β Ρ ΠΏΠΎΠ»ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ! ΠΡΠ»ΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ β ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ. ΠΠΎ, Π΅ΡΠ»ΠΈ Ρ Π·Π°Ρ
ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ DarkMagenta Π² ΡΠ²ΠΎΡΠΌ ΡΠΊΠ΅ΡΡΠ΅, Ρ Π±ΡΠ΄Ρ Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎ ΡΠ΄ΠΈΠ²Π»ΡΠ½ =)
Π§ΡΠΎ Ρ Ρ
ΠΎΡΡ ΡΠΊΠ°Π·Π°ΡΡ Π² ΠΈΡΠΎΠ³Π΅: #define β Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ define Ρ Π½Π΅Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅, ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΏΡΠΎΡΡΠΎ ΠΎΡΠ»ΠΎΠ²ΠΈΡΡ. ΠΡΠΎ ΠΏΠ°Π»ΠΊΠ° ΠΎ Π΄Π²ΡΡ
ΠΊΠΎΠ½ΡΠ°Ρ
: Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ Ρ
ΠΎΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ²ΠΎΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ define, ΡΡΠΎΠ±Ρ Π½ΠΈΠΊΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π½Π΅ ΠΏΡΠΎΠ»Π΅Π· ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ Π΄Π΅ΡΠ°ΠΉΠ½Π°ΠΌΠΈ. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ, ΡΠ²ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ²Π°ΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ. ΠΠ°ΠΊΠΎΠΉ ΡΡΡ Π²ΡΡ
ΠΎΠ΄? ΠΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ! ΠΠ΅Π»Π°ΡΡ ΠΈΠΌΠ΅Π½Π° Π΄Π΅ΡΠ°ΠΉΠ½ΠΎΠ² ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ: Π΅ΡΠ»ΠΈ ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° β ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΡΠΊΠ΅ΡΡ β Π΄Π΅Π»Π°ΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠΊΠ΅ΡΡΠ°. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ define Π² ΠΏΠΎΠ»ΡΠ·Ρ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΈΠ»ΠΈ enum, enum ΠΊΡΡΠ°ΡΠΈ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ define Π² ΠΏΠ»Π°Π½Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π°Π±ΠΎΡΠ° ΠΊΠΎΠ½ΡΡΠ°Π½Ρ, Π° ΠΌΠ΅ΡΡΠ° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ!
#if β ΡΡΠ»ΠΎΠ²Π½Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ
Π£ΡΠ»ΠΎΠ²Π½Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π΅ΡΡΠΌΠ° ΠΌΠΎΡΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ, ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΌΠ΅ΡΠΈΠ²Π°ΡΡΡΡ Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΊΠΎΠ΄Π° ΠΈ Π΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΊΠ°ΠΊ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΆΠ΅Π»Π΅Π·Π°. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΡΡΠ»ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ»ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈ Π²ΡΠΊΠ»ΡΡΠ°ΡΡ ΡΠ΅Π»ΡΠ΅ ΡΠ°ΡΡΠΈ ΠΊΠΎΠ΄Π° ΠΈΠ· ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΡΠΎ Π΅ΡΡΡ ΠΈΠ· ΡΠΈΠ½Π°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½Π° Π² ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°: [fusion_accordion type=ββ boxed_mode=ββ border_size=β1β³ border_color=ββ background_color=ββ hover_color=ββ divider_line=ββ title_font_size=ββ icon_size=ββ icon_color=ββ icon_boxed_mode=ββ icon_box_color=ββ icon_alignment=ββ toggle_hover_accent_color=ββ hide_on_mobile=βsmall-visibility,medium-visibility,large-visibilityβ title=βΠΡΠΈΠΌΠ΅Ρ 1β³ open=βnoβ] [/fusion_toggle][fusion_toggle title=βΠΡΠΈΠΌΠ΅Ρ 2β³ open=βnoβ] [/fusion_toggle][fusion_toggle title=βΠΡΠΈΠΌΠ΅Ρ 3β³ open=βnoβ] [/fusion_toggle][/fusion_accordion]
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°
#pragma
Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·. Π―Π²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π°ΠΌΠ΅Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π²ΠΈΠ΄Π°
Π’Π°ΠΊΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΡΡΠ΅ΡΠΈΡΡ Π² 99% Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ΄ΡΠ° ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΈΠΊΠΎΠ² Ρ ΠΊΠΎΠ΄ΠΎΠΌ.
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Ρ #pragma pack ΠΈ #pragma pop ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΡΡΡΠΊΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ. Π’Π΅ΠΌΠ° ΡΠ»ΠΎΠΆΠ½Π°Ρ, ΡΠΈΡΠ°ΠΉΡΠ΅ Π½Π° Π₯Π°Π±ΡΠ΅.
ΠΠ°ΠΊΡΠΎΡΡ
Π£ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΡΠ²ΠΎΡΠΌ ΠΊΠΎΠ΄Π΅. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΈΠ· Π½ΠΈΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Arduino (ΡΠΎΡΠ½Π΅Π΅, Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ΅ avr-gcc).
__func__ ΠΈ __FUNCTION__
ΠΠ°ΠΊΡΠΎΡΡ __func__ ΠΈ __FUNCTION__ βΠ²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡβ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° (ΡΡΡΠΎΠΊΠΈ) Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²Π½ΡΡΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ΠΈ Π²ΡΠ·Π²Π°Π½Ρ. Π―Π²Π»ΡΡΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
__DATE__ ΠΈ __TIME__
__DATE__ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π°ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° (ΡΡΡΠΎΠΊΠΈ) Π² ΡΠΎΡΠΌΠ°ΡΠ΅ __TIME__ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° (ΡΡΡΠΎΠΊΠΈ) Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Π§Π§:ΠΠ:Π‘Π‘
Π Π°Π±ΠΎΡΠ°ΡΡ Π½Π°ΠΏΡΡΠΌΡΡ Ρ ΡΡΠΈΠΌ ΠΌΠ°ΠΊΡΠΎΡΠΎΠΌ ΠΎΡΠ΅Π½Ρ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ, ΡΡΠΎ Π²Π΅Π΄Ρ ΠΏΡΠΎΡΡΠΎ Π½Π°Π±ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° buildTime, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ (Π΄Π΅Π½Ρ, ΠΌΠ΅ΡΡΡ, Π³ΠΎΠ΄, ΡΠ°ΡΡ, ΠΌΠΈΠ½ΡΡΡ, ΡΠ΅ΠΊΡΠ½Π΄Ρ). Π‘ΠΊΠ°ΡΠ°ΡΡ/ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π΄Π΅ΡΡ.
__FILE__ ΠΈ __BASE_FILE__
__FILE__ ΠΈ __BASE_FILE__ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΡΠ°ΠΉΠ»Ρ, ΠΎΠΏΡΡΡ ΠΆΠ΅ ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΡ. Π―Π²Π»ΡΡΡΡΡ Π°Π½Π°Π»ΠΎΠ³Π°ΠΌΠΈ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°.
__LINE__
__LINE__ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠ·Π²Π°Π½ ΡΡΠΎΡ ΠΌΠ°ΠΊΡΠΎΡ
__COUNTER__
__COUNTER__ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π½Π°ΡΠΈΠ½Π°Ρ Ρ 0. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ __COUNTER__ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΠΌΠ°ΠΊΡΠΎΡΠ° Π² ΠΊΠΎΠ΄Π΅.
__COUNTER__ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΈΠΌΡΠ½ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π½ΠΎ ΠΎΠ± ΡΡΠΎΠΌ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΊΠΎΠ³Π΄Π° Π½ΠΈΠ±ΡΠ΄Ρ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°Π·.
Π£ΡΠΎΠΊ β22. ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°
ΠΠ±Π½ΠΎΠ²Π». 11 Π‘Π΅Π½ 2021 |
ΠΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ. ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠ΄ ΡΠ²Π΅ΡΡ Ρ Π²Π½ΠΈΠ·, ΡΠ°ΠΉΠ» Π·Π° ΡΠ°ΠΉΠ»ΠΎΠΌ, Π² ΠΏΠΎΠΈΡΠΊΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ². ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ β ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° # ΠΈ ΠΠ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ ΡΠΎΡΠΊΠΎΠΉ Ρ Π·Π°ΠΏΡΡΠΎΠΉ. ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏΠΎΠ² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½ΠΈΠΆΠ΅.
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° #include
ΠΡ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ #include Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ. ΠΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΠ΅ ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ #include, ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π² ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ°ΠΉΠ» ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΡΡΠΎΠΊΠΈ Ρ #include. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΉ) ΡΡΠ°Π·Ρ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΌΠ΅ΡΡΠ°Ρ .
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° #include ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π΅ ΡΠΎΡΠΌΡ:
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° #define
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ #define ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ². ΠΠ°ΠΊΡΠΎΡ β ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
ΠΡΡΡ Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΈΠΏΠ° ΠΌΠ°ΠΊΡΠΎΡΠΎΠ²: ΠΌΠ°ΠΊΡΠΎΡΡ-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΌΠ°ΠΊΡΠΎΡΡ-ΠΎΠ±ΡΠ΅ΠΊΡΡ.
ΠΠ°ΠΊΡΠΎΡΡ-ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π΅Π΄ΡΡ ΡΠ΅Π±Ρ ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΡΠ΅Ρ ΠΆΠ΅ ΡΠ΅Π»ΡΡ . ΠΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΡΠ΅ΠΉΡΠ°Ρ ΠΈΡ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΎΠΏΠ°ΡΠ½ΡΠΌ, ΠΈ ΠΏΠΎΡΡΠΈ Π²ΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ (Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ) ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ°ΠΊΡΠΎΡΡ-ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π΄Π²ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ²:
#define ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ΅ΠΊΡΡ_Π·Π°ΠΌΠ΅Π½Π°
ΠΠ°ΠΊΡΠΎΡΡ-ΠΎΠ±ΡΠ΅ΠΊΡΡ Ρ ΡΠ΅ΠΊΡΡ_Π·Π°ΠΌΠ΅Π½Π°
define
(PHP 4, PHP 5, PHP 7, PHP 8)
define β ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
ΠΠ΅ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊ ΡΠ΅Π³ΠΈΡΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Ρ ΡΠ°Π½ΡΡΡΡ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ true Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ false Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ΠΡΠΈΠΌΠ΅ΡΡ
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ
ΠΡΠΈΠΌΠ΅Ρ #2 ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ
ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΡΡΠΎ ΠΈ ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ, ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΠ±ΠΈΠ²Π°ΡΡΠ΅Π΅ Ρ ΡΠΎΠ»ΠΊΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅
User Contributed Notes 16 notes
Be aware that if «Notice»-level error reporting is turned off, then trying to use a constant as a variable will result in it being interpreted as a string, if it has not been defined.
I was working on a program which included a config file which contained:
//define(‘ENABLE_UPLOADS’, true);
?>
However, to my surprise, the program was still allowing uploads. Digging deeper into the code, I discovered this:
if ( ENABLE_UPLOADS ):
?>
Since ‘ENABLE_UPLOADS’ was not defined as a constant, PHP was interpreting its use as a string constant, which of course evaluates as True.
Not sure why the docs omit this, but when attempting to define() a constant that has already been defined, it will fail, trigger an E_NOTICE and the constant’s value will remain as it was originally defined (with the new value ignored).
(Guess that’s why they’re called «constants».)
define() will define constants exactly as specified. So, if you want to define a constant in a namespace, you will need to specify the namespace in your call to define(), even if you’re calling define() from within a namespace. The following examples will make it clear.
The following code will define the constant «MESSAGE» in the global namespace (i.e. «\MESSAGE»).
If you happen to name your constant the same as a function name (either a built-in function or a user-defined one), PHP can handle this correctly based on context. For example:
function myfunc () <
return ‘function output’ ;
>
// note that function names are NOT case-sensitive
// so calling MYFUNC() is the same as calling myfunc()
I think worth mentioning is that define() appears to ignore invalid constant names.
One immediate implication of this seem to be that if you use an invalid constant name you have to use constant() to access it and obviously that you can’t use the return value from define() to tell you whether the constant name used is invalid or not.
For example:
$name = ‘7(/!Β§%’;
var_dump(define($name, «hello»)); // outputs bool(true)
var_dump(constant($name)); // outputs string(5) «hello»
The value of a constant can be the value of another constant.
echo NEW_GOOD_NAME_CONSTANT ; // current
echo OLD_BAD_NAME_CONSTANT ; // legacy
There’s an undocumented side-effect of setting the third parameter to true (case-insensitive constants): these constants can actually be «redefined» as case-sensitive, unless it’s all lowercase (which you shouldn’t define anyway).
The fact is that case-sensitive constants are stored as is, while case-insensitive constants are stored in lowercase, internally. You’re still allowed to define other constants with the same name but capitalized differently (except for all lowercase).
A third party plugin might attempt to define a constant for which you already set a value. If it’s fine for them to set the new value, assuming you cannot edit the plugin, you could define your constant case-insensitive. You can still access the original value, if needed, by using any capitalization other than the one the plugin uses. As a matter of fact, I can’t think of another case where you would want a case-insensitive constant.
# Output
echo SOME_CONSTANT ; // prints «NEW_CONSTANT»
echo «
» ;
echo NEW_CONSTANT ; // prints «Some value»
?>
Needless to say that you’ll lose your IDE support for refactoring and highlighting completely for such cases.
No clue why someone would / could actually use this but i thought it’s worth mentioning.
It may be worth stating that a define function must be executed before its global constant is referenced.
Abc();
define(«TEST», 23);
function Abc()
<
echo TEST;
> // Abc
This code fails with a Notice-level message. TEST is treated here as being the string «TEST».
Found something interesting. The following define:
This may be common knowledge but I only found out a few minutes ago.
[EDIT BY danbrown AT php DOT net: The original poster is referring to the hyphens versus underscores. Hyphens do not work in defines or variables, which is expected behavior.]
But prior PHP 7, you can maybe do this, to pass an array elsewhere using define:
$serialized = DEFINEANARRAY; // passing directly the defined will not work
$our_array = unserialize($serialized);
With php 7 you can now define arrays.
Arduino define ΠΈ const
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ define Π² Π°ΡΠ΄ΡΠΈΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ·ΡΠΊΠ΅ C++, Π½ΡΠΆΠ½Π° Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΊΠ΅ΡΡΠ΅ΠΉ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ΄Π°, Π° Π·Π°ΡΠ΅ΠΌ Π²Π΅Π·Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ #define, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ, Π² ΠΊΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π½Π°Π΄ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ define, Π° Π² ΠΊΠ°ΠΊΠΈΡ β Π»ΡΡΡΠ΅ const.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ define Π°ΡΠ΄ΡΠΈΠ½ΠΎ
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡ:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΡΠ°Π²ΠΈΡΡ Π·Π½Π°ΠΊ ΡΠΎΡΠΊΠΈ Ρ Π·Π°ΠΏΡΡΠΎΠΉ.
ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ define:
Π’Π΅Π»ΠΎ ΠΌΠ°ΠΊΡΠΎΡΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ Π² ΡΠΎΠΉ ΠΆΠ΅ ΡΡΡΠΎΠΊΠ΅. ΠΠΎ Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ, ΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠΈΠΌΠ²ΠΎΠ» β/β Π² ΠΊΠΎΠ½ΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ define
#define ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π°ΡΠ΄ΡΠΈΠ½ΠΎ ΠΈ C++. Π‘Π°ΠΌΠΎ ΡΠ»ΠΎΠ²ΠΎ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΊΠΎΠ΄Π°. ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°ΠΊΠΎΠ³ΠΎ Β«Π½ΡΠ»Π΅Π²ΠΎΠ³ΠΎΒ» ΡΡΠ°ΠΏΠ° ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΏΡΠΎΠ±Π΅Π³Π°Π΅Ρ ΠΏΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ, Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π²ΡΠ΅ Π½Π°ΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ Π·Π°ΠΌΠ΅Π½Ρ ΠΏΡΡΠΌΠΎ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅. ΠΡΠ΅ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π½Π΅Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΠΎΡ Π½Π°Ρ, ΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΡΠΎΠ³ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π³Π° Π½Π΅ Π²ΠΈΠ΄ΠΈΠΌ. Π ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠ°ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Ρ ΡΡΠ΅ΡΠΎΠΌ ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ ΡΠ΄Π΅Π»Π°Π» ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ.
Π ΡΠ΅ΠΌ-ΡΠΎ ΡΡΠΎ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ². Π Π°ΡΡΡΠ°Π²ΠΈΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ #define ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠ΄Ρ, ΠΌΡ Π΄Π°Π΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ Π½Π° ΡΠΎ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ β Π΅ΡΠ»ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠΊΠΎΠ±ΠΎΠΊ ββ. Π’ΠΎΠ³Π΄Π° ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ.
ΠΡΠ΅ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΠ°ΡΠΈΡΡ ΠΌΠ΅Π½ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Β«Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡΒ» ΠΊΠΎΡΠΎΡΠΊΠΈΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ Π±ΠΎΠ»ΡΡΡΡ Β«Π΄Π»ΠΈΠ½Π½ΡΡΒ» ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΈ ΠΏΠΈΡΠ°ΡΡ Π² ΠΊΠΎΠ΄Π΅ Π΅Π΅ (Β«ΠΊΠΎΡΠΎΡΠΊΡΡΒ»), Π° Π½Π΅ Π΄Π»ΠΈΠ½Π½ΡΡ. Π ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ°ΠΌ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡ Β«Π΄Π»ΠΈΠ½Π½ΡΡΒ» Π² Π½ΡΠΆΠ½ΡΠ΅ ΠΌΠ΅ΡΡΠ° ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π² Π½Π°ΡΠ°Π»Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ Π½ΡΠΆΠ½ΡΡ ΠΌΠ΅ΡΡΠ°Ρ . ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ #define β ΠΌΠ½ΠΎΠ³ΠΎ. ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ β ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ Π½ΠΈΠΆΠ΅.
ΠΡΠΈΠΌΠ΅ΡΡ define Π² arduino
define pin
Π‘Π°ΠΌΠΎΠ΅ ΡΠ°ΡΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ define Π² Arduino β ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ Π΄Π»Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠ² ΠΏΠΈΠ½ΠΎΠ². Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ define ΠΌΠΎΠΆΠ΅ΠΌ Β«Π΄Π°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅Β» ΠΊΠ°ΠΊΠΎΠΌΡ ΡΠΎ ΡΠΈΡΠ»Ρ, ΠΈ ΠΏΠΎΡΠΎΠΌ Π²Π΅Π·Π΄Π΅ Π² ΠΊΠΎΠ΄Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. ΠΠΎΡ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠΎ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π°ΠΌΠΈ:
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π½ΠΎΠ²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ PIN_LED ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²ΡΡΠ΄Ρ Π² ΠΊΠΎΠ΄Π΅. ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π°ΡΠ΄ΡΠΈΠ½ΠΎ ΠΏΡΠΎΠ±Π΅ΠΆΠΈΡΡΡ ΠΏΠΎ ΠΊΠΎΠ΄Ρ ΠΈ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ Π²ΡΡΡΠ΅ΡΠΈΡ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ PIN_LED, Π·Π°ΠΌΠ΅Π½ΠΈΡ Π΅Π³ΠΎ Π½Π° ΡΠΈΡΡΡ 13. Π’.Π΅. Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ pinMode Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΏΡΠΈΠ΄Π΅Ρ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ Π½ΠΎΠΌΠ΅Ρ ΠΏΠΈΠ½Π° 13. Π ΡΡΠ½ΠΊΡΠΈΡ digitalWrite ΡΠΎΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡ 13. ΠΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΡ ΡΠ²Π½ΠΎ Π² ΠΊΠΎΠ΄Π΅ ΡΠΈΡΡΡ 13 Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ. Π ΡΡΠΎ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ: Π΅ΡΠ»ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 12), Π½Π°ΠΌ Π½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π±Π΅Π³Π°ΡΡ Π² ΡΠΆΠ°ΡΠ΅ ΠΏΠΎ ΠΊΠΎΠ΄Ρ ΠΈ ΠΌΠ΅Π½ΡΡΡ ΡΠΈΡΡΡ.
Π ΠΈΡΠΎΠ³Π΅ ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠΈΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· (Π² Π±Π»ΠΎΠΊΠ΅ #define ) ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΆΠ΅ Π²ΠΎ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΌΠ΅ΡΡΠΎ PIN_LED Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ ΡΠΈΡΡΠ° 12. ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠΊΠ΅ΡΡ Π΄Π»ΠΈΠ½ΠΎΠΉ 1000 ΡΡΡΠΎΠΊ ΠΈ Π² 50 ΡΠ°Π·Π½ΡΡ ΠΌΠ΅ΡΡΠ°Ρ Π²Ρ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΠ΅ΡΡ ΠΊ ΠΏΠΈΠ½Ρ 13, Π° Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π½Π° 12. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ #define Π²Ρ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Π°ΡΡΠΈΠ½ΠΎ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ Π²ΡΠ΅ Π·Π° 1 ΡΠ΅ΠΊΡΠ½Π΄Ρ. Π Π²ΡΡΡΠ½ΡΡ, Π΄Π° Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ, Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΡΠΎΠ²ΠΎΠ·ΠΈΡΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π΄ΠΎΠ»ΡΡΠ΅.
define ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ #define ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Β«ΠΏΡΠ΅Π²Π΄ΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡΒ». ΠΠ½ΠΈ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, Π½ΠΎ ΡΠ°ΠΌΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ Π±ΡΠ΄Π΅Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ·Π΄Π°Π² ΠΌΠ°ΠΊΡΠΎΡ BUTTON_UP ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 1, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² ΠΊΠΎΠ΄Π΅ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ, ΡΡΠΎ Π±ΡΠ»Π° Π½Π°ΠΆΠ°ΡΠ° ΠΊΠ½ΠΎΠΏΠΊΠ° Π²Π²Π΅ΡΡ , ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΊΠΎΠ΄ Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π³ΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΠΈ Π΄Π΅Π»Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. Π‘Π°ΠΌ ΠΊΠΎΠ΄ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ Π»ΡΠ±ΡΠΌ: Ρ ΠΎΡΠΈΠΌ β 1, Ρ ΠΎΡΠΈΠΌ β 345 (ΡΠ°ΠΊΠΈΠ΅ ΡΠΈΡΡΡ ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ Β«ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈΒ», Ρ.ΠΊ. ΠΈΡ ΠΏΡΠΈΠ΄ΡΠΌΡΠ²Π°ΡΡ ΡΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΈ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π»ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ), Π³Π»Π°Π²Π½ΠΎΠ΅, ΡΡΠΎΠ±Ρ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΠΎΡΡΠ°Π²Π°Π»ΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌ Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΡΡΠΈΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π² ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, BUTTON_UP) ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ.
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ define
ΠΡ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π±Π»ΠΎΠΊΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ define Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
#define delay delay(pin)
ΠΠΎ Π²ΡΠΎΡΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²ΠΌΠ΅ΡΡΠΎ pin ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡΡ ΡΠΈΡΡΠ° 13 ΠΈ Π² ΠΈΡΠΎΠ³Π΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ:
#define delay delay(13)
ΠΡΠΈΠ±ΠΊΠΈ define
ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ define β ΡΡΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ°ΠΊΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ ΡΠ·ΡΠΊΠ°. ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ Π°ΡΠ΄ΡΠΈΠ½ΠΎ Π½Π°ΠΉΠ΄Π΅Ρ Π²ΡΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ» Π² define. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΎΠ½ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ Ρ Π»Π΅Π³ΠΊΠΎΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΌ.
#define setup 12345
,Π²Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΠ΅ Π°ΡΠ΄ΡΠΈΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ setup ΠΈ Π±Π΅Π·ΠΎΠ±ΠΈΠ΄Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡΡ Π²
Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Π°ΡΠ΄ΡΠΈΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠΈΡ ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΎΠ½ ΡΠΆΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ setup ΠΈ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠ΅ΡΠ΄ΠΈΡΡΡ. Π ΡΠΎΠΌΡ ΠΆΠ΅, ΠΎΠ½ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡ ΡΠΎΠ²ΡΠ΅ΡΠ΅Π½Π½ΠΎ ΡΡΡΠ°Π½Π½ΡΡ ΡΡΡΠΎΠΊΡ 12345, Π½Π°ΡΡΡΠ°ΡΡe ΠΏΡΠ°Π²ΠΈΠ»Π° Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡΠ΄Π½ΠΎΡΠ»ΠΎΠ²ΠΈΠΌΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΏΡΠΎΡΡΠΎ Π½Π΅ΡΠ°ΡΠ½Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΠΈΠΌΠ²ΠΎΠ» ΡΠΎΡΠΊΠΈ Ρ Π·Π°ΠΏΡΡΠΎΠΉ Π² ΠΊΠΎΠ½Π΅Ρ ΡΡΡΠΎΠΊΠΈ:
ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΡΠ° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡΡ Π² digitalWrite(13;, HIGH). Π’.Π΅. Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠΎΡΠΊΠ° Ρ Π·Π°ΠΏΡΡΠΎΠΉ β Π° ΡΡΠΎ, Π±Π΅Π· ΡΠΎΠΌΠ½Π΅Π½ΠΈΡ, Π½Π°ΡΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°.
ΠΡΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠΈΠΏΠΎΠ², ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅
#define PIN_LED pin12
Π’ΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π² ΡΡΠ½ΠΊΡΠΈΠΈ
#Ifdef, #ifndef ΠΈ #endif β Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°
ΠΠ½ΠΎΠ³Π΄Π° Π±ΡΠ²Π°Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ Π·Π½Π°ΡΡ, ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ Π»ΠΈ ΠΌΡ ΡΠΆΠ΅ Π² #define ΠΊΠ°ΠΊΡΡ-Π»ΠΈΠ±ΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΡΠ°Π½Π΅Π΅. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ, Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΈ ΠΌΡ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π² ΠΈΡΠΎΠ³Π΅ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π½Π°ΡΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ. ΠΠ»Ρ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ #ifdef ΠΈΠ»ΠΈ #ifndef, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΡ, Π±ΡΠ»ΠΎ Π»ΠΈ Π²ΡΡΡΠ΅ΡΠ΅Π½ΠΎ Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π½Π΅Π΅ ΠΈ, Π΅ΡΠ»ΠΈ Π±ΡΠ»ΠΎ (ΠΈΠ»ΠΈ Π½Π΅ Π±ΡΠ»ΠΎ β Π΄Π»Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ°), ΡΠΎ ΠΎΡΡΠ°Π²ΠΈΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈ Π΄ΠΎ ΠΌΠ΅ΡΡΠ° Π²ΡΡΡΠ΅ΡΠΈ #endif.
#ifdef ΠΈΠΌΡ_ΠΌΠ°ΠΊΡΠΎΡΠ°
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΎΡΡΠ°Π²Π»Π΅Π½Ρ Π² ΠΊΠΎΠ΄Π΅, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π΄Π°Π½Π½ΡΠΉ ΠΌΠ°ΠΊΡΠΎΡ Π±ΡΠ» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠ°Π½Π΅Π΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ #define. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄Π°Π½Π½ΡΠΉ ΡΡΠ°ΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½
#endif
#ifndef ΠΈΠΌΡ_ΠΌΠ°ΠΊΡΠΎΡΠ°
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΎΡΡΠ°Π²Π»Π΅Π½Ρ Π² ΠΊΠΎΠ΄Π΅, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π΄ΠΎ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΠΊΡΠΎΡ Π½Π΅ Π±ΡΠ» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½
#endif
ΠΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π»ΠΈ ΡΠ°Π½Π΅Π΅ Π² #define ΠΏΡΠΈΠ·Π½Π°ΠΊ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, ΠΈ Π΅ΡΠ»ΠΈ Π΄Π°, ΡΠΎ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½, Π΅ΡΠ»ΠΈ Π½Π΅Ρ, ΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ.
#define DEBUG 1 // ΠΡΠ»ΠΈ Π·Π°ΠΊΠΎΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΡ ΡΡΡ ΡΡΡΠΎΠΊΡ, ΡΠΎ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Ρ
ΠΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ ifndef. ΠΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π½Π΅ Π΄Π΅Π»Π°Π»ΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ°Π½Π΅Π΅.
ΠΡΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΈ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ
define ΠΊΠ°ΠΊ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° ΡΡΠ½ΠΊΡΠΈΡΠΌ
Π‘Π΅ΠΉΡΠ°Ρ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ define β ΠΌΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π²Π½ΡΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ define ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. ΠΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ, Π·Π°ΡΠ΅ΠΌ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ.
#define on digitalWrite(13, HIGH)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»ΠΈΠ½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ digitalWrite Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠΎΡΠΎΡΠΊΠΈΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ on. Π’Π΅ΠΏΠ΅ΡΡ Π²Π΅Π·Π΄Π΅ Π² ΠΊΠΎΠ΄Π΅, Π³Π΄Π΅ Π²ΡΡΡΠ΅ΡΠΈΡΡΡ on, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ (ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°) Π²ΡΡΠ°Π²ΠΈΡ ΡΡΡΠΎΠΊΡ digitalWrite(13, HIGH). Π Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ ΡΡΠ½ΠΊΡΠΈΡ loop Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
void loop() <
digitalWrite(13, HIGH);
>
ΠΡΠ΅ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎ ΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π·Π°Ρ ΠΎΡΠΈΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΠΎΡΠΎΠΉ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ ΠΈ ΠΏΠΎΠΌΠΈΠ³Π°ΡΡ ΠΈΠΌ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ on ΡΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ, Ρ.ΠΊ. Π½Π° Π΅Π΅ ΠΌΠ΅ΡΡΠ΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π²ΡΠ·ΠΎΠ² Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π° Π½Π° 13 ΠΏΠΎΡΡΡ. Π Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²Π° Π²ΡΡ ΠΎΠ΄Π°:
ΠΠ΅ΡΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β ΡΡΠΎ ΠΏΡΡΡ Π² Π½ΠΈΠΊΡΠ΄Π°. ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π°ΠΌ ΠΎΠΏΡΡΡ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π΄Π΅Π»Π°ΡΡ ΠΎΠ΄Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠ΅ΠΊΡΡΠ°. Π Π²ΠΎΡ Π²ΡΠΎΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΌΡ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ.
Π ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ΅ Π‘++ (ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π°ΡΠ΄ΡΠΈΠ½ΠΎ), ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ Π·Π°ΠΌΠ΅Π½Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° Π½Π° Π΄ΡΡΠ³ΠΎΠΉ. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ on Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΡΠ°Π²ΠΈΡΡ digitalWrite Π΄Π»Ρ 13 ΠΏΠΈΠ½Π°, Π° Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ β Π΄Π»Ρ 12 ΠΈ Ρ.Π΄. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
#define on(pin) digitalWrite(pin, HIGH)
Π ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ #define ΠΌΡ Π²Π²Π΅Π»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΌΠΈ Π½Π°Π·Π²Π°Π»ΠΈ a(ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΈΠΌΡ) ΠΈ ΠΏΡΠΎΠΏΠΈΡΠ°Π»ΠΈ Π΅Π³ΠΎ ΡΠ²Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ: on(a). ΠΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π² Π½ΡΠΆΠ½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅: digitalWrite (pin, HIGH).
Π’Π΅ΠΏΠ΅ΡΡ, Π²ΡΡΡΠ΅ΡΠΈΠ² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ on(13), ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π²ΡΡΠ°Π²ΠΈΡ ΡΠ»ΠΎΠ²ΠΎ digitalWrite (pin, HIGH), Π° Π²ΠΌΠ΅ΡΡΠΎ pin Π΄ΠΎΠ±Π°Π²ΠΈΡ ΡΠΎ, ΡΡΠΎ ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ : ΡΠΈΡΡΡ 13. Π ΠΈΡΠΎΠ³Π΅ Π² ΠΊΠΎΠ΄ Π²ΡΡΠ°Π²ΠΈΡΡΡ ΡΡΡΠΎΠΊΠ° digitalWrite (13, HIGH).
Π£ΠΊΠ°Π·Π°Π² on(12), ΠΌΡ Π·Π°ΡΡΠ°Π²ΠΈΠΌ Π²ΡΡΠ°Π²ΠΈΡΡ Π² ΠΊΠΎΠ΄ ΡΡΠ½ΠΊΡΠΈΡ digitalWrite (12, HIGH). Π ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½Π°ΡΠΈΡ Π½ΡΠΆΠ΄.
Π’Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΠΌΠ°ΠΊΡΠΎΡΡΠ½ΠΊΡΠΈΡ (ΠΏΡΠ΅Π²Π΄ΠΎΡΡΠ½ΠΊΡΠΈΡ) off(pin), ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΡ digitalWrite (pin, LOW).
Π ΠΈΡΠΎΠ³Π΅ ΠΊΠΎΠ΄ ΠΌΠ°ΡΡΠΊΠ° ΡΠΎ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π°ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ Π΄ΠΎ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΡΡΡΠΌ:
ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π΅ΡΠ΅ ΡΠΈΠ»ΡΠ½Π΅Π΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π° Π²Ρ ΠΎΠ΄ ΠΌΠ°ΠΊΡΠΎΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²:
ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, Π½Π΅ ΠΏΡΠ°Π²Π΄Π° Π»ΠΈ? Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π½ΡΡ ΡΠΏΡΠΎΡΠ°ΡΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ. ΠΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ ΠΈ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎΠ± ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡ .
ΠΡΠ΅ Π΄Π΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ ΡΠ°ΠΊΡΡ Β«Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡΒ» ΠΈΠ· ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΌΡ ΠΎΡΠ΅Π½Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠΈΡΠΊΡΠ΅ΠΌ:
Π Π°Π΄ΠΈ ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎΡΡΠΈ ΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΈ ΠΎ ΠΏΠ»ΡΡΠ°Ρ :
Π ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΠ²Π΅Ρ ΡΠ°ΠΊΠΎΠΉ: ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ #define Π΄Π»Ρ ΠΏΡΠ΅Π²Π΄ΠΎΡΡΠ½ΠΊΡΠΈΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΡΡΡΠΊΡΡΡΠ° Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΡΠΎΡΡΠ°, ΡΠ°ΠΌΠ° ΠΏΡΠ΅Π²Π΄ΠΎΡΡΠ½ΠΊΡΠΈΡ ΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΡΠΊΡ, Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΡΡΠΎ, Π²Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ΄Π΅ Π²ΡΠ·ΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ.
Define ΠΈΠ»ΠΈ const
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΎΠΉ #define ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ. ΠΠΎΠ½ΡΡΠ°Π½ΡΠ° Π² arduino ΠΈ C++ β ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ c ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ const. ΠΡΠΈΠΌΠ΅Ρ:
Ρonst int PIN_LED = 10;
Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ define:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ β Π² ΠΊΠΎΠ΄Π΅ Π²Ρ ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΡΠΈΠΏΠ° digitalRead(PIN_LED) ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅: Π² Π½ΡΠΆΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π²ΡΡΠ°Π²ΠΈΡΡΡ ΡΠΈΡΡΠ° 10.
ΠΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π²ΡΠ΅-ΡΠ°ΠΊΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π΅ΠΉ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ:
ΠΡΠ»ΠΈ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΉ Π΄Π»Ρ ΡΠΊΠ΅ΡΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ #define ΠΈΠ»ΠΈ const, ΡΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² Π½ΠΈ ΡΠΎΡ, Π½ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π΅ Π΄Π°ΡΡ β ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ΄Π΅Π»ΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠΉ ΡΠ²Π½ΠΎ ΠΈΠ»ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΠΊΡΠΎΡΠ°. ΠΡΡ ΠΎΠ΄Ρ ΠΈΠ· Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ, ΡΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ Π² ΠΊΠΎΠ΄Π΅ Π²ΡΠ΅-ΡΠ°ΠΊΠΈ Π±ΡΠ°ΡΡ Π·Π° ΠΎΡΠ½ΠΎΠ²Ρ const.