aficionados y estudiantes,
[TL: DR]: ¿No puedo enviar (uart) caracteres de mi PIC a través de mi puerto xport a mi conexión telnet (y no puedo recibir)?
[Software◆
- IDL MBLAB X
- Lantronix DeviceInstaller
- compilador XC8
[Hardware◆
- MCU: PIC PIC18F66K22
- Lantronix: XPORT XP1001000-05R (Rev. A11)
- PICkit 3: Programador
- PC (con Lantronix DeviceInstaller)
- Interruptor
[Pasos exitosos]
- Puedo ver el XPORT en el instalador del dispositivo y puedo conectarme con Telnet ...
- Al conectarme con Telnet obtendré un modo de configuración. Pero puedo ir al modo de monitor presionando 'M'
- Puedo enviar 'comandos' para verificar su versión en modo Monitor (telnet)
- Tengo un botón (probado con led) que ejecuta xportSend ('A'); (También probé Write2USART ('A') en la prensa.
- Tanto xportEnable () como xportSetup () se llaman en mi main.
- Las luces de comunicación XPORT parpadearán cuando se envíen a través de telnet
Estoy usando el segundo puerto de usuario de mi PIC con la configuración predeterminada de xport
#include <usart.h>
#include "xport.h"
#include "defines.h"
/* XPORT DEFAULTS:
Baud: 9600
Databits: 8
Parity: none
Stop bits: 1*/
void xportSetup(void){
BAUDCON2 = 1;
RCSTA2bits.SPEN = 1;
TRISGbits.TRISG2 = 1;
TRISGbits.TRISG1 = 0;
Open2USART( USART_TX_INT_OFF & // Transmit Interrupt OFF
USART_RX_INT_OFF & // Receive Interrupt ON
USART_ASYNCH_MODE & // Asynchronous Mode
USART_EIGHT_BIT & // 8-bit Transmit/Receive
USART_CONT_RX & // Continuous Reception
USART_BRGH_HIGH, // High Baud Rate
(64E6 / 9600 / 16 - 1) // Baud Rate 9600
);
//http://www.microchip.com/forums/FindPost/836738
}
void xportEnable(void){
LDO_SHDN = true;
XRESET = true;
}
void xportSend(char data){
Write2USART(data);
}
char xportReceive(void){
return Read2USART();
}
-
[SOLUCIONADO, sí xport es compatible con PIC, vea el enlace a continuación] Pregunta uno: ¿Es el hardware directamente compatible? He escuchado que el XPORT usa 3,3V y el PIC RX / TX al menos necesita 4V (disparador Schmitt) (basado en 5V). enlace
-
Pregunta dos: ¿Estoy usando la configuración correcta para recibir mensajes de uart (Telnet en modo monitor (puerto 9999))? También probé TELNET con el puerto 10001, pero tampoco mostró nada.
-
Pregunta tres: ¿Algo más podría estar mal en esta interfaz?
Creo que estas preguntas son bastante fáciles de responder, aunque no he encontrado una fuente confiable en mi búsqueda de Google. No estoy tan interesado en el código, debería poder manejarlo yo mismo (si solo describe qué hacer) pero creo que podría haber algún problema con mi configuración de USART (también). (Como muchas cosas pueden / pueden estar equivocadas también). Espero que algunos de ustedes con más experiencia con el XPORT o la electrónica me puedan iluminar.
Saludos cordiales,
FuaZe Estudiante en la universidad de ciencias aplicadas HAN (Países Bajos)