Variable problem


Closed Thread
Results 1 to 11 of 11
  1. #1

    Default Variable problem

    Hi
    I have a Variable Problem!

    I have a Variable DataIn:

    Datain VAR Byte [3]
    Dummy VAR Byte [3]

    now for example i want to use this to compare the bits and to found what bit have change:

    For N = 0 to 2
    For S = 0 to 7 ' My Bits
    If Dummy [N].0[S] <> Datain[N].0[S] Then .......
    Next S
    Next N

    But this is the wrong variable syntax (Unsupported array syntax!)
    Thank You for any help

    Regards Pesti
    Last edited by Pesticida; - 23rd May 2008 at 19:45.

  2. #2
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by Pesticida View Post
    Hi
    I have a Variable Problem!
    So your problem keeps changing?

    http://www.picbasic.co.uk/forum/show...s+bytes+arrays
    Last edited by skimask; - 23rd May 2008 at 21:29.

  3. #3


    Did you find this post helpful? Yes | No

    Default

    Thank you very much for the answer.

    Now I understand!

    You are the best!

    regards Pesti

  4. #4


    Did you find this post helpful? Yes | No

    Default

    hi

    Ok I try but I have a Problem!

    I have this :
    ML_Seconds Var Word [24]
    ML_Verz Var Word [24]

    Here is wrong too!

    Timer_Int:
    for M= 0 to 23
    ML_Seconds.lowbyte[M] = ML_Seconds.lowbyte[M] + 1
    Next M


    and now I must to compare this two Words

    for N = 0 to 23
    If ML_Seconds.lowbyte[N] => ML_Verz.lowbyte[N] Then ...
    Next N
    But I compare now just the lowest two Bytes,I need the word Data

    How I can do that ?!

    Thanks
    regards Pesti

  5. #5
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    ML_Seconds.lowbyte[M] = ML_Seconds.lowbyte[M] + 1
    Not sure what the problem is, but are you sure you don't really want to have:
    Code:
    ML_Seconds.lowbyte[M] =  ML_Seconds.lowbyte[ M + 1  ]
    And this:
    for N = 0 to 23
    If ML_Seconds.lowbyte[N] => ML_Verz.lowbyte[N] Then ...
    Next N
    But I compare now just the lowest two Bytes,I need the word Data
    Easy enough:
    Code:
    temp1 var byte
    temp2 var byte
    ....................
    temp1 = ML_Seconds.lowbyte[N]
    temp2 = ML_Verz.lowbyte[N]
    if temp1 => temp2 Then.....
    Next N

  6. #6


    Did you find this post helpful? Yes | No

    Default

    Hi Skimask

    thanks

    Ok but what is when the value for ML_Seconds.lowbyte[N] is grater then 255 I must to compare the highbyte too!?

    How is that are the two bytes in a word connected,i mean that when i increase the value in my ML_Seconds[N] and the value is going out of 255 then increase the highbyte automatically or not?

    regards Pesti

  7. #7
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Jeeze...then don't limit your inital compare to just the lowbyte...use the whole thing...

  8. #8


    Did you find this post helpful? Yes | No

    Default

    Jeeeze....Can not Help me ;-)

  9. #9
    Join Date
    Mar 2006
    Location
    China
    Posts
    266


    Did you find this post helpful? Yes | No

    Default I can try to help

    But I am seriously confused... I understand you have a problem comparing variables

    and I gather you want to compare 2 words from a word array


    for N = 0 to 23
    If ML_Seconds(N) => ML_Verz(N) Then ...
    Next N


    this should give you the N word from your array

    /me
    Last edited by Jumper; - 30th May 2008 at 16:55.

  10. #10


    Did you find this post helpful? Yes | No

    Default

    Ok


    Thanks Jumper,can I word arrays just increase like this:

    ML_Second var Word[24]
    ML_Alarm var bit [24]
    ML_End_Time var Word [24]

    for S = 0 to 23
    ML_Alarm[S] = 0
    ML_Second[S] = 0
    next S
    ML_End_Time[0] = 10 ' Seconds
    ...
    ...
    ML_End_Time[12] = 1000 ' Seconds
    ...
    ...
    ML_End_Time[23] = 10000 ' Seconds
    .......
    .......
    Tmr0_Int: 'Timer0 = 1 Seconds
    TMR0IF = 0
    for N = 0 to 23
    If ML_Alarm[N]= 1 then ML_Second[N] = ML_Second[N] + 1 'Start the Counter for that ML
    if ML_Second[N] = > ML_End_Time[N] then ML_Alarm[N]= 0: Gosub ......
    Next N
    Resume

    Regards Pesti

  11. #11


    Did you find this post helpful? Yes | No

    Default

    hi

    I found it! the problem was somewhere else .

    All is ok with my word Variables :-)

    Thank you all for help!

    regards Pesti

Similar Threads

  1. EEPROM Variables (EE_Vars.pbp)
    By Darrel Taylor in forum Code Examples
    Replies: 79
    Last Post: - 26th October 2012, 00:06
  2. problem with variable on PIC10f202
    By Samoele in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 26th October 2009, 17:29
  3. SEROUT WORD variable problem
    By Tobias in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 19th April 2009, 11:20
  4. Help with sound command in 2 programs
    By hyperboarder in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 5th July 2007, 20:36
  5. Math Formula / Variable Problem! Help!
    By bwarp in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 18th February 2006, 07:59

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