Los "puertos serie USB" basados en 32u4 se niegan a enviar datos a la PC a menos que DTR en el lado del software de la PC esté configurado en alto. Si el software de la PC no establece DTR en verdadero (¿alto?), Entonces Serial.print() en Arduino entra en un agujero negro, y el software nunca obtiene las respuestas de Arduino.
Necesito obtener un paquete de software de terceros para trabajar con mi dispositivo basado en Arduino Pro Micro. Este software establece DTR en falso, lo que funciona bien con muchos otros dispositivos. Aruino recibe datos de la PC muy bien, solo se pierden las respuestas de arduino.
Resultado final... el software puede enviar comandos a mi dispositivo, pero debido a que el software de la PC no establece DTR en verdadero (¿alto?), mis respuestas Serial.print() no se reciben... el 32u4 esencialmente bloquea las respuestas porque DTR es bajo... a pesar de que los datos en serie van al arduino.
Los microcontroladores PIC y Arduino UNO, etc., no requieren que DTR se configure alto en el lado de la PC para que la serie USB funcione, los chips FTDI parecen ignorar DTR, por lo que este software de terceros funciona bien con la mayoría de los otros dispositivos.
Modificar mi hardware no es una opción. ¿Cómo puedo, en software/firmware, piratear este dispositivo para ignorar DTR para que este software de PC de terceros pueda ver los datos en serie del dispositivo?
Hmm, luego de una revisión adicional, buscando en la fuente de Arduino el código de serie USB , me parece que la verificación DTR está en la línea 224 (primera línea de size_t Serial_::write(const uint8_t *buffer, size_t size)
). No soy muy optimista acerca de deshabilitarlo (probablemente inundará algún búfer), pero podría valer la pena intentarlo.
microterio
mente hambrienta
venny
mente hambrienta