dacowars 1 kuukausi sitten
vanhempi
sitoutus
431d3d3ac5
1 muutettua tiedostoa jossa 52 lisäystä ja 0 poistoa
  1. 52 0
      V1/V1.ino

+ 52 - 0
V1/V1.ino

@@ -0,0 +1,52 @@
+#include "TinyGPSPlus.h"
+#include "DHT.h"
+
+// Pines para UART2 (Serial2)
+#define RX_PIN 16  // RX del ESP32 conectado a TX del GPS
+#define TX_PIN 17  // TX del ESP32 conectado a RX del GPS
+#define GPS_BAUD 115200
+
+#define DHTPIN 4     // Digital pin connected to the DHT sensor
+#define DHTTYPE DHT22 
+
+// Objeto TinyGPS++
+TinyGPSPlus gps;
+
+// Serial para GPS
+HardwareSerial gpsSerial(2);
+
+// Configuracion del DHT
+DHT dht(DHTPIN, DHTTYPE);
+
+// Bandera volátil para interrupción
+volatile bool gpsFlag = false;
+
+void ARDUINO_ISR_ATTR onTimer(void) {
+  gpsFlag = true;  // Activa bandera para procesar GPS en el loop
+}
+
+void setup() {
+  Serial.begin(115200);
+
+  Serial.println(F("DHTxx test!"));
+  dht.begin();
+
+  Serial.println("Iniciando prueba de GPS con temporizador (API 3.x)...");
+
+  // Iniciar Serial2 para GPS
+  gpsSerial.begin(GPS_BAUD, SERIAL_8N1, RX_PIN, TX_PIN);
+
+  // Configurar temporizador hardware con frecuencia de 1 MHz (tick cada 1 us)
+  hw_timer_t *timer = timerBegin(1000000);  // Frecuencia en Hz
+  
+  // Adjuntar interrupción al temporizador
+  timerAttachInterrupt(timer, &onTimer);
+  
+  // Configurar alarma para 1 segundo (1,000,000 ticks), autoreload activado, unlimited
+  timerAlarm(timer, 1000000, true, 0);
+
+}
+
+void loop() {
+  
+}