| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #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() {
-
- }
|