Ошибка exit status 1 Arduino Uno: ΠΊΠ°ΠΊ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ сбой компиляции

Π‘Ρ‚Π°Π»ΠΊΠΈΠ²Π°ΡΡΡŒ с красной строкой Π² консоли Arduino IDE, гласящСй exit status 1, Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΈ часто Π²ΠΏΠ°Π΄Π°ΡŽΡ‚ Π² ступор, Π½Π΅ понимая, Ρ‡Ρ‚ΠΎ компилятор Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ отказался Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ. Π­Ρ‚Π° ошибка Π½Π΅ являСтся спСцифичным Π±Π°Π³ΠΎΠΌ самой ΠΏΠ»Π°Ρ‚Ρ‹ Arduino Uno, Π° скорСС ΠΎΠ±Ρ‰ΠΈΠΌ сигналом ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ процСсс сборки скСтча прСрвался ΠΈΠ·-Π·Π° нСсовмСстимости ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ настроСк срСды. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ошибок синтаксиса, этот статус ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ дСсятки Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΡ‡ΠΈΠ½, ΠΎΡ‚ банальной ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΎ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

Главная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ диагностики Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ exit status 1 β€” это лишь Π²Π΅Ρ€Ρ…ΡƒΡˆΠΊΠ° айсбСрга, ΠΈ Ρ€Π΅Π°Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° кроСтся Π² строках Π²Ρ‹ΡˆΠ΅, Π² Π±Π΅Π»ΠΎΠΌ ΠΏΠΎΠ»Π΅ Π²Ρ‹Π²ΠΎΠ΄Π° компилятора. МногиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ многострочный Π»ΠΎΠ³, Ρ„ΠΎΠΊΡƒΡΠΈΡ€ΡƒΡΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, Ρ‡Ρ‚ΠΎ затягиваСт процСсс поиска нСисправности. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ пытаСтся ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ваш C++ ΠΊΠΎΠ΄ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык, ΠΈ любоС прСпятствиС Π½Π° этом ΠΏΡƒΡ‚ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ сбой.

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ основныС сцСнарии возникновСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, начиная ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ ΠΈ заканчивая ошибками Π² структурС ΠΊΠΎΠ΄Π°. Π’Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈ компилятора ΠΈ быстро ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» сбой. ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒ ошибки компиляции ΠΎΡ‚ ошибок Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΡ… устранСния ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ диагностика сэкономит Π²Π°ΠΌ часы бСссмыслСнного ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ².

Анализ Π»ΠΎΠ³Π° компилятора ΠΈ поиск ΠΏΠ΅Ρ€Π²ΠΎΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом ΠΏΡ€ΠΈ появлСнии ошибки exit status 1 Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡ‚Π°Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ сСрого поля Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части ΠΎΠΊΠ½Π° IDE. ИмСнно Ρ‚Π°ΠΌ, Π·Π°Π΄ΠΎΠ»Π³ΠΎ Π΄ΠΎ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ строки, компилятор ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ строку ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ», Π³Π΄Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка. Часто тСкст ошибки скрыт Π·Π° мноТСством строк тСхничСского мусора, Π½ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова Π²Ρ€ΠΎΠ΄Π΅ error, undefined ΠΈΠ»ΠΈ conflict Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹ красным Ρ†Π²Π΅Ρ‚ΠΎΠΌ.

Если Π² Π»ΠΎΠ³Π΅ упоминаСтся конкрСтная строка вашСго скСтча, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ sketch_dec15a.ino:15:14: error: 'ledPin' was not declared in this scope, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ исправлСниСм ΠΊΠΎΠ΄Π°. Однако, Ссли ошибка ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ„Π°ΠΉΠ»Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ систСмных ΠΏΠ°ΠΏΠΎΠΊ Arduino ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ситуация слоТнСС. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях часто Π²ΠΈΠ½ΠΎΠ²Π°Ρ‚Ρ‹ нСсовмСстимыС вСрсии Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ компилятор ΠΌΠΎΠ»Ρ‡ΠΈΡ‚?

Иногда компилятор Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Π»ΠΎΠ³, Ссли сбой происходит Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΈΠ»ΠΈ Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠΈ памяти. Π’ этом случаС ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ "ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄" Π² настройках IDE.

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡƒΡ‚ΡŒ ΠΊ скСтчу. Если Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ кирилличСскиС символы, ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈΠ»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π·Π½Π°ΠΊΠΈ, компилятор GCC, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Arduino, ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΠΈ. ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠΉΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, оставив Ρ‚ΠΎΠ»ΡŒΠΊΠΎ латинскиС Π±ΡƒΠΊΠ²Ρ‹ ΠΈ Ρ†ΠΈΡ„Ρ€Ρ‹, ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ снова.

  • πŸ” Π˜Ρ‰ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ слова "error" Π² Π»ΠΎΠ³Π΅, игнорируя прСдупрСТдСния "warning".
  • πŸ“‚ Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡƒΡ‚ΡŒ ΠΊ скСтчу Π½Π΅ содСрТит ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹ ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ².
  • πŸ’» ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½Π° Π»ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ Flash ΠΈΠ»ΠΈ SRAM, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ сбой.
  • πŸ”„ ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ пустой скСтч ΠΈ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΡƒΠ΄Π° ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ошибки кэша.

ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ вСрсий Arduino IDE

Одной ΠΈΠ· самых частых ΠΏΡ€ΠΈΡ‡ΠΈΠ½ возникновСния статуса exit status 1 являСтся ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ. Π’ экосистСмС Arduino мноТСство Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ошибкС "multiple definition" ΠΏΡ€ΠΈ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠ΅. НапримСр, Π΄Π²Π΅ Ρ€Π°Π·Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для дисплССв ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€Π΅Ρ‚Π΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° использованиС ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΡ€Ρ‚ΠΎΠ² памяти.

Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΡ€Ρ‹Ρ‚ΡŒΡΡ Π² вСрсии самой срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. НовыС вСрсии Arduino IDE (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ с 1.8 Π½Π° 2.x) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ компиляторы ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ²Π°Ρ‚ΡŒ старый ΠΊΠΎΠ΄. Если ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π» Ρ€Π°Π½Π΅Π΅, Π° послС обновлСния IDE пСрСстал, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€.

πŸ“Š Какая Ρƒ вас вСрсия Arduino IDE?
1.8.x (ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠ°Ρ)
2.x (Новая)
PlatformIO
Другая срСда

Для устранСния ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Π£Π΄Π°Π»ΠΈΡ‚Π΅ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠ»ΠΈ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Иногда ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€ΡƒΡ‡Π½ΠΎΠ΅ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΏΠΎΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈΠ· Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Documents/Arduino/libraries, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ автоматичСский ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π½Π΅ всСгда ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ чистит зависимости.

  • πŸ“¦ Π£Π΄Π°Π»ΠΈΡ‚Π΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ libraries.
  • πŸ†™ ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π΄ΠΎ послСдних ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… вСрсий.
  • βš™οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ с Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚ΠΎΠΉ Arduino Uno.
  • πŸ—‘οΈ ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ компиляции Ρ‡Π΅Ρ€Π΅Π· мСню "Π‘ΠΊΠ΅Ρ‚Ρ‡" β†’ "ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ сборки" ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ содСрТимоС.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ ΠΈ ΠΏΠΎΡ€Ρ‚Π°ΠΌΠΈ COM

Π₯отя ошибка компиляции Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ относится ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ, часто ΠΎΠ½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΈΠ·-Π·Π° нСвозмоТности IDE Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Если Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Ρ‡ΠΈΠΏΠ° CH340 ΠΈΠ»ΠΈ ATmega16U2 установлСн Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, ΠΈΠ»ΠΈ ΠΏΠΎΡ€Ρ‚ занят Π΄Ρ€ΡƒΠ³ΠΈΠΌ процСссом, компиляция ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π° этапС ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅, выдавая ΠΎΠ±Ρ‰ΠΈΠΉ статус ошибки.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ диспСтчСр устройств Windows (ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ОБ). ΠŸΠ»Π°Ρ‚Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ Arduino Uno ΠΈΠ»ΠΈ USB Serial Device Π±Π΅Π· ΠΆΠ΅Π»Ρ‚Ρ‹Ρ… Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°ΠΊΠΎΠ². Если устройство отобраТаСтся ΠΊΠ°ΠΊ "НСизвСстноС устройство", Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ с сайта производитСля Ρ‡ΠΈΠΏΠ° ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€Π°.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: НС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ ΠΏΠ»Π°Ρ‚Ρƒ Arduino Uno ΠΊ ΠΏΠΎΡ€Ρ‚Π°ΠΌ USB 3.0 (синСго Ρ†Π²Π΅Ρ‚Π°) Ρ‡Π΅Ρ€Π΅Π· Π΄Π΅ΡˆΠ΅Π²Ρ‹Π΅ ΠΊΠ°Π±Π΅Π»ΠΈ Π±Π΅Π· Ρ„Π΅Ρ€Ρ€ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ². Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ…ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ систСма воспринимаСт ΠΊΠ°ΠΊ ΠΎΡˆΠΈΠ±ΠΊΡƒ связи, прСрывая процСсс компиляции ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Π²Ρ‹Π±Ρ€Π°Π½Π° Π»ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ ΠΏΠ»Π°Ρ‚Π° ΠΈ ΠΏΠΎΡ€Ρ‚ Π² мСню Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹. Если Π²Ρ‹Π±Ρ€Π°Π½Π° ΠΏΠ»Π°Ρ‚Π° Arduino Nano вмСсто Uno, компилятор попытаСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π½Π°Π±ΠΎΡ€ инструкций ΠΈ адрСсов памяти, Ρ‡Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС exit status 1.

β˜‘οΈ Диагностика ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Ошибки синтаксиса ΠΈ структуры ΠΊΠΎΠ΄Π°

Бамая банальная, Π½ΠΎ частая ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° β€” Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ синтаксиса C++. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Arduino ΠΎΡ‡Π΅Π½ΡŒ строг ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΡŽ скобок, Π½Π°Π»ΠΈΡ‡ΠΈΡŽ Ρ‚ΠΎΡ‡Π΅ΠΊ с запятой ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌΡƒ объявлСнию Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ„ΠΈΠ³ΡƒΡ€Π½ΠΎΠΉ скобки } Π² ΠΊΠΎΠ½Ρ†Π΅ Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ΅Ρ‚ "ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ" вСсь процСсс сборки, выдавая Π½Π΅ΠΏΠΎΠ½ΡΡ‚Π½ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС ΠΊΠΎΠ΄Π°.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° объявлСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’ Arduino ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²Π΅ основныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: void setup() ΠΈ void loop(). Если ΠΎΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ… Π½Π°Π·Π²Π°Π½Π° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Void с большой Π±ΡƒΠΊΠ²Ρ‹ ΠΈΠ»ΠΈ set_up), компилятор Π½Π΅ смоТСт Π½Π°ΠΉΡ‚ΠΈ Ρ‚ΠΎΡ‡ΠΊΡƒ Π²Ρ…ΠΎΠ΄Π° ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ошибкой.

void setup() {

pinMode(13, OUTPUT);

}

void loop() {

digitalWrite(13, HIGH);

delay(1000);

digitalWrite(13, LOW);

delay(1000);

}

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ использованиС Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… слов. НСльзя Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ int, if, return ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ delay ΠΈΠ»ΠΈ millis, для своих ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ ΠΈΠΌΠ΅Π½ ΠΈ сбой компиляции.

  • πŸ”£ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ всСх Ρ‚ΠΎΡ‡Π΅ΠΊ с запятой ; Π² ΠΊΠΎΠ½Ρ†Π΅ инструкций.
  • πŸ”Ž Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ всС ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ скобки { ΠΈΠΌΠ΅ΡŽΡ‚ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Ρ‹ }.
  • πŸ“› НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова C++ для ΠΈΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….
  • πŸ”‘ Π‘ΠΎΠ±Π»ΡŽΠ΄Π°ΠΉΡ‚Π΅ рСгистр: setup ΠΈ Setup β€” это Ρ€Π°Π·Π½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹.

НСхватка памяти ΠΈ оптимизация скСтча

ΠŸΠ»Π°Ρ‚Π° Arduino Uno базируСтся Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ ATmega328P, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ объСм памяти: 32 ΠšΠ‘ для ΠΊΠΎΠ΄Π° (Flash) ΠΈ 2 ΠšΠ‘ для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти (SRAM). Если ваш скСтч слишком Π²Π΅Π»ΠΈΠΊ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ строк, компилятор ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡΡƒΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ всС Π΄Π°Π½Π½Ρ‹Π΅ Π² доступной памяти, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠΈ ΠΈ статусу exit status 1.

Π’ Π»ΠΎΠ³Π΅ компиляции ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ указываСтся ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ использования памяти, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: "Sketch uses 30500 bytes (94%) of program storage space". Если использованиС ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 100% ΠΈΠ»ΠΈ приблиТаСтся ΠΊ ΠΏΡ€Π΅Π΄Π΅Π»Ρƒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ строковыС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ F() для хранСния тСкста Π²ΠΎ Flash-памяти, Π° Π½Π΅ Π² RAM.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ памяти Π›ΠΈΠΌΠΈΡ‚ ATmega328P ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹
Flash (ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°) 32256 Π±Π°ΠΉΡ‚ Ошибка пСрСполнСния ΠΏΡ€ΠΈ компиляции
SRAM (ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅) 2048 Π±Π°ΠΉΡ‚ ΠΠ΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ
EEPROM (Π”Π°Π½Π½Ρ‹Π΅) 1024 Π±Π°ΠΉΡ‚ НС влияСт Π½Π° exit status 1 Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ
Bootloader ~0.5 ΠšΠ‘ Π—Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‡Π°ΡΡ‚ΡŒ Flash памяти

Для освобоТдСния памяти ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° float Π½Π° int Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° потСря точности, ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ использованиС динамичСской памяти. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Ρ„Π°ΠΉΠ»Π°Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ boards.txt, Ссли Π²Ρ‹ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ.

БпСцифичСскиС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма ΠΌΠΎΠΆΠ΅Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ доступ компилятора ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈΠ»ΠΈ ΠΏΠΎΡ€Ρ‚Π°ΠΌ. Π’ Windows антивирусноС ПО ΠΈΠ½ΠΎΠ³Π΄Π° воспринимаСт процСсс компиляции (запуск avr-gcc) ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ созданиС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². Π’ macOS ΠΈ Linux ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ часто связаны с ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΠΎΡ€Ρ‚Ρƒ.

Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² Windows, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Arduino IDE ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора. Π­Ρ‚ΠΎ даст срСдС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΡ€Π°Π²Π° для записи Ρ„Π°ΠΉΠ»ΠΎΠ² Π² систСмныС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ°ΠΏΠΊΠΈ. Π’Π°ΠΊΠΆΠ΅ стоит Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈ саму IDE Π² ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ антивируса.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ Windows 10 ΠΈ 11 функция "Π€ΠΎΠ½ΠΎΠ²Ρ‹Π΅ прилоТСния" ΠΈΠ»ΠΈ "ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ доступ ΠΊ ΠΏΠ°ΠΏΠΊΠ°ΠΌ" ΠΌΠΎΠΆΠ΅Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ компилятора. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ настройки бСзопасности Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ вирусов ΠΈ ΡƒΠ³Ρ€ΠΎΠ·.

На Linux-систСмах ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ dialout ΠΈΠ»ΠΈ tty, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ доступ ΠΊ USB-ΠΏΠΎΡ€Ρ‚Ρƒ. Π‘Π΅Π· этого ΠΏΡ€Π°Π²Π° компиляция ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒΡΡ ошибкой доступа. Команда sudo usermod -a -G dialout $USER Ρ€Π΅ΡˆΠ°Π΅Ρ‚ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ систСмы.

  • πŸ›‘οΈ Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Arduino IDE Π² ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ антивируса.
  • πŸ”‘ ЗапускайтС IDE ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора ΠΏΡ€ΠΈ ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… доступа.
  • 🐧 На Linux Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Π³Ρ€ΡƒΠΏΠΏΡƒ dialout.
  • πŸ’Ύ Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° дискС Π΅ΡΡ‚ΡŒ свободноС мСсто для Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

FAQ: Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ошибка exit status 1 появляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Π΅?

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ IDE ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ состояниС ΠΏΠ»Π°Ρ‚Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ компиляциСй. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρƒ Π½Π° врСмя компиляции ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

ΠœΠΎΠΆΠ΅Ρ‚ Π»ΠΈ faulty USB-кабСль Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ эту ΠΎΡˆΠΈΠ±ΠΊΡƒ?

Π”Π°, Ссли кабСль ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ ΠΈ происходит потСря ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎ врСмя handshake-процСсса, IDE ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это ΠΊΠ°ΠΊ сбой компиляции ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π²Ρ‡Π΅Ρ€Π°, Π° сСгодня Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ?

Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, обновились Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠ»ΠΈ сама IDE. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π½Π΅ измСнился Π»ΠΈ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ.

ВлияСт Π»ΠΈ антивирус Π½Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ exit status 1?

Π”Π°, антивирус ΠΌΠΎΠΆΠ΅Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ компилятора (avr-gcc.exe), считая ΠΈΡ… ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ. Π’Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π·Π°Ρ‰ΠΈΡ‚Ρƒ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ кэш компиляции Π² Arduino IDE?

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π€Π°ΠΉΠ» -> Настройки ΠΈ посмотритС ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ для скСтчСй. Π’ этой ΠΏΠ°ΠΏΠΊΠ΅ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ build ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ ΠΈΡ…, Π»ΠΈΠ±ΠΎ просто пСрСзапуститС IDE.