Tengo un código para enviar datos de posición a través de un SIM808 y usando un Arduino Nano. Por añadir requerimientos rebasó la memoria SRAM de mi Arduino Nano y decidí ya sea cambiar a un Arduino Mega o Due.
Me compré un Due por su capacidad de procesamiento además de trabajar con la arquitetura ARM, pero al modificar el parámetro de modo de comunicación de 'SoftwareSerial' a 'HardwareSerial' obtengo un error de compilación, he intentado configurar de muchas formas obteniendo diferentes mensajes de error.
Añado un ejemplo de cómo configuro el serial del Arduino:
Acá está el enlace a la librería que estoy utilizando
Me aparece un error en la librería SoftwareSerial a pesar de que no estoy utilizando un protocolo serial. Los mensajes de error que me aparecen son los siguientes:
Arduino:1.8.9 (Windows 10), Tarjeta:"Arduino Due (Programming Port)"
In file included from C:\Users\Desarrollo\Documents\Arduino\libraries\DFRobot_SIM808-master/DFRobot_sim808.h:34:0,
from C:\Users\Desarrollo\Desktop\ARM Cortex Arduino\mpu_gps_4due\mpu_gps_4due.ino:16:
C:\Users\Desarrollo\Documents\Arduino\libraries\DFRobot_SIM808-master/sim808.h:36:28: fatal error: SoftwareSerial.h: No such file or directory
#include <SoftwareSerial.h>
^
compilation terminated.
exit status 1
Error compilando para la tarjeta Arduino Due (Programming Port).
Este informe podría contener más información con
"Mostrar salida detallada durante la compilación"
opción habilitada en Archivo -> Preferencias.
Intenté agregando la librería que "falta" pero sigo obtemiendo mensajes de error.
Tu código tiene definido Serial2 por lo que en algun lado la librería sigue pensando que estas con SoftwareSerial asi que debes buscar ese lugar que le dice.. ve y mira la configuración para un UNO que requiere SoftwareSerial.
Usa la configuracion para un MEGA pero tendras que cambiarle la etiqueta para que sea reconocido con tu DUE.
Estuve muy tentado a modificar la librería pero no estoy seguro si es la mejor opción ya que ahí especifica la forma de llamar a HardwareSerial en ves de SoftwareSerial, pero lo he intentado de tantas formas y no he logrado hacer que compile.
El ejemplo que trato de comilar es el 'SIM808_GetGPS'
He estado haciendo unas pruebas durante el transcurso del día y lo que he observado es que SoftwareSerial es imposible de implementar de momento en un Arduino Due.
Lo más factible para mí considero que es modificar la librería para que solo utilice 'HardwareSerial'. Agradezco mucho tu apoyo, voy a hacer las modificaciones y actualizo el status.
Ya lo he hecho como tú me has dicho, pero el problema es que el compilador sigue llamando a la librería <SoftwareSerial.h>, la cual no es compatible con el Arduino Due.
Me sigue marcando el siguiente error:
Arduino:1.8.9 (Windows 10), Tarjeta:"Arduino Due (Programming Port)"
Opciones de compilación cambiadas, reconstruyendo todo
In file included from C:\Users\Desarrollo\Documents\Arduino\libraries\DFRobot_SIM808-master/DFRobot_sim808.h:34:0,
from C:\Users\Desarrollo\Desktop\ARM Cortex Arduino\mpu_gps_4due\mpu_gps_4due.ino:16:
C:\Users\Desarrollo\Documents\Arduino\libraries\DFRobot_SIM808-master/sim808.h:36:28: fatal error: SoftwareSerial.h: No such file or directory
#include <SoftwareSerial.h>
^
compilation terminated.
exit status 1
Error compilando para la tarjeta Arduino Due (Programming Port).
Este informe podría contener más información con
"Mostrar salida detallada durante la compilación"
opción habilitada en Archivo -> Preferencias.
Bueno comencemos estableciendo que SoftwareSerial no funciona en un DUE.
SIgamos con que falla tambien en el MEGA tal como esta todo.
No da el mismo error pero falla
A mí en Arduino Mega sí me ha compilado llamando a HardwareSerial como me explicaste en el ejemplo, el problema es cuando cambio de placa y me marca el error de que SoftwareSerial no está disponible.
Probé la compilación y quedó, muchísimas gracias!!!!!
Revisé tu librería modificada y vi que retiraste todo lo de SoftwareSerial, qué capo, te agradezco muchísimo, igual si tienes cuenta en Paypal o similar compártela para invitarte un café.
La probaré y ya te cuento que tal, de verdad muchas gracias!