How to design 433 MHz RF Tx Rx pair which will opperate when other 433Mhz remote opperating

Discussion in 'Wireless & RF Design' started by yatindeshpande77, Dec 25, 2015.

  1. yatindeshpande77

    Thread Starter Member

    Dec 20, 2015
    38
    0
    I have a problem now, I designed RF tx rx of 433 Mhz with cheap modules available on stores ST-TX01-ASK and ST-RX01-ASK but when i use any of my other available old RF remote and press both remote simultaneously not any one of my output device operate, I have to press both remote one by one, I know it happens due to both of my device opperate on same band and my RX AGC take both signal as input signal which conflict my resultant input and that makes no sence to decoder causing no output or else if i am without decoder it will give random value!
    So is there any way to make both of them opperate I want to make 10 such systems which will need to operate simultaneously!
    So is it possible with my simplex communication technique?
    any help will be appreciated!
    Thanks in advance!
     
  2. nerdegutta

    Moderator

    Dec 15, 2009
    2,515
    785
    Hi.

    It sounds to me that the transmitters interfere with each other, which "confuse" the receivers.

    To get better answers, I advice you to upload your schematics, both transmitter and receiver, and you source codes. If you do so, please use the CODE-tags, located in the top menu of the editor.
     
  3. yatindeshpande77

    Thread Starter Member

    Dec 20, 2015
    38
    0
    RECEIVER:-
    Code (C):
    1. #include "INCLUDES.h"
    2.  
    3. //----------------------------Configuration Bits--------------------------------
    4. __CONFIG(FOSC_INTRC_NOCLKOUT & WDTE_OFF & PWRTE_OFF & MCLRE_ON & CP_OFF & CPD_OFF & BOREN_ON & IESO_OFF & FCMEN_OFF & LVP_OFF);
    5. __CONFIG(BOR4V_BOR21V & WRT_OFF);
    6.  
    7. int cnt,A;
    8. static unsigned int blink_count=0, speed_delay=0, debounce_delay=0;
    9. static BOOL query_started=FALSE;
    10. static unsigned char j=0;
    11. unsigned char ch=0, input_query[10]={'0','0','0','0','0','0','0','0','0','0'};
    12. BOOL query_recd=FALSE;
    13. volatile unsigned long count=0;
    14. void InitializeSystem(void);
    15.  
    16. void interrupt isr(void)
    17. {
    18.    
    19.  
    20.     if((PIR1bits.RCIF==1)&&(PIE1bits.RCIE==1))
    21.        {  ch = RCREG;
    22. /*------------------------------------------------------------------------------
    23. * First, take the data received into a temporary variable(ch). If the character
    24. * received is '#', it indicates start of string. In this case, start taking the
    25. * data into the string variable.
    26. ------------------------------------------------------------------------------*/
    27.      NOP();
    28.       PIR1bits.RCIF = 0;
    29.    }
    30. }
    31. void main(void)
    32. {
    33.     InitializeSystem();
    34.  
    35.     __delay_ms(10);
    36.  
    37.     while(1)
    38.     {
    39.          if((ch=='#')&&(query_started==FALSE))
    40.       {  query_started = TRUE;
    41.          NOP();
    42.          NOP();
    43.          NOP();
    44.          NOP();
    45. //        return;                          //Return after receiving '#'.
    46.       }
    47.  
    48.       if(query_started==TRUE)
    49.       {
    50.         if(ch=='#')
    51.             {
    52.                 NOP();
    53.             }
    54.  
    55.         else
    56.             {
    57.                 /*------------------------------------------------------------------------------
    58.                 * Sometimes, junk characters are received at the serial port. If these characters
    59.                 * are put into the string variable, it unnecessarily inflates the variable which
    60.                 * causes the microcontroller's stack to overflow. To avoid this, if the string
    61.                 * length goes above 20 characters, it is discarded. It is observed that the
    62.                 * junk data appears in between two queries and not in the middle of a single
    63.                 * query.
    64.                 ------------------------------------------------------------------------------*/
    65.                 if(j<6)
    66.                 {      input_query[j] = ch;
    67.                     if((input_query[j]=='*')&&(query_started==TRUE))
    68.                     {
    69.                         /*------------------------------------------------------------------------------
    70.                         * If the character received is '*', it indicates that the string has ended. Tell
    71.                         * the microcontroller that a valid string has been received by making the
    72.                         * query_recd variable TRUE.
    73.                         ------------------------------------------------------------------------------*/
    74.                         j = 0;
    75.                         query_recd = TRUE;
    76.                         query_started = FALSE;
    77.                         return;
    78.                     }
    79.                     j++;
    80.                 }
    81.                 else
    82.                 {      j = 0;
    83.                     query_started = FALSE;
    84.                 }
    85.             }
    86.  
    87.       }
    88.         if( query_recd == TRUE )
    89.              {
    90.                         query_recd = FALSE;
    91.                         test_led = 1;
    92.                         count++;
    93.                         //__delay_ms(1000);
    94.                         test_led = 0;
    95.                  
    96.                 }
    97.    }
    98. }
    99. void InitializeSystem(void)
    100. {
    101.     OSCCON = 0b01111110;  // INTERNAL 8 MHZ
    102.  
    103.        OPTION_REG = 0b11000000;
    104.        //             1-------> (RBPU) PORTB pullups are disabled.
    105.        //             -1------> (INTEDG) Interrupt on rising edge.
    106.        //             --0-----> (T0CS) TIMER0 clock source is FOSC/4;
    107.        //             ---0----> (T0SE) Ignored when T0CS is '0'.
    108.        //             ----0---> (PSA) Prescalar is assigned to TIMER0.
    109.        //             -----000> (PS<2:0>) Prescalar is 1:2.
    110.  
    111.        ANSEL = 0x00;
    112.        ANSELH = 0x00;
    113.  
    114.     PORTB = 0x00;
    115.     TRISB = 0x00;
    116.     PORTA = 0x00;
    117.     TRISA = 0x00;
    118.  
    119.  
    120. /*               //All pins digital.
    121.        TRISCLOCK_4017 = 0;                   //Output.
    122.        TRISRESET_4017 = 0;                   //Output.
    123.        TRISSH_CP = 0;                        //Output.
    124.        TRISST_CP = 0;                        //Output.
    125.        TRISDATA_74595 = 0;                   //Output.
    126.        TRISSENSOR_IP = 1;                    //Input.
    127.        TRISSW_EXIT = 1;                      //Input.
    128.        TRISEXT_RST_IP = 1;                   //Input.
    129.        TRISPOWERDOWN_IP = 1;                 //Input.
    130. */
    131.  
    132.     TRIStest_led = 0;
    133.  
    134.     test_led = 0;
    135.  
    136.     TRISUART_RX = 1;                        //Necessary for serial communication.
    137.        TRISUART_TX = 1;                        //Necessary for serial communication.
    138.        TRISUART_485_EN = 0;                    //Output.
    139.  
    140.        UART_485_EN = 0;
    141.  
    142.  
    143. /*------------------------------------------------------------------------------
    144. * UART is used for RS485 communication.
    145. ------------------------------------------------------------------------------*/
    146.        TXSTA = 0b00100100;
    147.        //        0-------> (CSRC) Ignored in asynchronous mode.
    148.        //        -0------> (TX9) Select 8 bit transmission.
    149.        //        --1-----> (TXEN) Enable transmitter.
    150.        //        ---0----> (SYNC) Select asynchronous mode.
    151.        //        ----0---> (SENDB) Sync break transmission completed.
    152.        //        -----1--> (BRGH) High speed baud rate selected.
    153.        //        ------0-> (TRMT) Read only bit.
    154.        //        -------0> (TX9D) Ignored in 8 bit transmission mode.
    155.  
    156.        BAUDCTL = 0b00000000;
    157.        //          0-------> (ABDOVF) Read only bit.
    158.        //          -0------> (RCIDL) Read only bit.
    159.        //          --0-----> (Unimplemented).
    160.        //          ---0----> (SCKP) Transmit data is non-inverted.
    161.        //          ----0---> (BRG16) Use 8 bit baud rate generator.
    162.        //          -----0--> (Unimplemented).
    163.        //          ------0-> (WUE) Receiver is acting normally.
    164.        //          -------0> (ABDEN) Auto Baud rate detect is disabled.
    165.  
    166. /*------------------------------------------------------------------------------
    167. * We have selected high speed baud rate. The formula for high speed baud rate
    168. * calculation is:
    169. * Baud Rate = (FOSC/(16(n+1))).
    170. * Where, Baud Rate = Baud Rate in bits/second.(e.g. 9600).
    171. *        FOSC = Oscillator Frequency in Hz.(e.g. 12000000).
    172. *        n = The value to be loaded in the SPBRGH:SPBRG registers.
    173. * According to this formula, n comes to be 78. This value is accomodable in 8
    174. * bits. So, we have taken 8 bit baud rate generator. In this mode, the SPBRGH
    175. * is ignored.
    176. ------------------------------------------------------------------------------*/
    177.        RCSTA = 0b10010000;
    178.        //        1-------> (SPEN) Enable serial port.
    179.        //        -0------> (RX9) Select 8 bit transmission.
    180.        //        --0-----> (SREN) Ignored in asynchronous mode.
    181.        //        ---1----> (CREN) Enable receiver.
    182.        //        ----0---> (ADDEN) Disable address detection.
    183.        //        -----0--> (FERR) Read only bit.
    184.        //        ------0-> (OERR) Read only bit.
    185.        //        -------0> (RX9D) Read only bit.
    186.  
    187.        SPBRG = 1666;                         //300 baud rate
    188.  
    189.        INTCONbits.T0IE = 0;                  //TIMER0 interrupts enabled.
    190.     PIE1bits.RCIE = 1;                      //Enable serial interrupts.
    191.        INTCONbits.INTE = 0;                  //Enable external(powerdown) interrupt.
    192.        INTCONbits.PEIE = 1;
    193.     INTCONbits.GIE = 1;                   //Global interrupts enabled.
    194. }
    195.  
    TRANSMITTER:-
    Code (C):
    1. /*------------------------------------------------------------------------------
    2. * Program for:   RF TX.
    3. ------------------------------------------------------------------------------*/
    4.  
    5. #include "INCLUDES.h"
    6.  
    7. //----------------------------Configuration Bits--------------------------------
    8. __CONFIG(FOSC_INTRC_NOCLKOUT & WDTE_OFF & PWRTE_ON & MCLRE_ON & CP_ON & CPD_ON & BOREN_ON & IESO_OFF & FCMEN_OFF & LVP_OFF);
    9. __CONFIG(BOR4V_BOR21V & WRT_OFF);
    10.  
    11. int cnt=0,cnt1=0,abc=0;
    12. unsigned char ch[20], str[30];
    13. BOOL query_recd=FALSE;
    14. void InitializeSystem(void);
    15. void WriteStringUSART(unsigned char *);
    16. void interrupt isr(void)
    17. {
    18.    // A=INTCON;
    19.     //if(0xA4)
    20.     if((INTCONbits.T0IF==1)&&(INTCONbits.T0IE==1))
    21.         {
    22.             INTCONbits.T0IF = 0;
    23.             TMR0 = 68;
    24.             cnt1++;
    25.         }
    26. }
    27. void main(void)
    28. {
    29.  
    30.     InitializeSystem();
    31.  
    32.     __delay_ms(100);
    33.     LED = 0;
    34.     //cnt1=123;
    35.     while(1)
    36.     {
    37.         if (cnt1>=1000)
    38.         {
    39.          
    40.             //cnt1=123;
    41.             sprintf(str,"##AA%03d*",cnt);    //
    42.             UART_485_EN = 1;
    43.             __delay_ms(15);
    44.             WriteStringUSART(str);
    45.             __delay_ms(10);
    46.             LED = 1;
    47.             UART_485_EN = 0;
    48.             //
    49.             cnt++;
    50.             if(cnt>999)
    51.                 {
    52.                     cnt = 0;
    53.                 }
    54.          
    55.          
    56.             __delay_ms(10);
    57.             LED = 0;
    58. //            __delay_ms(10000);
    59.          
    60.         }
    61.      
    62.      
    63.         {            
    64.             UART_485_EN = 1;
    65.             __delay_ms(15);
    66.             sprintf(str,"555");
    67.             WriteStringUSART(str);
    68.             __delay_ms(25);
    69.             UART_485_EN = 0;
    70.         }
    71.      
    72.     }
    73. }
    74. void InitializeSystem(void)
    75. {
    76.     OSCCON = 0b01111110;  // INTERNAL 8 MHZ
    77.  
    78.     OPTION_REG = 0b11000000;
    79.        //             1-------> (RBPU) PORTB pullups are disabled.
    80.        //             -0------> (INTEDG) Interrupt on rising edge.
    81.        //             --0-----> (T0CS) TIMER0 clock source is FOSC/4;
    82.        //             ---0----> (T0SE) Ignored when T0CS is '0'.
    83.        //             ----0---> (PSA) Prescalar is assigned to TIMER0.
    84.        //             -----100> (PS<2:0>) Prescalar is 1:2.
    85.  
    86.        ANSEL = 0x00;
    87.        ANSELH = 0x00;                        //All pins digital.
    88.  
    89.        TRISCLOCK_4017 = 0;                   //Output.
    90.        TRISRESET_4017 = 0;                   //Output.
    91.        TRISSH_CP = 0;                        //Output.
    92.        TRISST_CP = 0;                        //Output.
    93.        TRISDATA_74595 = 0;                   //Output.
    94.        TRISSENSOR_IP = 1;                    //Input.
    95.        TRISSW_EXIT = 1;                      //Input.
    96.        TRISEXT_RST_IP = 1;                   //Input.
    97.        TRISPOWERDOWN_IP = 1;                 //Input.
    98.  
    99.     TRISUART_RX = 1;                        //Necessary for serial communication.
    100.        TRISUART_TX = 1;                        //Necessary for serial communication.
    101.        TRISUART_485_EN = 0;                    //Output.
    102.  
    103.     TRISLED = 0;
    104.  
    105.        UART_485_EN = 0;
    106.  
    107.  
    108. /*------------------------------------------------------------------------------
    109. * UART is used for RS485 communication.
    110. ------------------------------------------------------------------------------*/
    111.        TXSTA = 0b00100100;
    112.        //        0-------> (CSRC) Ignored in asynchronous mode.
    113.        //        -0------> (TX9) Select 8 bit transmission.
    114.        //        --1-----> (TXEN) Enable transmitter.
    115.        //        ---0----> (SYNC) Select asynchronous mode.
    116.        //        ----0---> (SENDB) Sync break transmission completed.
    117.        //        -----1--> (BRGH) High speed baud rate selected.
    118.        //        ------0-> (TRMT) Read only bit.
    119.        //        -------0> (TX9D) Ignored in 8 bit transmission mode.
    120.  
    121.        BAUDCTL = 0b00000000;
    122.        //          0-------> (ABDOVF) Read only bit.
    123.        //          -0------> (RCIDL) Read only bit.
    124.        //          --0-----> (Unimplemented).
    125.        //          ---0----> (SCKP) Transmit data is non-inverted.
    126.        //          ----0---> (BRG16) Use 8 bit baud rate generator.
    127.        //          -----0--> (Unimplemented).
    128.        //          ------0-> (WUE) Receiver is acting normally.
    129.        //          -------0> (ABDEN) Auto Baud rate detect is disabled.
    130. /*------------------------------------------------------------------------------
    131. * We have selected high speed baud rate. The formula for high speed baud rate
    132. * calculation is:
    133. * Baud Rate = (FOSC/(64(n+1))).
    134. * Where, Baud Rate = Baud Rate in bits/second.(e.g. 9600).
    135. *        FOSC = Oscillator Frequency in Hz.(e.g. 12000000).
    136. *        n = The value to be loaded in the SPBRGH:SPBRG registers.
    137. * According to this formula, n comes to be 78. This value is accomodable in 8
    138. * bits. So, we have taken 8 bit baud rate generator. In this mode, the SPBRGH
    139. * is ignored.
    140. ------------------------------------------------------------------------------*/
    141.        RCSTA = 0b10010000;
    142.        //        1-------> (SPEN) Enable serial port.
    143.        //        -0------> (RX9) Select 8 bit transmission.
    144.        //        --0-----> (SREN) Ignored in asynchronous mode.
    145.        //        ---1----> (CREN) Enable receiver.
    146.        //        ----0---> (ADDEN) Disable address detection.
    147.        //        -----0--> (FERR) Read only bit.
    148.        //        ------0-> (OERR) Read only bit.
    149.        //        -------0> (RX9D) Read only bit.
    150.  
    151.        SPBRG = 207;
    152.  
    153.     //TMR0         = 68;
    154.        INTCONbits.T0IE = 0;                  //TIMER0 interrupts enabled.
    155.     PIE1bits.RCIE = 0;                    //Enable serial interrupts.
    156.        INTCONbits.INTE = 0;                  //Enable external(powerdown) interrupt.
    157.        INTCONbits.PEIE = 1;
    158.     INTCONbits.GIE = 1;                   //Global interrupts enabled.
    159. }
    160.  
    161. /*------------------------------------------------------------------------------
    162. * Function:        void WriteStringUSART(unsigned char *ptr_str)
    163. * PreCondition:    Serial transmission must be initialized and configured.
    164. * Input:           Pointer to the string to be transmitted on serial port.
    165. * Output:          None
    166. * Side Effects:    None
    167. * Overview:        This function transmits a string on the serial port.
    168. * Note:            None
    169. ------------------------------------------------------------------------------*/
    170. void WriteStringUSART(unsigned char *ptr_str)
    171. {  do
    172.    {  while(TXSTAbits.TRMT==0)         //Check if the transmit buffer is empty.
    173.       {//If transmit buffer is full, remain here and don't send next character.
    174.       }
    175.       TXREG = 'F';
    176.       *ptr_str++;
    177.    }while(*ptr_str);
    178. }
    179.  
    And I am connecting my transmitter and receiver directly to those modules on serial line!
    Yes absolutely, they are appearing on same time at my receiver causing conflict at it so it dont recognize both my signal!
    That's where i need help is any option that can make this possible other than designing my own oscillator and filter to modulate data and send it in air or using transceiver making time division with duplex communication!

    Mod note: added code tags.
     
    Last edited by a moderator: Dec 29, 2015
  4. MikeML

    AAC Fanatic!

    Oct 2, 2009
    5,450
    1,066
    The receivers in the inexpensive 433MHz modules are very simple. They use only a single tuned LC super-regenerative detector circuit that resonates at the operating frequency to select which signal they respond to. The bandwidth of the LC resonance curve is several MHz wide, so unfortunately, they respond to ANY low power transmission within +- 2MHz, and can be blocked by a high power transmitter up to +- 20Mhz...

    I know this because I am a Ham Radio Operator, and am licensed to transmit up to 1000W anywhere in the 420 to 450Mhz band, which includes the 433MHz signaling devices. If I transmit anywhere between 440 and 450MHz at a power level of 25W, my 433MHz weather station stops receiving its remote sensors...

    The reason that these modules are so cheap is because they are so bad...

    When the ISM bands (315MHz and 433MHz) were created by the government regulators, continuous transmissions were not allowed, only short bursts with low duty cycles, exactly because of the problem you have discovered. By transmitting continuously, you not only interfere with your own receivers, you are effectively blocking the frequency so that your neighbor's devices (garage door remote operators, remote thermometers, door bells, etc cannot work .

    Your only hope is to make very short transmissions (packets) from each transmitter, and to stagger (interlace) the transmissions to that they are sent in the clear. You will occasionally suffer a collision from an unrelated transmitter (your neighbor's equipment) over which you have no control.

    It is very instructive to use a sensitive, tuneable narrow-band receiver and listen while tuning around 443.9 MHz. You will be amazed at how many short bursts of transmissions you will receive, especially in a high-density urban neighborhood...
     
    thumb2 and absf like this.
  5. nerdegutta

    Moderator

    Dec 15, 2009
    2,515
    785
    You can add a transistor to you transmitter circuits, to activate/ deactivate the transmitter modules, to get the small "burst" @MikeML is talking about.

    If I understand your initial post right, you are now trying without the RF modules, and connecting the circuits together with wires. Please check that you connected TX from the transmitter circuit to RX on the receiver circuit.

    When that is checked, please show how you got the SPBRG values.

    ...and upload the schematics...
     
  6. yatindeshpande77

    Thread Starter Member

    Dec 20, 2015
    38
    0
    I have to visit a plant tomorrow which is using RF communication for wireless operation.
    They are using 6 RF 433 mhz module of following type
    http://www.amazon.in/IC2262-2272-Wi...8&qid=1451368189&sr=8-1&keywords=2262/2272+rf
    All those 6 modules are separated with each other by 10 meters and TX & RX pair has 2 meter distance here all the 6 modules are set to diff address!
    Now the problem is all those modules transmitting signal in continuous fashion not in burst signals, and it is causing problem as module away with 10 meter causing interference in operation with other transmitter!
    So i have to decrease range of those modules to reduce its interference, how can i do that???
    I removed antenna of transmitter still it has providing sufficient range!!!
    I removed that 12V 23A battery and replace it ith simple 9V battery still it is providing that much range!!!
    Any one having other solutions?
    Can after doing both of above if I make a metal casing to transmitter will it work as that case will suppress signal?
    Can i reduce sensitivity of RX?
    Any suggestion could solve my problem, so please reply!
     
  7. yatindeshpande77

    Thread Starter Member

    Dec 20, 2015
    38
    0
    Posting here as I directed by administrator,
    1. I am not using it in house hold application I am using it in industry which hase a huge area so it wont affect any other person out of industry so it wont affect in violation of rules!
    2. I joined this firm and the plant where this system is implemented is our client, and the system is implemented already so I cant tell my boss to take that whole system back i will change rf use and then change my code and then we will give them back!
    3. I just want to make sure that the transmitter dont interfare with other receiver, I am ready to make artificial obstacles like placing metal shit, not using antenna like this to reduce his range, I know it is not ideal way but I just need to fix that for that system, (I will take care those rules for next system that I will design
    4. Please dont take me in wrong way but I didnt desging that system but I have to fix it in one day so pressure is on me and I can only make 'JUGAAD' on this thats all!
     
  8. yatindeshpande77

    Thread Starter Member

    Dec 20, 2015
    38
    0
    I maded those as different threads because those two were my different projects and i dont want some one to misunderstand that both are same 1st post can be fixed in ideal ways where as for last post I need to just make a fix thats all!
     
    Last edited: Dec 29, 2015
  9. nerdegutta

    Moderator

    Dec 15, 2009
    2,515
    785
    If the distance is short, use wires. Then tell management that the RF solution is not good, and that you are designing a new system, which will eliminate the errors you are encountering now. The members of this forum will guide you - but you need to elaborate a lot about the project.

    My .02c

    The transmitters should not be transmitting continuously, as this violates the regulations for this frequency, no matter where they are.
     
  10. yatindeshpande77

    Thread Starter Member

    Dec 20, 2015
    38
    0
    It is not actually continuously but it is not in burst pulses form means when he connect switch it is nearly connected for 5 to 8 sec and then he disconnect it means it transmitts signal for max 8 sec but problem is it doesn't make packetizing and all, so is that acceptable?
     
  11. yatindeshpande77

    Thread Starter Member

    Dec 20, 2015
    38
    0
    sorry but cant use wire there, need to be wireless to them!
     
  12. yatindeshpande77

    Thread Starter Member

    Dec 20, 2015
    38
    0
    Hi friends,
    I am wondering that can NRF24L01 communicate with multiple receivers?
    As I read following thing in its datasheet
    So can I solve my above problem using it?
     
  13. ericgibbs

    Senior Member

    Jan 29, 2010
    2,499
    380
    hi,
    The NRF has 'Pipes' and also a number of channels which enable it to 'talk' to all or different transceivers.

    Look at the 'Pipes' description in the NRF datasheet.

    E
     
  14. yatindeshpande77

    Thread Starter Member

    Dec 20, 2015
    38
    0
    Thanks for this excellent tutorial I think thats what I needed it will give me a great start with NRF24L01.
     
  15. MikeML

    AAC Fanatic!

    Oct 2, 2009
    5,450
    1,066
    So you are excusing a piss-poor design that is in clear violation of broadcasting rules, even in India...
     
  16. yatindeshpande77

    Thread Starter Member

    Dec 20, 2015
    38
    0
    MikeML first of all sorry for my post before!
    I didnt mean that, I was just saying my this operation wont interfare or hert any one else near to my firm as my signal will lost his strength with distance and it gives range of 50meter and no RF module opperating till 500 meter in radius!! I dont want to defend my mistake, I will soon switch this technology now, cause I didnt implemented it, it was implemented there now they have problem so they come to our firm to solve that thats all!
     
  17. yatindeshpande77

    Thread Starter Member

    Dec 20, 2015
    38
    0
    Hey guys May be it looks like foolish but as we have to set registers and all for 24l01 do we need separate burner too or are we deal with it using SPI of uC only?
     
  18. ericgibbs

    Senior Member

    Jan 29, 2010
    2,499
    380
    hi,
    I do not fully understand your question.?
    The NRF 'talks' to the MCU/PIC using SPI.

    E
     
  19. yatindeshpande77

    Thread Starter Member

    Dec 20, 2015
    38
    0
    Yep thanks got my answer
     
Loading...