Announcement

Collapse
No announcement yet.

Why is there no data from Xport to my telnet?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Why is there no data from Xport to my telnet?

    [TL: DR] - Can't send (uart) chars from my PIC through my xport to my telnet connection (and can't receive)?

    [Software]
    • MBLAB X IDE
    • Lantronix DeviceInstaller
    • XC8 compiler

    [Hardware]
    • MCU: PIC PIC18F66K22 from Kynix
    • Lantronix: XPORT XP1001000-05R (Rev. A11)
    • PICkit 3: Programmer
    • PC (with Lantronix DeviceInstaller)
    • Switch

    [Succesfull steps]
    • I can see the XPORT in the device installer and can connect with Telnet...
    • When connecting with Telnet I will get a setup mode. But I can go to monitor mode by pressing 'M'
    • I can send 'commands' to check it's version in Monitor mode (telnet)
    • I've got a button (tested with led's) that executes xportSend('A'); (also tested Write2USART('A') on press.
    • Both xportEnable() and xportSetup() are called in my main.
    • XPORT communication lights will blink when sending through telnet

    I'm using the second usart port of my PIC with default settings of xport
    Code:
    #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();
    }
    • Question one: Is the hardware directly compatible? I've heard that the XPORT uses 3,3V and the PIC RX/TX atleast needs 4V (schmitt trigger stuff) (based on 5V).
    • Question two: Am I using the right setup to receive uart messages (Telnet in monitor mode (port 9999))? I've also tried TELNET with port 10001 but it also didn't show anything.
    • Question three: Anything else might be wrong in this interfacing?

    I think those questions are fairly easy/quick to answer, though I haven't found a reliable source on my google search. I'm not that interested in code, should be able to deal with that myself (if you only describe what to make) but I think there might be something wrong with my USART setup (aswell). (As a lot of things can/might be wrong also). I'd hope that some of you with more experience with the XPORT or electronics can enlighten me.

    Kind regards,

  • #2
    Generally and by default - telnet to the XPort port 10001. That will provide you with a clean connection through the XPort to the serial interface.
    Yes, the XPort is a 3.3V logic & power device; however, the logic lines are 5V input tolerate. However, it's output HI min is 2.4V, so you may have an issue here.
    You may want to test your setup of the XPort on a Lantronix evaluation board.

    Comment

    Working...
    X