does anyone have a better way for this


Results 1 to 3 of 3

Threaded View

  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 10:03. Reason: code tags

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