Problemas con funciones en visual studio

Mi problema es al intentar crear funciones en Visual Studio con platformio.
Cuando intento crear una función tengo que declararla antes del setup porque sino me marca error.
Si la declaro, por ejemplo, luego del loop y llamo la función desde el setup me dice que la función no esta declarada pero si la declaro antes del setup si funciona.
Me gustaría saber si hay manera de solucionar eso porque en el propio ide de arduino eso no pasa.

======================================================================

Así, que seria lo normal no funciona:

#include <Arduino.h>

int numero = 50;
int numero2 = 30;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  delay(100);

  suma_numeros();

}

void loop() {
  // put your main code here, to run repeatedly:
}

void suma_numeros (){
  int resultado = numero + numero2;
  Serial.println(String(resultado));
}

Me arroja este error:

src\main.cpp: In function 'void setup()':
src\main.cpp:11:3: error: 'suma_numeros' was not declared in this scope
suma_numeros();
^~~~~~~~~~~~
src\main.cpp:11:3: note: suggested alternative: 'numero2'
suma_numeros();
^~~~~~~~~~~~
numero2
*** [.pio\build\uno\src\main.cpp.o] Error 1

Si claro. Solo le dices esto al sketch

#include <Arduino.h>
int numero   = 50;
int numero2 = 30;

void suma_numeros();

void setup() {
// sigue el resto del código

Moderador:
Por favor, lee las Normas del foro y edita tu código/error usando etiquetas de código.
Ve a edición, luego selecciona todo el código que has publicado, lo cortas y click en </>


No subas capturas de códigos y edita tu post inicial con el código y los errores que has posteado pero con etiquetas.

Hola:

¿Por qué no pones el...

oid suma_numeros()
{
 // Códigos...
}

justo debajo de las variables o encima de void setup(){ ?

Saludos.

Es lo que hice pero crei que era una manera desprolija de escribir el codigo porque en el ide de arduino declaraba las funciones luego del loop...entonces lo.estaba haciendo bien....muchas gracias!!

Buenas:

Me funciona. Este es el código. Tuve que tener que copiarlo y modificarlo porque no lo tienes escrito, sino en captura de pantalla. Lo hice con Arduino IDE, el oficial de toda la vida.

#include <Arduino.h>

int numero = 50;
int numero2 = 30;

void suma_numeros()
{
  int resultado = numero + numero2;
  Serial.println(resultado);
}

void setup()
{
  Serial.begin(9600);
  delay(100);

  suma_numeros();
}

void loop()
{

}

Si me funciona, a ti también debería. Lo probé hasta con el Arduino UNO físicamente.

Fíjate que en la salida lo puse así, sin el string.

Serial.println(resultado);

Avisa si te funciona o no. Saludos.

Claro que funciona.
Platformio trabaja como cualquier compilador C.
De hecho si miras el archivo principal se llama mail.cpp

Claro mi problema es que estoy haciendo un curso en el cual usan platformio tambien pero creaban la funcion luego del loop y a mi no me funcionaba y vi que al crearla luego de las variables si...pero pensé que estaba mal xD gracias por la ayuda y perdon por crear el post de manera incorrecta

Y no viste mi respuesta en el post#2?

Si vi todas jaja...es la primer ves que uso este foro disculpen

Mientras te funcione todo bien.

Cada función si tienes unas 50, lo creas en un archivo a parte todo lo que te funciona, así no te vuelves loco.