does anyone have a better way for this


Closed Thread
Results 1 to 3 of 3
  1. #1
    Join Date
    Aug 2011
    Posts
    20

    Default does anyone have a better way for this

    i'm going to use a rotary encoder for RF channel selection, once the encoder is read for the channel number, i have to write 8 different bytes for each frequency to the tranceiver. they are sent with the MSSP, which i have never used. Just wondering if anyone has a better way? and if anyone can tell me how they make the code show up in the little window instead of with all this text that would be kool to!
    Code:
    SEND_TO_TRANS:
    
    FOR CNT = 0 TO PACKETCOUNT
     SSP1BUF = TRANSTXPACKET[CNT]       ' TRANSFER TX DATA PACKET TO THE SSP1 BUFFER
       IF SSP1CON1.7 = 1 THEN TXERROR   ' CHECK SSP1CON1.7 TO SEE IF A WRITE COLLISION HAPPENED
      WHILE SSP1STAT.0 = 0 
       PAUSEUS 2                        ' LOOK TO SEE IF SSP1STAT.0 IS A 1 - 1 = RECEIVE COMPLETE 0 = RECEIVE NOT COMPLETE
      WEND
     TRANSRXPACKET[CNT] = SSP1BUF       ' TRANSFER SSP1 BUFFER TO THE RX'ED DATA PACKET
    NEXT
    PACKETCOUNT = 0
    GOTO MAIN1
    
    FINDCHANNEL:
    CHANNEL.0 = CHANNELPIN0
    CHANNEL.1 = CHANNELPIN1
    CHANNEL.2 = CHANNELPIN2
    CHANNEL.3 = CHANNELPIN3
    IF CHANNEL = STORED_CHANNEL THEN GOTO MAIN1
    
    STORED_CHANNEL = CHANNEL
    
    SET_CHANNEL:
    
    FOR CNT = 0 TO 7 
      ON CHANNEL GOTO LOADCHNL0,LOADCHNL1,LOADCHNL2,LOADCHNL3,LOADCHNL4,LOADCHNL5,LOADCHNL6,LOADCHNL7,LOADCHNL8,LOADCHNL9
       SET_CHANNELB:
      NEXT
     PACKETCOUNT = 7
    GOTO DONE_LOADING
    
    '*******************************************************************************
    
    LOADCHNL0:
    LOOKUP CNT,[GCONREG,GCONREG_RXCH0TO4,R1CREG,R1CREG_CH0,P1CREG,P1CREG_CH0,S1CREG,S1CREG_CH0],TEMP
    TRANSTXPACKET[CNT] = TEMP
    GOTO SET_CHANNELB
    
    '*******************************************************************************
    
    LOADCHNL1:
    LOOKUP CNT,[GCONREG,GCONREG_RXCH0TO4,R1CREG,R1CREG_CH1,P1CREG,P1CREG_CH1,S1CREG,S1CREG_CH1],TEMP
    TRANSTXPACKET[CNT] = TEMP
    GOTO SET_CHANNELB
    
    '*******************************************************************************
    
    LOADCHNL2:
    LOOKUP CNT,[GCONREG,GCONREG_RXCH0TO4,R1CREG,R1CREG_CH2,P1CREG,P1CREG_CH2,S1CREG,S1CREG_CH2],TEMP
    TRANSTXPACKET[CNT] = TEMP
    GOTO SET_CHANNELB
    
    '*******************************************************************************
    
    LOADCHNL3:
    LOOKUP CNT,[GCONREG,GCONREG_RXCH0TO4,R1CREG,R1CREG_CH3,P1CREG,P1CREG_CH3,S1CREG,S1CREG_CH3],TEMP
    TRANSTXPACKET[CNT] = TEMP
    GOTO SET_CHANNELB
    
    '*******************************************************************************
    
    LOADCHNL4:
    LOOKUP CNT,[GCONREG,GCONREG_RXCH0TO4,R1CREG,R1CREG_CH4,P1CREG,P1CREG_CH4,S1CREG,S1CREG_CH4],TEMP
    TRANSTXPACKET[CNT] = TEMP
    GOTO SET_CHANNELB
    
    '*******************************************************************************
    
    LOADCHNL5:
    LOOKUP CNT,[GCONREG,GCONREG_RXCH5TO9,R1CREG,R1CREG_CH5,P1CREG,P1CREG_CH5,S1CREG,S1CREG_CH5],TEMP
    TRANSTXPACKET[CNT] = TEMP
    GOTO SET_CHANNELB
    
    '*******************************************************************************
    
    LOADCHNL6:
    LOOKUP CNT,[GCONREG,GCONREG_RXCH5TO9,R1CREG,R1CREG_CH6,P1CREG,P1CREG_CH6,S1CREG,S1CREG_CH6],TEMP
    TRANSTXPACKET[CNT] = TEMP
    GOTO SET_CHANNELB
    
    '*******************************************************************************
    
    LOADCHNL7:
    LOOKUP CNT,[GCONREG,GCONREG_RXCH5TO9,R1CREG,R1CREG_CH7,P1CREG,P1CREG_CH7,S1CREG,S1CREG_CH7],TEMP
    TRANSTXPACKET[CNT] = TEMP
    GOTO SET_CHANNELB
    
    '*******************************************************************************
    
    LOADCHNL8:
    LOOKUP CNT,[GCONREG,GCONREG_RXCH5TO9,R1CREG,R1CREG_CH8,P1CREG,P1CREG_CH8,S1CREG,S1CREG_CH8],TEMP
    TRANSTXPACKET[CNT] = TEMP
    GOTO SET_CHANNELB
    
    '*******************************************************************************
    
    LOADCHNL9:
    LOOKUP CNT,[GCONREG,GCONREG_RXCH5TO9,R1CREG,R1CREG_CH9,P1CREG,P1CREG_CH9,S1CREG,S1CREG_CH9],TEMP
    TRANSTXPACKET[CNT] = TEMP
    GOTO SET_CHANNELB
    
    '*******************************************************************************
    
    DONE_LOADING:
    CNT = 0
    GOTO SEND_TO_TRANS
    Last edited by mackrackit; - 12th September 2011 at 11:03. Reason: code tags

  2. #2
    Join Date
    Nov 2003
    Location
    Wellton, U.S.A.
    Posts
    5,924


    Did you find this post helpful? Yes | No

    Default Re: does anyone have a better way for this

    Not sure that I have a solution for the first question but the second..

    Place your code in between:
    [ code] code goes here [ /code]

    Just remove the spaces in the tags.
    Dave
    Always wear safety glasses while programming.

  3. #3
    Join Date
    Aug 2011
    Posts
    20


    Did you find this post helpful? Yes | No

    Default Re: does anyone have a better way for this

    thanks code the code tags i will remember it from now on and at least no one is laughing at the code

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