Receive serial data


Closed Thread
Results 1 to 19 of 19

Hybrid View

  1. #1


    Did you find this post helpful? Yes | No

    Default

    Greetings mackrackit,

    The 13,10 it's just for carriage return like so:

    Code:
    DEBUG DEC VALUE,13,10
    How can i detect it ?

    .

  2. #2
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by ruijc View Post
    Greetings mackrackit,
    The 13,10 it's just for carriage return like so:
    Code:
    DEBUG DEC VALUE,13,10
    How can i detect it ?
    .
    Look in your manual under DETECTing...
    Seriously, the answer was in mackrackit's last post...something about WAITing for something...

  3. #3


    Did you find this post helpful? Yes | No

    Default

    The only thing i could find in the manual was the Serin and Serin2 commands.

    The manual says that:
    SERIN2 DataPin {\FlowPin}, Mode, {ParityLabel,}, {Timeout,Label,} [Item...]

    with the example:
    Code:
    SERIN2 1,16780,[wait (“A”),B0]
    ( where A is the caracter to wait for. )

    and
    [code]SERIN2 PORTA.1,84,[skip 2,dec4 B0][code]
    ( where it will skip the first 2 digits and grab the next 4 digits)

    I didnt test it yet, but can i use something like this?
    Code:
    SERIN2 PORTA.1,84,[wait (13,10),dec3 B0]
    Its not making sense to me because i have values with one, two or three digits ( temps from 0 to 160). The idea is to grab each value - and this line knows when to start for the first value but doesnt know when to finish before grabbing a new one.

  4. #4
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by ruijc View Post
    The only thing i could find in the manual was the Serin and Serin2 commands.
    And you'll see the same 'type' of thing for HSERIN and DEBUGIN

    I didnt test it yet, but can i use something like this?
    Code:
    SERIN2 PORTA.1,84,[wait (13,10),dec3 B0]
    Its not making sense to me because i have values with one, two or three digits ( temps from 0 to 160). The idea is to grab each value - and this line knows when to start for the first value but doesnt know when to finish before grabbing a new one.
    Now you're thinkin'! Except that it does know when to finish, because you specified when to finish in that line of code above with dec3 B0. As soon as it grabs a 3 digit decimal, the statement is done...
    So in your case, you don't wait for a 13,10 then grab a decimal, flip it around.
    Grab a decimal, then wait for the 13,10.
    Code:
    SERIN2 PORTA.1,84,[dec B0, wait (13,10)]

  5. #5
    Join Date
    Jul 2003
    Posts
    2,405


    Did you find this post helpful? Yes | No

    Default

    Just use the string input option with the terminator set to 13.
    Code:
    MyVar VAR BYTE(3)
    
    Main:
        HSERIN [STR MyVar\3\13] ' receive up to 3 characters, terminate input on receipt of 13
        HSEROUT [STR MyVar\3,13,10] ' show it
        PAUSE 100
        goto Main
    This will receive up to 3 bytes, 0-160, and terminate reception on receipt of 13.
    Regards,

    -Bruce
    tech at rentron.com
    http://www.rentron.com

  6. #6


    Did you find this post helpful? Yes | No

    Default

    Bruce, skimask,

    Thank you very much for your help.

    Will try when i get home, but it makes perfect sense !

    .

  7. #7
    Join Date
    Jul 2003
    Location
    Colorado Springs
    Posts
    4,959


    Did you find this post helpful? Yes | No

    Default

    Another thing to try is just a plain DEC.

    DEBUGIN [DEC MyVar]

    DEC waits for a numeric character and discards anything else until it gets one. Once it receives a character that is a number, it continues receiving more digits until it gets a non-numeric char which would be the 13.

    This way the value can be any length, and you don't have to convert it to a byte.
    <br>
    DT

Similar Threads

  1. Using Nokia LCD
    By BobP in forum mel PIC BASIC Pro
    Replies: 300
    Last Post: - 3rd May 2018, 04:47
  2. Read/Write Problem
    By Tobias in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 10th February 2010, 01:51
  3. Big characters on HD44780 4x20
    By erpalma in forum mel PIC BASIC Pro
    Replies: 23
    Last Post: - 7th January 2007, 02:21
  4. LCD + bar graph
    By DynamoBen in forum mel PIC BASIC Pro
    Replies: 13
    Last Post: - 5th October 2005, 14:50
  5. Sinus calculating !
    By Don Mario in forum mel PIC BASIC Pro
    Replies: 29
    Last Post: - 28th November 2004, 23:56

Members who have read this thread : 0

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