Help with STR ArrayVar\n\c with SerIn2


Closed Thread
Results 1 to 20 of 20

Hybrid View

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


    Did you find this post helpful? Yes | No

    Default

    Hi leinske,

    You aren't missing any macros. It's just that STR can't work with WORD variables. It only works with array's.

    I believe you have "wp" defined as a WORD.
    <br>
    DT

  2. #2
    leinske's Avatar
    leinske Guest


    Did you find this post helpful? Yes | No

    Smile Thank's

    Thanks Darrel for the rapid answer, indeed my variable wp was a WORD array, sorry i had misreading the manual they says explicitly that the arrays must be a BYTE , change made to BYTE and compiling OK

    Leinske

  3. #3
    Almightyrastus's Avatar
    Almightyrastus Guest


    Did you find this post helpful? Yes | No

    Default

    Having the same dort of problems here too with STR and serin2

    my line of code is:

    SERIN2 PORTB.1, 188, 3000, RXERROR, [WAIT ("GPRMC"), skip 1, STR TIME\11\",", STR WARN\1, skip 1, STR LAT\10\",", STR NS\1, skip1, STR LONG\11\",", STR EW\1, skip 1, STR SPD\6\",", STR DIR\6\",", STR DATE\6]

    I have all the variables used set as:

    LAT VAR BYTE (10)

    and so on (with some being (1) or other values, nothing being used is defined as a word, the error message I keep getting is:

    *** Must be a BYTE ARRAY variable for STR! ***

    any help would be great

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


    Did you find this post helpful? Yes | No

    Default

    The only thing I see wrong is the skip1 in-between NS and LONG. Should have a space in there. But that won't cause the described error.

    It does compile without error if I create all the variables and fix the skip.
    Code:
    TIME  var BYTE[11]
    WARN  var BYTE
    LAT   var BYTE[10]
    NS    var BYTE
    LONG  var BYTE[11]
    EW    var BYTE
    SPD   var BYTE[6]
    DIR   var BYTE[6]
    DATE  var BYTE[6]
    
    SERIN2 PORTB.1, 188, 3000, RXERROR, [WAIT ("GPRMC"), skip 1, STR TIME\11\",", STR WARN\1, skip 1, STR LAT\10\",", STR NS\1, skip 1, STR LONG\11\",", STR EW\1, skip 1, STR SPD\6\",", STR DIR\6\",", STR DATE\6]
    
    RXERROR:
    <br>
    DT

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


    Did you find this post helpful? Yes | No

    Default

    Change skip1 to skip 1.
    Regards,

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

  6. #6
    Almightyrastus's Avatar
    Almightyrastus Guest


    Did you find this post helpful? Yes | No

    Default

    Ok thanks, I fixed the skip 1 bit and recompiled, still no luck, still getting the same error on both lines that contain the STR command (there is another one just after this to save some more stuff).

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


    Did you find this post helpful? Yes | No

    Default

    Can you post the variable declarations?

    Must be something there that your missing.

    The above example compiles fine. Is there anything different?
    <br>
    DT

  8. #8
    Almightyrastus's Avatar
    Almightyrastus Guest


    Did you find this post helpful? Yes | No

    Default

    '**********
    'Define variables
    '**********

    MENU var BYTE 'Menu variable
    TIME var BYTE(11) 'Time variable
    WARN var BYTE 'Warning variable
    LAT var BYTE(10) 'Latitude variable
    LONG var BYTE(11) 'Longitude variable
    NS var BYTE 'North/South variable
    EW var BYTE 'East/West variable
    SPD var BYTE(6) 'Speed variable
    DIR var BYTE(6) 'Direction variable
    DATE var BYTE(6) 'Date variable
    ALT var BYTE(5) 'Altitude in m variable
    ALTU var BYTE 'Altitude units
    HDOP var BYTE(5) 'Horizontal dilution of precision
    SAT var BYTE(2) 'Satellites used
    METRE var WORD 'Height in meters variable
    AFEET var WORD 'Height in feet variable
    TEMP var BYTE 'Temp. for altitude conversion
    MULT var WORD 'Multiplier for altitude conversion
    ALTVAR var BYTE 'Set number for times round loop
    ALTF var BYTE(5) 'Altitude in feet storage

    '**********
    'setup interrupts
    '**********

    OPTION_REG = $7f 'Enable PORTB pull-ups and rising edge trigger
    INTCON = $90 'Enable INTE (port b, pin 0) interrupt
    MENU = "0" 'Clear the menu variable
    ON INTERRUPT GOTO INT 'Define interrupt handler

    '***********
    'Startup Screen
    '***********

    PAUSE 100 'Allow LCD to power up for 750ms

    LCDOUT $FE, 1 'Clear screen and display information
    LCDOUT "GPS Display"

    PAUSE 500 'Startup screen pause time


    '**********
    'Main program
    '**********

    'First collect data from GPRMC and GPGGA strings

    RXLOOP:

    SERIN2 PORTB.1, 188, 3000, RXERROR, [WAIT ("GPRMC"), skip 1, STR TIME\11\",", STR WARN\1, skip 1, STR LAT\10\",", STR NS\1, skip 1, STR LONG\11\",", STR EW\1, skip 1, STR SPD\6\",", STR DIR\6\",", STR DATE\6]

    SERIN2 PORTB.1, 188, 3000, RXERROR, [WAIT ("GPGGA"), skip 39, STR SAT\2, skip 1, STR HDOP\5\",", STR ALT\6\",", STR ALTU\1]



    There you go, there is plenty more after that but that is the bits that are giving me the first set of troubles.

    /*edit*/ it is laid out better than that, much the same as the example you gave

Similar Threads

  1. GPS $GPRMC to PIC16F684. Need help with SERIN2
    By xnihilo in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 27th November 2009, 10:47
  2. Getting SERIN2 to work?
    By BobPigford in forum mel PIC BASIC Pro
    Replies: 11
    Last Post: - 22nd July 2009, 21:10
  3. SLOW Serin2 and Serout2
    By dragons_fire in forum General
    Replies: 3
    Last Post: - 26th June 2009, 03:38
  4. SERIN2 digit parsing
    By skimask in forum mel PIC BASIC Pro
    Replies: 7
    Last Post: - 8th January 2007, 00:15
  5. Serin2 and STR Modifier
    By _Ian in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 22nd June 2005, 17:25

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