ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π² ΡΠΊΠ΅ΡΡΠ°Ρ :
// sketch_06_04_static
int array[100];
void setup()
{
Β Β array[0] = 1;
Β Β array[50] = 2;
Β Β Serial.begin(9600);
Β Β Serial.println(array[50]);
}
void loop()
{
}
ΠΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠΆΠ΅ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠΊΠ΅ΡΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΎΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅, ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°, Π½ΠΎ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ· ΠΏΡΠ»Π° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ Π²Π΅ΡΡΠΈΠΈ Arduino IDE Π½ΠΈΠΆΠ΅ 1.0.4 Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ malloc.
// sketch_06_03_dynamic
int *array;
void setup()
{
Β Β array = (int *)malloc(sizeof(int) * 100);
Β Β array[0] = 1;
Β Β array[50] = 2;
Β Β Serial.begin(9600);
Β Β Serial.println(array[50]);
}
void loop()
{
}
Π Π½Π°ΡΠ°Π»Π΅ ΡΠΊΠ΅ΡΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ int *array. Π‘ΠΈΠΌΠ²ΠΎΠ» * ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (ΠΈΠ»ΠΈ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠ°ΡΡΠΈΠ² ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π»), Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ΅Π½, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° Π² ΡΡΠ½ΠΊΡΠΈΠΈ setup:
Β Β array = (int *)malloc(sizeof(int) * 100);
ΠΠΎΠΌΠ°Π½Π΄Π° malloc (memory allocate β Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ) Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΠΠ£, ΠΊΠΎΡΠΎΡΡΡ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΊΡΡΠ΅ΠΉ (heap). Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° Π΅ΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ Π² Π±Π°ΠΉΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ°ΡΡΠΈΠ² Ρ ΡΠ°Π½ΠΈΡ 100 Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΈΠΏΠ° int, ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΡΠ΅ΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π² Π±Π°ΠΉΡΠ°Ρ . Π Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ malloc ΡΠΈΡΠ»ΠΎ 200 Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° int Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 2 Π±Π°ΠΉΡΠ° ΠΏΠ°ΠΌΡΡΠΈ, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ sizeof Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅.
ΠΠΎΡΠ»Π΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΠΏΠ°ΠΌΡΡΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ Π±ΡΠ»Π° Π²ΡΠ΄Π΅Π»Π΅Π½Π° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠ»ΠΎΠΆΠΈΡΡ ΠΏΡΠΈΠ½ΡΡΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄ΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΠ΅ΡΡΠ°, ΠΈ ΡΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°.
ΠΠ΄Π½Π°ΠΊΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΈΠ΅ΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, Π»Π΅Π³ΠΊΠΎ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΏΠ°ΠΌΡΡΡ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ, Π½ΠΎ Π½Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅ΡΡΡ, ΠΈΠ·-Π·Π° ΡΠ΅Π³ΠΎ ΡΠΊΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡΡΠΎ ΠΈΡΡΠ΅ΡΠΏΠ°ΡΡ ΠΈΠΌΠ΅ΡΡΡΡΡΡ ΠΏΠ°ΠΌΡΡΡ. ΠΡΡΠ΅ΡΠΏΠ°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ Π·Π°Π²ΠΈΡΠ°Π½ΠΈΠ΅ Arduino. ΠΠΎ Π΅ΡΠ»ΠΈ Π²ΡΡ ΠΏΠ°ΠΌΡΡΡ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΠ°ΠΊΠΎΠ³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ Π΄Π°ΠΆΠ΅ ΠΌΠ½Π΅, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π²ΡΠ΅ΠΌΡ Π½Π΅ ΠΎΠ΄Π½Ρ ΡΠΎΡΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° Arduino, ΡΠ»ΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π²Π΅ΡΠΊΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ, ΠΎΠΏΡΠ°Π²Π΄ΡΠ²Π°ΡΡΡΡ ΠΏΡΠΈΠ΅ΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π² Arduino.
Π‘ΡΡΠΎΠΊΠΈ
Π‘ΡΡΠΎΠΊΠΈ (ΡΠ΅ΠΊΡΡΠ°) Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΡΠΊΠ΅ΡΡΠ°Ρ Π΄Π»Ρ Arduino, ΡΠ΅ΠΌ Π² ΠΎΠ±ΡΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ . Π ΠΎΠ±ΡΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ΡΡΡΠΎΠΊΠΈ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ ΠΈΠ»ΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , Π³Π΄Π΅ ΡΠ΅ΠΊΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ Arduino Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΅Π³ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ Serial.println Π΄Π»Ρ Π½ΡΠΆΠ΄ ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
Π Arduino ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΊ: ΡΡΠ°ΡΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ β ΠΌΠ°ΡΡΠΈΠ²Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ° char ΠΈ Π½ΠΎΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ String Object.
ΠΠ°ΡΡΠΈΠ²Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ° char
ΠΠΎΠ³Π΄Π° Π² ΡΠΊΠ΅ΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠΎΠ²Π°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°, ΡΠ°ΠΊΠ°Ρ ΠΊΠ°ΠΊ
char message[] = "Hello World";
ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ° char, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ 12 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΠΌΠ΅Π½Π½ΠΎ 12, Π° Π½Π΅ 11, ΠΏΠΎ ΡΠΈΡΠ»Ρ Π±ΡΠΊΠ² Π² ΡΡΡΠΎΠΊΠ΅ Β«Hello WorldΒ», ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² ΠΊΠΎΠ½Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π·Π°ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ» (\0), ΠΎΡΠΌΠ΅ΡΠ°ΡΡΠΈΠΉ ΠΊΠΎΠ½Π΅Ρ ΡΡΡΠΎΠΊΠΈ. Π’Π°ΠΊΠΎΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΡΠΎΠΊ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΏΡΠΈΠ½ΡΡΠΎΠ΅ Π² ΡΠ·ΡΠΊΠ΅ C, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ²Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»ΠΎΡΡ Π²Π½Π°ΡΠ°Π»Π΅ (ΡΠΈΡ. 6.4). ΠΠ°ΠΆΠ΄Π°Ρ Π±ΡΠΊΠ²Π°, ΡΠΈΡΡΠ° ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈΠΌΠ΅Π΅Ρ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π·ΡΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ASCII.

Π ΠΈΡ. 6.4. ΠΠ°ΡΡΠΈΠ² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ° char Π² ΡΡΠΈΠ»Π΅ ΡΠ·ΡΠΊΠ° C Ρ Π·Π°Π²Π΅ΡΡΠ°ΡΡΠΈΠΌ Π½ΡΠ»Π΅Π²ΡΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π·Π°ΠΏΠΈΡΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ:
char *message = "Hello World";
ΠΡΠΎΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ message ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ» (ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π² ΠΌΠ°ΡΡΠΈΠ²Π΅).
Π€ΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ ΡΡΡΠΎΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ print
Π§Π°ΡΡΠΎ ΡΡΡΠΎΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ, ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΠ±Ρ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΆΠΈΠ΄ΠΊΠΎΠΊΡΠΈΡΡΠ°Π»Π»ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ ΠΈΠ»ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Serial.println. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ, ΡΡΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΠ΅Π» Π² ΡΡΡΠΎΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ β ΠΊΠ°ΠΊ Π½Π° ΠΆΠΈΠ΄ΠΊΠΎΠΊΡΠΈΡΡΠ°Π»Π»ΠΈΡΠ΅ΡΠΊΠΎΠΌ Π΄ΠΈΡΠΏΠ»Π΅Π΅ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Β«Temp: 32 CΒ». ΠΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ, ΡΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠΈΡΠ»ΠΎ 32 ΡΠΎ ΡΡΡΠΎΠΊΠΎΠΉ "Temp: " ΠΈ Π·Π°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΊΠΎΠ½Π΅Ρ ΡΡΡΠΎΠΊΡ " C". Π Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Ρ ΠΎΠΏΡΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ·ΡΠΊΠ° Java ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π½Π° C ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
String text = "Temp: " + tempC + " C";
Π£Π²Ρ, Π² C ΡΡΠΎΡ ΠΏΡΠΈΠ΅ΠΌ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ print, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π΄Π°Π»Π΅Π΅:
lcd.print("Temp: "); lcd.print(tempC); lcd.print(" C");
ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΡΡΡΠ°Π½ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π·Π°ΠΊΡΠ»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠΈ (ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ) ΡΡΡΠΎΠΊ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ .
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ Serial.print. Π ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π² ΡΡΡΠΎΠΊΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° println, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΠ°Ρ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ.
Π€ΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ sprintf
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΡΡΠΎΠΊΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΡΠ·ΡΠΊΠ° C (Π½Π΅ ΠΏΡΡΠ°ΠΉΡΠ΅ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ Arduino String Object, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅) Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ sprintf, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΠ½Π° Π²ΡΡΠ°Π²Π»ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΡΡΡΠΎΠΊΡ ΡΠ°Π±Π»ΠΎΠ½Π°, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
char line1[17];
int tempC = 30;
sprint(line1, "Temp: %d C", tempC);
ΠΠ°ΡΡΠΈΠ² ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² line1 β ΡΡΠΎ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ Π±ΡΡΠ΅Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ. ΠΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ Π΅ΠΌΠΊΠΎΡΡΡ 17 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π² ΠΊΠΎΠ½ΡΠ΅. ΠΠΌΡ line1 Ρ Π²ΡΠ±ΡΠ°Π» ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ ΠΆΠΈΠ΄ΠΊΠΎΠΊΡΠΈΡΡΠ°Π»Π»ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π΄ΠΈΡΠΏΠ»Π΅Ρ Ρ Π΄Π²ΡΠΌΡ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΏΠΎ 16 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ.
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ sprintf ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π·Π°ΠΏΠΈΡΠ°Π½ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ β ΡΡΡΠΎΠΊΠ° ΡΠΎΡΠΌΠ°ΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ ΡΠΌΠ΅ΡΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°, ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Temp:, ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ %d. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ %d ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌΒ». ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π² ΡΡΡΠΎΠΊΡ ΡΠΎΡΠΌΠ°ΡΠ° Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΈΡ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π§ΡΠΎΠ±Ρ Π²ΠΎ Π²ΡΠΎΡΡΡ ΡΡΡΠΎΠΊΡ Π½Π° ΠΆΠΈΠ΄ΠΊΠΎΠΊΡΠΈΡΡΠ°Π»Π»ΠΈΡΠ΅ΡΠΊΠΎΠΌ Π΄ΠΈΡΠΏΠ»Π΅Π΅ Π²ΡΠ²Π΅ΡΡΠΈ Π²ΡΠ΅ΠΌΡ, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ· ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ°ΡΠΎΠ², ΠΌΠΈΠ½ΡΡ ΠΈ ΡΠ΅ΠΊΡΠ½Π΄, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π΄Π°Π»Π΅Π΅:
char line2[17];
int h = 12;
int m = 30;
int s = 5;
sprintf(line2, "Time: %2d:%02d:%02d", h, m, s);
ΠΡΠ»ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π²ΡΠ²Π΅ΡΡΠΈ ΡΡΡΠΎΠΊΡ line2 Π² ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° ΠΈΠ»ΠΈ Π½Π° ΡΠΊΡΠ°Π½ ΠΆΠΈΠ΄ΠΊΠΎΠΊΡΠΈΡΡΠ°Π»Π»ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π΄ΠΈΡΠΏΠ»Π΅Ρ, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠ΅ΠΊΡΡ
Time: 12:30:05
ΠΠΎΠΌΠ°Π½Π΄Π° sprintf Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΠ»Π° ΡΠΈΡΠ»Π° Π² Π½ΡΠΆΠ½ΡΠ΅ ΠΌΠ΅ΡΡΠ°, Π½ΠΎ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π° Π²Π΅Π΄ΡΡΠΈΠΉ Π½ΠΎΠ»Ρ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΈΡΡΠΎΠΉ 5. Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ : Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π§Π°ΡΠ°ΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° %2d, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π΄Π²ΡΠ·Π½Π°ΡΠ½ΠΎΠ΅ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ. ΠΠΎΠΌΠ°Π½Π΄Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΌΠΈΠ½ΡΡ ΠΈ ΡΠ΅ΠΊΡΠ½Π΄ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ (%02d). ΠΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ²ΠΎΠ΄ΡΡ Π΄Π²ΡΠ·Π½Π°ΡΠ½ΡΠ΅ Π΄Π΅ΡΡΡΠΈΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π°, Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π²Π΅Π΄ΡΡΠΈΠΉ Π½ΠΎΠ»Ρ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ.