este codigo corre en IDE arduino y otros en VS Code sin problema es lo que uso para configurar los rtc3231, sin esta linea
#include <Arduino.h>
que es la que agrega platformIO en vs code, ahora instalo VS Code + PlatformIO y la libreria RTCLIB.h, y este codigo da error al llamar a la funcion print_time();
#include <Arduino.h> // ESTO LO AGREGA PLATFORMIO!!
int ano = 2021; // 0-2099
int mes = 01; // 0-12
int dia = 30; // 0-31
int hora= 11; // 0-23
int min = 52; // 0-59
int seg = 00; // 0-59
// ===========================
#include <Wire.h> // Comunicacion I2C
#include "RTClib.h" // libreria ADAFRUIT para DS3231
RTC_DS3231 RTC; // creamos el objeto RTC
String dia_semana[]={"Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sabado"};
String newdate = "";
void setup() {
Serial.begin(9600);
// Wire.begin(); // Inicia Wire sólo si no se hace dentro de la librería
// supone que se usa Wire para comunicar con otros dispositivos, no sólo con el DS3231
if (!RTC.begin()) {
Serial.println("No se encuentra RTC");
while (1);
}else{
Serial.println("########################################");
Serial.println("Puesta en hora del modulo RTC DS3231");
Serial.print("Fecha actual: ");
print_time(); // imprime hora actual del RTC
Serial.println("########################################");
Serial.println("");
Serial.println("Pulsa ENTER para actualizar a");
newdate = "Fecha Nueva-> "
+ String(dia) + "/"
+ String(mes) + "/"
+ String(ano) + " Hora-> "
+ String(hora)+ ":"
+ String(min) + ":"
+ String(seg);
Serial.println(newdate);
Serial.println("======================================");
}
}
void loop () {
if(Serial.available()) {
int inputByte = Serial.read(); // lee byte entrante
if (inputByte==13) { // caracter fin de linea
RTC.adjust(DateTime(ano, mes, dia, hora, min, seg));
Serial.print("Nueva Fecha actualizada: ");
print_time(); // imprime hora actual del RTC
}
}
}
void print_time() {
DateTime ahora = RTC.now(); // captura valores del tiempo
Serial.print(ahora.day(), DEC);
Serial.print('/');
Serial.print(ahora.month(), DEC);
Serial.print('/');
Serial.print(ahora.year(), DEC);
Serial.print(" (");
Serial.print(dia_semana[ahora.dayOfTheWeek()]);
Serial.print(") ");
if (ahora.hour() <10) Serial.print (0);
Serial.print(ahora.hour(), DEC);
Serial.print(':');
if (ahora.minute() <10) Serial.print (0);
Serial.print(ahora.minute(), DEC);
Serial.print(':');
if (ahora.second() <10) Serial.print (0);
Serial.print(ahora.second(), DEC);
Serial.println();
}
este es el error que devuelve
> Executing task in folder librerias: C:\Users\NOAR\.platformio\penv\Scripts\pio.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 (2.2.0) > Arduino Uno
HARDWARE: ATMEGA328P 16MHz, 2KB RAM, 31.50KB Flash
DEBUG: Current (simavr) On-board (simavr)
PACKAGES:
- framework-arduino-avr 5.0.0
- toolchain-atmelavr 1.50400.190710 (5.4.0)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 17 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <RTClib> 1.2.1
| |-- <Wire> 1.0
|-- <Wire> 1.0
Building in release mode
Compiling .pio\build\uno\src\main.cpp.o
src\main.cpp: In function 'void setup()':
src\main.cpp:36:13: error: 'print_time' was not declared in this scope
print_time(); // imprime hora actual del RTC
^
src\main.cpp: In function 'void loop()':
src\main.cpp:62:13: error: 'print_time' was not declared in this scope
print_time(); // imprime hora actual del RTC
^
*** [.pio\build\uno\src\main.cpp.o] Error 1
============================================================================================= [FAILED] Took 1.50 seconds =============================================================================================
El proceso del terminal "C:\Users\NOAR\.platformio\penv\Scripts\pio.exe 'run'" finalizó con el código de salida 1.
Las tareas reutilizarán el terminal, presione cualquier tecla para cerrarlo.