array in constant?


Closed Thread
Results 1 to 14 of 14

Hybrid View

  1. #1
    Join Date
    Aug 2007
    Posts
    12

    Default array in constant?

    hi every one. i am fresh here. i got a problem with coding about arrays.

    what i wanted to do is to create an array which have a series of constants that i won't be changing during runtime.

    i believe there is a code which is like " a var byte[10] " is possible but this required the pic's ram and the ram is pretty limited. so, can i create the array as in constant or as code which i can den use later on?

    futher more, how to put in data in array mode? which some thing like " a[] = {1 2 3 4 5 6 7} "

    thank you

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


    Did you find this post helpful? Yes | No

    Default

    LOOKUP a,[1,2,3,4,5,6,7],b.

    a & b would be byte variables. a = the index pointer. b = the byte variable
    the constant value from the table is placed in.

    a = 1
    LOOKUP a,[1,2,3,4,5,6,7],b

    b now = 2.

    This creates a constant array in ROM similar to const char a[]={1,2,3,4,5,6,7};
    in C where b=a[1].
    Last edited by Bruce; - 2nd August 2007 at 14:11.
    Regards,

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

  3. #3
    Join Date
    Aug 2007
    Posts
    12


    Did you find this post helpful? Yes | No

    Default

    this means that i can put
    LOOKUP A,[.......],B

    but how can i refer to the A later on?

    eg. lookup a,[ 1 2 3 ],b

    den how can i do like x= a[1] + a[2] ?
    Last edited by SpiritHunter; - 2nd August 2007 at 12:52.

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


    Did you find this post helpful? Yes | No

    Default

    If you need x= a[1] + a[2] then you'll need to create a standard array of
    RAM variables.

    Or do something like this;
    Code:
    Main:
         a = 1
         GOSUB GetConst
         X = b
         a = 2
         GOSUB GetConst
         X = X + b ' now X = a[1]+a[2]
         GOTO Main
    
    GetConst:
         LOOKUP a,[1,2,3,4,5,6,7],b
         RETURN
    Last edited by Bruce; - 2nd August 2007 at 14:29.
    Regards,

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

  5. #5
    Join Date
    Aug 2007
    Posts
    12


    Did you find this post helpful? Yes | No

    Default

    thanks alot bruce, i think i understand already. will try out 2moro.

  6. #6
    Join Date
    Aug 2007
    Posts
    12


    Did you find this post helpful? Yes | No

    Default

    wow.. thanks.... o ya... 1 more question... how many constant can i write in a single bracket? and... is there a problem if i write like this?

    LOOKUP a,[1,2,3,4,5,6,7
    ,b

  7. #7
    Join Date
    Aug 2007
    Posts
    12


    Did you find this post helpful? Yes | No

    Default

    wow.. thanks.... o ya... 1 more question... how many constant can i write in a single bracket? and... is there a problem if i write like this?

    LOOKUP a,[1,2,3,4,5,6,7
    ,8,9,10],b

Similar Threads

  1. Bits, Bytes Words and Arrays
    By Melanie in forum FAQ - Frequently Asked Questions
    Replies: 24
    Last Post: - 14th June 2016, 07:55
  2. Simple Array Demo
    By Archangel in forum Code Examples
    Replies: 5
    Last Post: - 15th February 2010, 04:46
  3. 16F628A - Stops if release power switch.
    By dene12 in forum General
    Replies: 16
    Last Post: - 14th February 2009, 07:57
  4. RS232 receive an array (packet)
    By ELCouz in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 12th February 2008, 05:02
  5. Reading Array values into variables
    By Tom Gonser in forum mel PIC BASIC Pro
    Replies: 19
    Last Post: - 21st March 2005, 10:30

Members who have read this thread : 1

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