pulsin followed by serin2 problem


Closed Thread
Results 1 to 8 of 8

Hybrid View

  1. #1
    Join Date
    Dec 2003
    Location
    Wichita KS
    Posts
    511


    Did you find this post helpful? Yes | No

    Default

    Hello Scott...

    Thats it...

    you are going SUBROUTINE and instead of branching to the END of the subroutine, you are branching OUT of it with a goto statement!!!

    THAT IS WRONG! (Cruising for a bruising.)...Maybe some others can verify ths for me and you.

    If I were you, I would *always* branch to the Return statement when you are into a Subroutine. Helps clear the stacks and all that good stuff. If I were to place my bet, it would be located here.

    Dwayne

    edit:
    Took another quick look at your code...(very quick)

    Code:
    case else
    return
    
    End select
    I am not sure about this.. Its been a while.. But usually you want your return AFTER the end select...
    Last edited by Dwayne; - 16th September 2005 at 20:55.
    Ability to Fly:
    Hurling yourself towards the ground, and missing.

    Engineers that Contribute to flying:
    Both optimists and pessimists contribute to the society. The optimist invents the aeroplane, the pessimist the parachute

    Pilots that are Flying:
    Those who know their limitations, and respect the green side of the grass...

  2. #2
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    It's amix of many things. One thing scratch my brain
    Code:
    main: 
        input PORTB.0
        input PORTD.4
        gosub xmit_off
        gosub wait_for_t0
    
    wait_for_t0: 
        if portb.0= 0 then wait_for_t0 ' loop until rssi goes high
    Take care of the Gosub / Return use. It's amazing how fast your program can behave weird when using few nested gosubs...

    the following snip is the source of your headache
    Code:
    wait_for_t0: 
        if portb.0= 0 then wait_for_t0 ' loop until rssi goes high
        
        pulsin portd.4,1,PLENGTH1 ' MEASURE TIME C2 IS HIGH AND STORE
        IF PLENGTH1 > 255 AND PLENGTH1 < 270 THEN COUNTPULSes ' 42 usec error allowed
        gosub get_comnd
            ' made into sub routine get_cmnd 
            'serin2 b2,16780,1000,wait_for_t0,[WAIT ("$$"),cmnd] ' get command wait $$ timeout 1 secs added
            'HSEROUT ["debug command = ",dec2 cmnd,13,10]
        GOTO wait_for_t0 
        '
        '
        '    
    get_comnd: 
        serin2 b2,16780,1000,wait_for_t0,[WAIT ("$$"),cmnd] ' get command wait $$ timeout 1 secs added
        HSEROUT ["debug command = ",dec2 cmnd,13,10]
        return
    easy to overflow the stack with this
    Last edited by mister_e; - 17th September 2005 at 19:57.
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  3. #3
    Join Date
    May 2004
    Location
    NW France
    Posts
    3,653


    Did you find this post helpful? Yes | No

    Lightbulb Gosub ...goto

    Hi, Steve

    have a look there : http://www.picbasic.co.uk/forum/showthread.php?t=1952

    I had a similar problem there, It seems that having GOTO',s outgoing and coming back to sub's did not work very well ...
    IF - Then, placed after the GOTO line ( in the sub ...) tests had always "yes" as a result ...
    This was added to a page boundary crossing ... ( worked on a 628, but no more on a 648 !!! )

    The solution for me was to place the program bits in good order ( all sub's at the end of the program and no "main" lines after ...

    Alain
    ************************************************** ***********************
    Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
    ************************************************** ***********************
    IF there is the word "Problem" in your question ...
    certainly the answer is " RTFM " or " RTFDataSheet " !!!
    *****************************************

Similar Threads

  1. Pulsin problem?
    By Skylar in forum mel PIC BASIC
    Replies: 3
    Last Post: - 27th May 2009, 16:40
  2. Serout2 and Serin2 problem
    By MrSafe in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 26th July 2007, 05:33
  3. Pulsin 16F819 problem
    By rekcahlaer in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 11th April 2007, 14:52
  4. a problem RF Signal with PULSIN
    By muskut in forum mel PIC BASIC Pro
    Replies: 6
    Last Post: - 22nd July 2005, 17:42
  5. Serin2 problem on 16F876
    By jrt4fun in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 29th May 2004, 18:24

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