ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° define
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.
#define
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° #define ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ Π·Π°ΒΠΌΠ΅ΡΠ°ΡΡΡΡ Π΄Π°Π½Π½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΈ Π΅Π³ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ°ΠΊΒΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΌΠ°ΠΊΡΠΎΡΠ°, Π° ΠΏΡΠΎΡΠ΅ΡΡ Π·Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΠΌΠ°ΠΊΡΠΎΡΠ°. Π‘ΡΠ°Π½Π΄Π°ΡΒΡΠ½ΡΠΉ Π²ΠΈΠ΄ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
#define ΠΈΠΌΡ_ΠΌΠ°ΠΊΡΠΎΡΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ_ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
ΠΠ±ΡΠ°ΡΠΈΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠΎΡΠΊΠ° Ρ Π·Π°ΠΏΡΡΠΎΠΉ. ΠΠ΅ΠΆΠ΄Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΒΡΠΎΠΌ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ². ΠΠ°ΠΊΡΠΎΡ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠΌ Π½Π° Π½ΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ TRUE Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 1, a FALSE Π΄Π»Ρ 0 ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π²Π° ΠΌΠ°ΠΊΡΠΎΡΠ°:
#define TRUE 1
#define FALSE 0
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅, Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ TRUE ΠΈΠ»ΠΈ FALSE, ΡΠΎ ΠΎΠ½ Π·Π°ΠΌΠ΅Π½ΠΈΡ ΠΈΡ Π½Π° 1 ΠΈ 0 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½ Β«0 1 2Β»:
printf («%d %d %d», FALSE, TRUE, TRUE + 1);
Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΌΠ°ΠΊΡΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ONE, TWO ΠΈ THREE ΠΈΡ ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
#define ONE 1
#define TWO ONE + ONE
#def ine THREE ONE + TWO
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΠ°ΠΊΡΠΎΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π·Π°ΠΌΠ΅ΡΠ°ΡΡΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ. ΠΡΠ»ΠΈ Π½Π΅ΒΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ ΡΠ»Π΅Π΄ΡΒΡΡΠ΅Π³ΠΎ:
#define E_MS «Standart error on input.\n»
/*. */
printf(E_MS);
ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ E_MS, ΡΠΎ ΠΎΠ½ Π·Π°ΠΌΠ΅ΡΠ°Π΅Ρ Π΅Π³ΠΎ ΡΡΡΠΎΠΊΠΎΠΉ Β«Standart error on input.Β» ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ²ΠΈΠ΄ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π² Π²ΠΈΠ΄Π΅
printf(«Standart error on input.\n»);
ΠΡΠ»ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΡΡΠΎΠΊΠ΅, ΡΠΎ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
#define XYZ this is a test
/*. */
printf(«XYZ»);
Π²ΡΠ²Π΅Π΄Π΅Ρ Π½Π΅ Β«this is a testΒ», a Β«XYZΒ».
ΠΡΠ»ΠΈ ΡΡΡΠΎΠΊΠ° Π½Π΅ Π²ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, ΡΠΎ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅, ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ² Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΡΠ»ΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
#define LONG_STRING «This is a very long» \
string that is used as an example.»
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ, ΠΏΠΈΡΡΡΠΈΠ΅ Π½Π° Π‘, ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π·Π°Π³Π»Π°Π²Π½ΡΠ΅ Π±ΡΠΊΠ²Ρ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΒΡΠΎΡΠΎΠ². ΠΠ°Π½Π½ΠΎΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π»ΡΠ±ΠΎΠΌΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΡ, ΡΠΈΡΠ°ΡΡΠ΅ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π±ΡΠΎΡΠΈΠ² Π½Π° Π½Π΅Π΅ ΠΎΠ΄ΠΈΠ½ Π²Π·Π³Π»ΡΠ΄, ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ Π΄Π΅Π»ΠΎ Ρ ΠΌΠ°ΠΊΡΠΎΡΠΎΠΌ. Π’Π°ΠΊΠΆΠ΅ Π²ce #define Π»ΡΡΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ».
ΠΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ ΠΌΠ°ΠΊΡΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Β«ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΡΠ΅Π»Β», ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΠΌΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΈ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌ. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΆΠ΅ΡΡΠΊΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, Π»ΡΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΌΠ°ΠΊΡΠΎΡ, ΡΠΎΠΎΡΠ²Π΅ΡΒΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² ΡΠ΅Ρ ΠΌΠ΅ΡΡΠ°Ρ , Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π·ΒΠΌΠ΅ΡΠ°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ, β ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ #define ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ΅Π·Π΄Π΅, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΒΠ²Π°Π»ΡΡ Π΄Π°Π½Π½ΡΠΉ ΠΌΠ°ΠΊΡΠΎΡ, ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ:
#define MAX_SIZE 100
/*. */
float balance[MAX_SIZE];
/*. */
float temp[MAX_SIZE];
ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΎΠ±ΠΎΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΏΡΠΎΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ MAX_SIZE.
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° #define ΠΈΠΌΠ΅Π΅Ρ Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ: ΠΌΠ°ΠΊΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ Π²ΡΡΡΠ΅ΡΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΌΠ°ΠΊΡΠΎΡΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΌΠ°ΠΊΡΠΎΡΠ° Π±ΡΠ΄ΡΡ Π·Π°ΠΌΠ΅ΡΠ°ΡΡΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΠΌΡ. Π’Π°ΠΊΠΎΠΉ ΡΠΈΠΏ ΠΌΠ°ΠΊΡΠΎΡΠ° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ°ΠΊΡΠΎΡ ΡΠΈΠΏΠ° ΡΡΠ½ΠΊΡΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠ·-Π·Π° ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ EVEN(9 + 1) ΡΠ°ΡΡΠΈΡΠΈΡΡΡ Π΄ΠΎ
ΠΠ°ΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²Π·ΡΡΠΈΡ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ, ΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠ»ΠΎΒΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ Π²Π·ΡΡΠΈΠ΅ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Ρ ΡΠΈΡΠ»ΠΎΠΌ 1, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠΈΠ±Π°Π²ΠΈΡΡΡ ΠΊ 9, ΡΡΠΎ, Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π²Π½ΠΎ 0. ΠΠ»Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ»Π΅ΒΠ΄ΡΠ΅Ρ Π·Π°ΠΊΠ»ΡΡΠΈΡΡ Π° Π² ΠΌΠ°ΠΊΡΠΎΡΠ΅ EVEN Π² ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΒΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
ΠΠ±ΡΠ°ΡΠΈΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ 9+1 Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Π΄ΠΎ Π²Π·ΡΡΠΈΡ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ. Π ΡΠ΅Π»ΠΎΠΌ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠ°ΠΊΡΠΎΡΠ° Π² ΡΠΊΠΎΠ±ΠΊΠΈ β ΡΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Ρ
ΠΎΡΠΎΡΠ°Ρ ΠΈΠ΄Π΅Ρ, ΠΈ ΠΎΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ Π²ΠΌΠ΅ΡΡΠΎ ΡΠ΅Π°Π»ΡΠ½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ΄Π½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΒΡΡΠ²ΠΎ β ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π½Π° Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΈΠ· Π½Π΅Π΅. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π·Π° Π΄Π°Π½Π½ΠΎΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ»Π°ΡΠΈΡΡ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»Π½ΠΈΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΒΠΌΠ° Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Π° Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ ΠΌΠ°ΠΊΡΠΎΡΠ°.
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°
ΠΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ
ΠΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΎΡΠ΅Π½Ρ Π½Π΅ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ°ΠΏΠΎΠ², ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠ΅ΡΠ²ΡΡ β ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°. ΠΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°Π²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ: ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ², Π·Π°ΠΌΠ΅Π½Π° ΡΠ΅ΠΊΡΡΠ°, ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π²Π΅ΡΠΈ. Π’Π°ΠΊΠΆΠ΅ Ρ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π΅ΡΡΡ ΠΌΠ°ΠΊΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π² ΠΊΠΎΠ΄ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ Π²Π΅ΡΠΈ.
#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__ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΈΠΌΡΠ½ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π½ΠΎ ΠΎΠ± ΡΡΠΎΠΌ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΊΠΎΠ³Π΄Π° Π½ΠΈΠ±ΡΠ΄Ρ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°Π·.
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° #define
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΡΡΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Π½Π΅Ρ ΡΠΎΡΠΊΠΈ Ρ Π·Π°ΠΏΡΡΠΎΠΉ. ΠΠ΅ΠΆΠ΄Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ_ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ², Π½ΠΎ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΡΡΡΠΎΠΊ.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ Π²ΠΌΠ΅ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 1 Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠ²ΠΎ LEFT (Π»Π΅Π²ΡΠΉ), Π° Π²ΠΌΠ΅ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 0 β ΡΠ»ΠΎΠ²ΠΎ RIGHT (ΠΏΡΠ°Π²ΡΠΉ). Π’ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ #define :
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡΡ 1 ΠΈΠ»ΠΈ 0 ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π² Π²Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ LEFT ΠΈΠ»ΠΈ RIGHT. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½ 0 1 2:
ΠΠΎΡΠ»Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠΌΡ ΠΌΠ°ΠΊΡΠΎΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΡ Π΄ΡΡΠ³ΠΈΡ ΠΈΠΌΠ΅Π½ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ². ΠΠΎΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ΄, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ONE (ΠΎΠ΄ΠΈΠ½), TWO (Π΄Π²Π°) ΠΈ three (ΡΡΠΈ):
ΠΠ°ΠΊΡΠΎΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΌΠ΅Π½Π° ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ Π½ΠΈΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΡΠ»ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π½ΡΡΡΠΈ ΡΡΡΠΎΠΊΠΈ, Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ, ΡΠΎ Π·Π°ΠΌΠ΅Π½Ρ Π½Π΅ Π±ΡΠ΄Π΅Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°
ΠΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ_ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, ΡΠΎ ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅, ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ² Π² ΠΊΠΎΠ½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅, ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΊΠΎΡΡΡ ΡΠ΅ΡΡΡ:
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ, ΠΏΠΈΡΡΡΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘, Π² ΠΈΠΌΠ΅Π½Π°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π±ΡΠΊΠ²Ρ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°. ΠΡΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠ»Π΅Π΄ΡΡΡ ΡΡΠΎΠΌΡ ΠΏΡΠ°Π²ΠΈΠ»Ρ, ΡΠΎ ΡΠΎΡ, ΠΊΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΈΡΠ°ΡΡ ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²Π·Π³Π»ΡΠ΄Π° ΠΏΠΎΠΉΠΌΠ΅Ρ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ ΠΌΠ°ΠΊΡΠΎΠ·Π°ΠΌΠ΅Π½Π°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ #define ΠΎΠ±ΡΡΠ½ΠΎ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π² ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»Π΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, Π° Π½Π΅ ΡΠ°Π·Π±ΡΠ°ΡΡΠ²Π°ΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² Ρ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ
ΠΏΠΎΡΠ»Π΅ ΠΌΠ°ΠΊΡΠΎΠ·Π°ΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΎ Π²
ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΌΠ΅ΡΡΠΎ Π½Π°ΡΡΠΎΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² Ρ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π΄Π°Π΅Ρ ΠΎΠ΄Π½ΠΎ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ: ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π½Π΅ Π½Π°Π΄ΠΎ ΡΡΠ°ΡΠΈΡΡ ΡΠ΅ΡΡΡΡΡ Π½Π° Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ Ρ ΠΌΠ°ΠΊΡΠΎΡΠ° Ρ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ, ΡΠΎ ΡΠΎΠ³Π΄Π° ΠΈΠ·-Π·Π° Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Π·Π° ΡΡΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ° Π·Π°ΠΌΠ΅ΡΠΊΡ | Π Π‘99 ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΌΠ°ΠΊΡΠΎΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²; ΠΎΠ± ΡΡΠΎΠΌ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² ΡΠ°ΡΡΠΈ II ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. |
Π Π΅ΠΊΠ»Π°ΠΌΠ°
ΠΠ½ΡΡΠ°Π»Π»ΡΡΠΎΡ CreateInstall
ΠΠ΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ ΠΈ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΎΡΡ
ΠΠΎΠΌΠ°Π½Π΄Π° define
ΠΠΎΠΌΠ°Π½Π΄Π° define ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ². ΠΠ°ΠΊΡΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠΈΠΏΠΎΠ²: ΡΠΈΡΠ»ΠΎ, ΡΡΡΠΎΠΊΠ°, Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΈΠΌΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°. Π’Π°ΠΊΠΆΠ΅ ΠΌΠ°ΠΊΡΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΌΠ°ΠΊΡΠΎΡΠ°. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ, Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΈΠΌΡ ΠΌΠ°ΠΊΡΠΎΡΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠ°ΠΊ $ΠΈΠΌΡΠΌΠ°ΠΊΡΠΎΡΠ° ΠΈΠ»ΠΈ $ΠΈΠΌΡΠΌΠ°ΠΊΡΠΎΡΠ°$. ΠΠ°ΠΊΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π² Π΄ΡΡΠ³ΠΎΠΌ define. ΠΠ°ΠΊΡΠΎΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ, Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ ΠΎΠ΄ΠΈΠ½ ΠΌΠ°ΠΊΡΠΎΡ. ΠΠ»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ°ΠΊΡΠΎΡΠ°, ΠΏΠΎΡΠ»Π΅ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΡΡΠ°Π²ΠΈΡΡΡ = ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. ΠΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΈΠΌΠ΅Π½Π°Ρ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² ΡΠΎΠ»ΡΠΊΠΎ Π·Π°Π³Π»Π°Π²Π½ΡΠ΅ Π±ΡΠΊΠ²Ρ.
ΠΡΡΠΈΠ±ΡΡΡ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Ρ define Π°ΡΡΠΈΠ±ΡΡΡ export ΠΈ namedef. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π°ΡΡΠΈΠ±ΡΡ export Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ Π² Π²ΠΈΠ΄Π΅ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π° (.ge ΡΠ°ΠΉΠ») ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΡΡΠΎΠ±Ρ ΡΡΠΈ ΠΌΠ°ΠΊΡΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ . ΠΡΠ»ΠΈ Ρ define ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°Π½ Π°ΡΡΠΈΠ±ΡΡ namedef, ΡΠΎ Π²ΡΠ΅ Π΅Π³ΠΎ ΠΌΠ°ΠΊΡΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° ‘$‘.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ define
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΡ Ρ define ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΌΠ°ΠΊΡΠΎΡΠ°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΡΡΠΌΡΡ, ΡΠ°ΠΊ ΠΈ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ define ΠΈΠΌΠ΅Π½ΠΈ. ΠΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π΄Π»Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ°ΠΊΡΠΎΡΠ°ΠΌΠΈ ΠΈΠ· ΡΠ°Π·Π½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΌΠ°ΠΊΡΠΎΡΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄: $ΠΈΠΌΡdefine.ΠΈΠΌΡΠΌΠ°ΠΊΡΠΎΡΠ°.
ΠΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅
Π Gentee Π½Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠΉ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ define. ΠΡΠ»ΠΈ ΠΌΠ°ΠΊΡΠΎΡΡ Π½Π΅ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠΎ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΌΠ°ΠΊΡΠΎΡΠ°. ΠΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΌΠ°ΠΊΡΠΎΡ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΈΠ»ΠΈ Π½Π΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΌΠ°ΠΊΡΠΎΡΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ 0. Π ΡΠ»ΡΡΠ°Π΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ.
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ
ΠΠ°ΠΊΡΠΎΡΠ°ΠΌ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ»Π°, Π½ΠΎ ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΠΏΠ΅ΡΠ°Π½Π΄Π°ΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΠ°ΠΊΡΠΎΠ²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ.