Skocz do zawartości
Komentator

PlatformIO - alternatywne środowisko dla Arduino IDE

Pomocna odpowiedź

(edytowany)

Po zainstalowaniu i skonfigurowaniu PlatformIO,  zainstalowałem bibliotekę IRremote, w Arduino IDE kompilacja kodu przebiegła pomyślnie, a w PlatformIO zgłaszała błędy.  Dlaczego?

Edytowano przez macizet

Udostępnij ten post


Link to post
Share on other sites

Nie wiemy. Pochwal się jakie błędy konkretnie dostajesz 🙂

Udostępnij ten post


Link to post
Share on other sites

To chyba problem z wywolywaniem funkcji w ponizszym kodzie:

#include <Arduino.h>
// Included libraries:
#include <IRremote.h>
#include <IR_def.h>

// Motors pins definition:   Motor   Pin of H-Bridge
#define M1_1 10 //             1          IN1
#define M1_2 11 //             1          IN2
#define M2_1 12 //             2          IN3
#define M2_2 13 //             2          IN4

int RECV_PIN = 2; // Pin of IR TSOP receiver

// Initialize the receiver:
IRrecv irrecv(RECV_PIN);

decode_results results;
// Code:
void setup() {
  // Pins setup:
  pinMode(M1_1, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  loope();
}
void loope() 
{
  digitalWrite(M1_1, HIGH);
}

A to bledy:

> Executing task: C:\Users\DELL\.platformio\penv\Scripts\platformio.exe run <

Processing uno (platform: atmelavr; board: uno; framework: arduino)
---------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/uno.html
PLATFORM: Atmel AVR > Arduino Uno
HARDWARE: ATMEGA328P 16MHz 2KB RAM (31.50KB Flash)
Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF MODES: FINDER(chain) COMPATIBILITY(soft)
Collected 29 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <IRremote> 2.3.3
|-- <IR_def>
Compiling .pioenvs\uno\src\main.cpp.o
Compiling .pioenvs\uno\libc5c\IRremote_ID4\IRremote.cpp.o
Compiling .pioenvs\uno\libc5c\IRremote_ID4\irPronto.cpp.o
Compiling .pioenvs\uno\libc5c\IRremote_ID4\irRecv.cpp.o
Compiling .pioenvs\uno\libc5c\IRremote_ID4\irSend.cpp.o
Compiling .pioenvs\uno\libc5c\IRremote_ID4\ir_Aiwa.cpp.o
Compiling .pioenvs\uno\libc5c\IRremote_ID4\ir_Denon.cpp.o
Compiling .pioenvs\uno\libc5c\IRremote_ID4\ir_Dish.cpp.o
Compiling .pioenvs\uno\libc5c\IRremote_ID4\ir_JVC.cpp.o
Compiling .pioenvs\uno\libc5c\IRremote_ID4\ir_LG.cpp.o
Compiling .pioenvs\uno\libc5c\IRremote_ID4\ir_Lego_PF.cpp.o
Compiling .pioenvs\uno\libc5c\IRremote_ID4\ir_Mitsubishi.cpp.o
Compiling .pioenvs\uno\libc5c\IRremote_ID4\ir_NEC.cpp.o
Compiling .pioenvs\uno\libc5c\IRremote_ID4\ir_Panasonic.cpp.o
Compiling .pioenvs\uno\libc5c\IRremote_ID4\ir_RC5_RC6.cpp.o
Compiling .pioenvs\uno\libc5c\IRremote_ID4\ir_Samsung.cpp.o
Compiling .pioenvs\uno\libc5c\IRremote_ID4\ir_Sanyo.cpp.o
Compiling .pioenvs\uno\libc5c\IRremote_ID4\ir_Sharp.cpp.o
Compiling .pioenvs\uno\libc5c\IRremote_ID4\ir_Sony.cpp.o
Compiling .pioenvs\uno\libc5c\IRremote_ID4\ir_Template.cpp.o
Compiling .pioenvs\uno\libc5c\IRremote_ID4\ir_Whynter.cpp.o
Archiving .pioenvs\uno\lib166\libIR_def.a
Archiving .pioenvs\uno\libc5c\libIRremote_ID4.a
Archiving .pioenvs\uno\libFrameworkArduinoVariant.a
Compiling .pioenvs\uno\FrameworkArduino\CDC.cpp.o
Compiling .pioenvs\uno\FrameworkArduino\HardwareSerial.cpp.o
Compiling .pioenvs\uno\FrameworkArduino\HardwareSerial0.cpp.o
Compiling .pioenvs\uno\FrameworkArduino\HardwareSerial1.cpp.o
Compiling .pioenvs\uno\FrameworkArduino\HardwareSerial2.cpp.o
Compiling .pioenvs\uno\FrameworkArduino\HardwareSerial3.cpp.o
Compiling .pioenvs\uno\FrameworkArduino\IPAddress.cpp.o
Compiling .pioenvs\uno\FrameworkArduino\PluggableUSB.cpp.o
Compiling .pioenvs\uno\FrameworkArduino\Print.cpp.o
Compiling .pioenvs\uno\FrameworkArduino\Stream.cpp.o
Compiling .pioenvs\uno\FrameworkArduino\Tone.cpp.o
Compiling .pioenvs\uno\FrameworkArduino\USBCore.cpp.o
Compiling .pioenvs\uno\FrameworkArduino\WInterrupts.c.o
Compiling .pioenvs\uno\FrameworkArduino\WMath.cpp.o
Compiling .pioenvs\uno\FrameworkArduino\WString.cpp.o
Compiling .pioenvs\uno\FrameworkArduino\abi.cpp.o
Compiling .pioenvs\uno\FrameworkArduino\hooks.c.o
Compiling .pioenvs\uno\FrameworkArduino\main.cpp.o
Compiling .pioenvs\uno\FrameworkArduino\new.cpp.o
Compiling .pioenvs\uno\FrameworkArduino\wiring.c.o
Compiling .pioenvs\uno\FrameworkArduino\wiring_analog.c.o
Compiling .pioenvs\uno\FrameworkArduino\wiring_digital.c.o
Compiling .pioenvs\uno\FrameworkArduino\wiring_pulse.S.o
Compiling .pioenvs\uno\FrameworkArduino\wiring_pulse.c.o
Compiling .pioenvs\uno\FrameworkArduino\wiring_shift.c.o
Archiving .pioenvs\uno\libFrameworkArduino.a
Linking .pioenvs\uno\firmware.elf
Checking size .pioenvs\uno\firmware.elf
Building .pioenvs\uno\firmware.hex
Memory Usage -> http://bit.ly/pio-memory-usage
DATA:    [          ]   0.4% (used 9 bytes from 2048 bytes)
PROGRAM: [          ]   1.4% (used 444 bytes from 32256 bytes)
========================= [SUCCESS] Took 15.65 seconds =========================

Terminal will be reused by tasks, press any key to close it.

> Executing task: C:\Users\DELL\.platformio\penv\Scripts\platformio.exe run <

Processing uno (platform: atmelavr; board: uno; framework: arduino)
---------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/uno.html
PLATFORM: Atmel AVR > Arduino Uno
HARDWARE: ATMEGA328P 16MHz 2KB RAM (31.50KB Flash)
Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF MODES: FINDER(chain) COMPATIBILITY(soft)
Collected 29 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <IRremote> 2.3.3
|-- <IR_def>
Compiling .pioenvs\uno\src\main.cpp.o
Linking .pioenvs\uno\firmware.elf
Checking size .pioenvs\uno\firmware.elf
Memory Usage -> http://bit.ly/pio-memory-usage
DATA:    [          ]   0.4% (used 9 bytes from 2048 bytes)
PROGRAM: [          ]   1.4% (used 444 bytes from 32256 bytes)
========================== [SUCCESS] Took 3.96 seconds ==========================

Terminal will be reused by tasks, press any key to close it.

> Executing task: C:\Users\DELL\.platformio\penv\Scripts\platformio.exe run <

Processing uno (platform: atmelavr; board: uno; framework: arduino)
---------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/uno.html
PLATFORM: Atmel AVR > Arduino Uno
HARDWARE: ATMEGA328P 16MHz 2KB RAM (31.50KB Flash)
Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF MODES: FINDER(chain) COMPATIBILITY(soft)
Collected 29 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <IRremote> 2.3.3
|-- <IR_def>
Compiling .pioenvs\uno\src\main.cpp.o
Linking .pioenvs\uno\firmware.elf
Checking size .pioenvs\uno\firmware.elf
Building .pioenvs\uno\firmware.hex
Memory Usage -> http://bit.ly/pio-memory-usage
DATA:    [=         ]  10.7% (used 219 bytes from 2048 bytes)
PROGRAM: [          ]   3.9% (used 1250 bytes from 32256 bytes)
========================== [SUCCESS] Took 4.15 seconds ==========================

Terminal will be reused by tasks, press any key to close it.

> Executing task: C:\Users\DELL\.platformio\penv\Scripts\platformio.exe run <

Processing uno (platform: atmelavr; board: uno; framework: arduino)
---------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/uno.html
PLATFORM: Atmel AVR > Arduino Uno
HARDWARE: ATMEGA328P 16MHz 2KB RAM (31.50KB Flash)
Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF MODES: FINDER(chain) COMPATIBILITY(soft)
Collected 29 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <IRremote> 2.3.3
|-- <IR_def>
Compiling .pioenvs\uno\src\main.cpp.o
src\main.cpp: In function 'void setup()':
src\main.cpp:22:9: error: 'loope' was not declared in this scope
loope();
^
*** [.pioenvs\uno\src\main.cpp.o] Error 1
=========================== [ERROR] Took 4.24 seconds ===========================
The terminal process terminated with exit code: 1

Terminal will be reused by tasks, press any key to close it.

> Executing task: C:\Users\DELL\.platformio\penv\Scripts\platformio.exe run <

Processing uno (platform: atmelavr; board: uno; framework: arduino)
---------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/uno.html
PLATFORM: Atmel AVR > Arduino Uno
HARDWARE: ATMEGA328P 16MHz 2KB RAM (31.50KB Flash)
Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF MODES: FINDER(chain) COMPATIBILITY(soft)
Collected 29 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <IRremote> 2.3.3
|-- <IR_def>
Compiling .pioenvs\uno\src\main.cpp.o
src\main.cpp: In function 'void setup()':
src\main.cpp:23:9: error: 'loope' cannot be used as a function
loope();
^
src\main.cpp: In function 'void loope()':
src\main.cpp:29:12: error: 'void loope()' redeclared as different kind of symbol
void loope() {}
^
src\main.cpp:13:5: note: previous declaration 'int loope'
int loope;
^
*** [.pioenvs\uno\src\main.cpp.o] Error 1
=========================== [ERROR] Took 3.45 seconds ===========================
The terminal process terminated with exit code: 1

Terminal will be reused by tasks, press any key to close it.

> Executing task: C:\Users\DELL\.platformio\penv\Scripts\platformio.exe run <

Processing uno (platform: atmelavr; board: uno; framework: arduino)
---------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/uno.html
PLATFORM: Atmel AVR > Arduino Uno
HARDWARE: ATMEGA328P 16MHz 2KB RAM (31.50KB Flash)
Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF MODES: FINDER(chain) COMPATIBILITY(soft)
Collected 29 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <IRremote> 2.3.3
|-- <IR_def>
Compiling .pioenvs\uno\src\main.cpp.o
src\main.cpp: In function 'void loop()':
src\main.cpp:26:11: error: 'loope' was not declared in this scope
loope();
^
*** [.pioenvs\uno\src\main.cpp.o] Error 1
=========================== [ERROR] Took 3.68 seconds ===========================
The terminal process terminated with exit code: 1

Terminal will be reused by tasks, press any key to close it.

> Executing task: C:\Users\DELL\.platformio\penv\Scripts\platformio.exe run <

Processing uno (platform: atmelavr; board: uno; framework: arduino)
---------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/uno.html
PLATFORM: Atmel AVR > Arduino Uno
HARDWARE: ATMEGA328P 16MHz 2KB RAM (31.50KB Flash)
Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF MODES: FINDER(chain) COMPATIBILITY(soft)
Collected 29 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <IRremote> 2.3.3
|-- <IR_def>
Compiling .pioenvs\uno\src\main.cpp.o
src\main.cpp: In function 'void loop()':
src\main.cpp:26:11: error: 'i' was not declared in this scope
loope(i);
^
src\main.cpp:26:12: error: 'loope' was not declared in this scope
loope(i);
^
*** [.pioenvs\uno\src\main.cpp.o] Error 1
=========================== [ERROR] Took 3.53 seconds ===========================
The terminal process terminated with exit code: 1

Terminal will be reused by tasks, press any key to close it.

> Executing task: C:\Users\DELL\.platformio\penv\Scripts\platformio.exe run <

Processing uno (platform: atmelavr; board: uno; framework: arduino)
--------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/uno.html
PLATFORM: Atmel AVR > Arduino Uno
HARDWARE: ATMEGA328P 16MHz 2KB RAM (31.50KB Flash)
Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF MODES: FINDER(chain) COMPATIBILITY(soft)
Collected 29 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <IRremote> 2.3.3
|-- <IR_def>
Compiling .pioenvs\uno\src\main.cpp.o
Linking .pioenvs\uno\firmware.elf
Checking size .pioenvs\uno\firmware.elf
Memory Usage -> http://bit.ly/pio-memory-usage
DATA:    [=         ]  10.7% (used 219 bytes from 2048 bytes)
PROGRAM: [          ]   3.9% (used 1250 bytes from 32256
bytes)
============= [SUCCESS] Took 4.42 seconds =============

Terminal will be reused by tasks, press any key to close it.

> Executing task: C:\Users\DELL\.platformio\penv\Scripts\platformio.exe run <

Processing uno (platform: atmelavr; board: uno; framework: arduino)
--------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/uno.html
PLATFORM: Atmel AVR > Arduino Uno
HARDWARE: ATMEGA328P 16MHz 2KB RAM (31.50KB Flash)
Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF MODES: FINDER(chain) COMPATIBILITY(soft)
Collected 29 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <IRremote> 2.3.3
|-- <IR_def>
Compiling .pioenvs\uno\src\main.cpp.o
src\main.cpp: In function 'void loop()':
src\main.cpp:26:9: error: 'loope' was not declared in this scope
loope();
^
*** [.pioenvs\uno\src\main.cpp.o] Error 1
============== [ERROR] Took 3.59 seconds ==============
The terminal process terminated with exit code: 1

Terminal will be reused by tasks, press any key to close it.

> Executing task: C:\Users\DELL\.platformio\penv\Scripts\platformio.exe run <

Processing uno (platform: atmelavr; board: uno; framework: arduino)
--------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/uno.html
PLATFORM: Atmel AVR > Arduino Uno
HARDWARE: ATMEGA328P 16MHz 2KB RAM (31.50KB Flash)
Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF MODES: FINDER(chain) COMPATIBILITY(soft)
Collected 31 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <IR_def>
|-- <IRremote> 2.3.3
Compiling .pioenvs\uno\src\main.cpp.o
Archiving .pioenvs\uno\libf1e\libIR_def.a
src\main.cpp: In function 'void loop()':
src\main.cpp:26:9: error: 'loope' was not declared in this scope
loope();
^
Compiling .pioenvs\uno\lib969\IRremote_ID4\IRremote.cpp.o
*** [.pioenvs\uno\src\main.cpp.o] Error 1
============== [ERROR] Took 4.75 seconds ==============
The terminal process terminated with exit code: 1

Terminal will be reused by tasks, press any key to close it.

Kilka razy probowalem skompilowac. Moze cos zle z ta funkcja?

Poza tym przepraszam za pisownie, bo mam norweska klawiature 😉

To loope to tak na probe.

No, i chyba kilka razy powielalem kompilacje, wiec sorki za dlugosc tego ERROR

Udostępnij ten post


Link to post
Share on other sites

A co będzie jak zamienisz miejscami funkcje loop() i loope()?

 

  • Lubię! 1
  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites

@ethanak Dzieki wielkie, nie wpadlbym na to. Po daniu loope() przed loop() wszystko dziala.

Udostępnij ten post


Link to post
Share on other sites

po prostu musisz deklarować wszystkie funkcje -Arduino builder robi to automatycznie.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

A teraz jeszcze jeden problem: Nie dziala skrot do kompilowania Ctrl+alt+B. Jak to naprawic?

A dokladniej to wyswietla sie taki komunikat: command 'platformio-ide.build' not found

Udostępnij ten post


Link to post
Share on other sites

Znalazlem rozwiazanie: trzeba poczekac jakie 3 lata az na moim lapku sie PlatformIO zweryfikuje...

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Mam pytanko. Jak utworzyć nową bibliotekę na Platform IO? Gdzie należy umieścić folder z plikami .h i .cpp

Udostępnij ten post


Link to post
Share on other sites

Musisz wejść C:/Users/Twoja nazwa użytkownika.../.platformio/lib, i tam wkleić folder z biblioteką, potem jak uruchomisz VSC to biblioteka powinna pojawić się w zainstalowanych.

Mam nadzieję że pomogłem 😀

  • Lubię! 1
  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites

Dzięki:)

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij, aby zacząć pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...