Is this a valid statement?


+ Reply to Thread
Results 1 to 9 of 9
  1. #1
    Join Date
    Oct 2008
    Posts
    52

    Default Is this a valid statement?

    for digit = 0 to 6
    lookup digit,(4,5,9,10,6,2,3), portb

    I know you can put the number in a var but can you "stick" on portb this way?

    Thanks, Don

  2. #2
    Join Date
    Apr 2005
    Location
    Virginia
    Posts
    65

    Default

    dbachman,

    I haven't played with lookup in a while, but according to the manual, no. I assume you're trying to set the pins on portb high and low according to the value of digit. I haven't tested this, but try something like:

    Code:
    for digit = 0 to 6
         lookup digit, (4, 5, 9, 10, 6, 2, 3), portb_out
         portb = portb_out
    next digit
    I'm not sure if you need the for loop or not, depending on what you're trying to do. If this doesn't work, let me know and we can get a little more 'creative'.

    -Tony

  3. #3
    Join Date
    Jan 2006
    Location
    Istanbul
    Posts
    1,179

    Default

    Quote Originally Posted by dbachman View Post
    for digit = 0 to 6
    lookup digit,(4,5,9,10,6,2,3), portb

    I know you can put the number in a var but can you "stick" on portb this way?

    Thanks, Don
    Yes, it will work (TRISB = 0)
    Also,

    READ (Temp DIG X),PORTB
    Or
    POT Pin,255,PORTB
    or
    ADCIN 0, PORTB


    they all work.
    "If the Earth were a single state, Istanbul would be its capital." Napoleon Bonaparte

  4. #4
    Join Date
    Apr 2005
    Location
    Virginia
    Posts
    65

    Default

    Okay, I feel like a dolt, but at least I learned something today. Thanks Sayzer.

  5. #5
    Join Date
    Oct 2008
    Posts
    52

    Default

    Thanks guys, I haven't tried it yet but I will here in the very near future.

    Don

  6. #6
    Join Date
    Mar 2008
    Posts
    57

    Default Re: Is this a valid statement?

    Can anyone tell me why this does not work:

    if var8 = 1 then goto beper : J = 3

    The if statement works but J does not = 3 ?

  7. #7
    Join Date
    Oct 2005
    Location
    Sweden
    Posts
    3,285

    Default Re: Is this a valid statement?

    The J=3 statement isn't executed when VAR8=1 because you're telling to jump to beper.

    If you want to set J=3 when the IF statement is true then
    Code:
    IF var8 = 1 then
      J=3
      Goto beper
    ENDIF
    or simply move J=3 to after the beper label in your program.

    /Henrik.

  8. #8
    Join Date
    Mar 2003
    Location
    Commerce Michigan USA
    Posts
    1,162

    Default Re: Is this a valid statement?

    You are exiting the code and jumping to a label "beper". The statement j=3 is never getting executed the way you have written it. If "beper was a subroutine (ie GOSUB beper) then it would be returned to after executing and, set j=3 as the next statement.
    Dave Purola,
    N8NTA
    EN82fn

  9. #9
    Join Date
    Mar 2008
    Posts
    57

    Default Re: Is this a valid statement?

    Thank you, that fixes my problem.

Similar Threads

  1. 16F883 and Problems with HIGH statement
    By aaanekre in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 29th October 2009, 02:09
  2. END Statement
    By jderson in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 9th November 2008, 15:48
  3. SERIN AND SEROUT PROBELM USING 16f690 PIC
    By Charles in forum mel PIC BASIC Pro
    Replies: 13
    Last Post: - 18th January 2007, 04:59
  4. Is "PAUSE 0" a valid command
    By keithdoxey in forum mel PIC BASIC Pro
    Replies: 6
    Last Post: - 19th July 2006, 16:39
  5. getting around the basic IF - THEN statement
    By dw_pic in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 7th February 2006, 15:10

Posting Permissions

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