SERIN confusion on receiving a string of characters.


Closed Thread
Results 1 to 23 of 23

Hybrid View

  1. #1
    Join Date
    Feb 2013
    Posts
    1,099

    Default SERIN confusion on receiving a string of characters.

    Hello.
    I want to do the following -
    receive the data from serial port, and after code for enter is received, write next characters received into an array, and display that text on screen (8 characters total) when enter received again.

    Something like this:

    User presses enter and then types HELLO and enter again
    and my screen displays HELLO.
    If user typed in more than 8 characters before pressing the enter, just last 8 characters he entered are displayed.
    As I understand, I need SERIN for this, and it should look like this:

    Code:
    edk:
    SERIN PORTB.6,2,[13],textline[0],textline[1],textline[2],textline[3],textline[4],textline[5],textline[6],textline[7]
    pause 100
    gosub deka 'array to screen decoder
    goto edk
    I have USB2SERIAL converter TXD pin connected to PORTB.6 via 22k resistor, as PBP manual says.
    Trying to send some characters via teraterm, but get nothing written into array.
    I checked usb2serial adapter and it is working.

    What I'm doing wrong?

  2. #2
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    3,942


    Did you find this post helpful? Yes | No

    Default Re: SERIN confusion on receiving a string of characters.

    Since you don't show rest of the code, only guessing I can make.

    1. Try to short tx-rx of the USB converter to make sure it is working
    2. The 22K maybe too large. Try a 4K7
    3. The array textline needs to be filled with 8 characters before serin exits. If you type less then it just waits there forever
    4. Serin will hang if the voltage input is not correct. Even if you add timeout....!
    5. Are you sure your display subroutine is OK?

    Ioannis

  3. #3
    Join Date
    Oct 2005
    Location
    Sweden
    Posts
    3,557


    Did you find this post helpful? Yes | No

    Default Re: SERIN confusion on receiving a string of characters.

    What sort of USB-to-serial is this?
    The fact that you're using a 22k resistor indicates the converter is an "USB-to-RS232" converter which means you should use N9600 (Mode 6) when the RS232-signal is connected (via resistor) to the PIC. Your code, on the other hand, uses T9600 (Mode 2) indicating that the converter is "USB-to-UART" in which case the resistor isn't really needed. Also, make sure you have the GND of the converter connected to GND of PIC and - obviously - that you have selected the correct baudrate in whatever terminal program you're using.

    As usual, get the basics going first BEFORE you try to fill arrays, using wait characters, timeouts and so on.

  4. #4
    Join Date
    Feb 2013
    Posts
    1,099


    Did you find this post helpful? Yes | No

    Default Re: SERIN confusion on receiving a string of characters.

    Decoder routine and other code works fine. I'll check other things too later. I already tried setting mode 6, no difference.

    The USB<>Serial converter is common one, based on CH340 chip.

    Name:  unitrode.jpg
Views: 908
Size:  138.4 KB

  5. #5
    Join Date
    Feb 2013
    Posts
    1,099


    Did you find this post helpful? Yes | No

    Default Re: SERIN confusion on receiving a string of characters.

    Issue solved.
    While manual says "Pin is automatically made an input."
    In fact it does not, so I made that pin an input via TRIS register and now (mode 6) works fine.

    Now how to change above code, so it displays text immediately after pressing the enter, not waiting for 8 characters to fill in?

  6. #6
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    3,942


    Did you find this post helpful? Yes | No

    Default Re: SERIN confusion on receiving a string of characters.

    Page 211 of the manual for the SERIN2 command

    Use STR ArrayVar\n{\c} where the c is the 13 (enter).

    Ioannis

Similar Threads

  1. PLz Help! Serin and Serout Confusion
    By noor31 in forum mel PIC BASIC Pro
    Replies: 12
    Last Post: - 16th June 2014, 19:51
  2. String of characters(array) to decimal value
    By tacbanon in forum mel PIC BASIC Pro
    Replies: 20
    Last Post: - 20th June 2012, 14:30
  3. Problem receiving string
    By financecatalyst in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 12th October 2009, 07:24
  4. Receiving Different String lengths
    By Jannie in forum Serial
    Replies: 5
    Last Post: - 26th January 2009, 05:00
  5. USART Stops Receiving Characters
    By breesy in forum Serial
    Replies: 7
    Last Post: - 26th November 2006, 03:50

Members who have read this thread : 2

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts