Problem in receiving data: xbee pro s2b

Discussion in 'General Electronics Chat' started by aamirali, Jul 1, 2014.

  1. aamirali

    Thread Starter Member

    Feb 2, 2012
    415
    1
    I have to transfer data between two xbee modules wirelessly.
    I don't have any setup to configure xbee by x-ctu
    I have to configure xbee on the run with the help of microcontroller.
    I am using Xbee Pro S2B.


    1.Since xbee pro s2b don't let to set ""atmy" to I don't understand how to set xbee own address.

    2. Below are code I have used for tx & rx.
    In both codes I am able to configure xbee as per the code. I get ok reeponse from all the commands.
    Tx code transmit data after that. But problem is rx don't receive data??

    I have try to set different destination address of xbee's, same address but no help??


    3. Tx code is below:
    Code ( (Unknown Language)):
    1. void code_tx(void)
    2. {
    3. /*
    4. CPU = 16Mhz
    5. Uart: 9600bps, 8 bits , 1 stop , no parity
    6.  
    7. MCU to XBEE Pro S2b connections: Vcc, Dout,Din,Sleep,GNd
    8.                                  Rest all pins on xbee are unconnected
    9.  
    10.  */
    11.  
    12.  
    13.     XBEE_PIN_WAKEUP();
    14.     wait_delay_us(20000);
    15.    
    16.     while( 'F' == response )
    17.     {
    18.     /* send a dummy character */
    19.         xbee_uart_tx_string((u8_t *)("X"));    
    20.    
    21.     /* guard time */    
    22.         wait_delay_us(3000000);
    23.    
    24.     /* send AT command */    
    25.         xbee_uart_tx_string(("+++"));
    26.         response = xbee_response_ok_check();      
    27.  
    28.         if( 'T' == response )
    29.         {
    30.         /* factory defaukt */
    31.            
    32.             wait_delay_us(200000);              
    33.            
    34.             xbee_uart_tx_string(("atre"));
    35.             xbee_uart_tx_data(0x0d);
    36.             response = xbee_response_ok_check();
    37.         }
    38.  
    39.         if( 'T' == response )
    40.         {
    41.         /* send destination address */
    42.             wait_delay_us(200000);              
    43.            
    44.             xbee_uart_tx_string((u8_t *)("atdh0"));
    45.             xbee_uart_tx_data(0x0d);
    46.             response = xbee_response_ok_check();
    47.         }            
    48.        
    49.         if( 'T' == response )
    50.         {
    51.         /* send destination address */
    52.             wait_delay_us(200000);            
    53.            
    54.             xbee_uart_tx_string("atdlffff"));
    55.             xbee_uart_tx_data(0x0d);
    56.             response = xbee_response_ok_check();
    57.         }    
    58.        
    59.         if( 'T' == response )
    60.         {
    61.         /* send ID address */
    62.             wait_delay_us(200000);            
    63.            
    64.             xbee_uart_tx_string(("atid2244"));
    65.             xbee_uart_tx_data(0x0d);
    66.             response = xbee_response_ok_check();
    67.         }                          
    68.        
    69.         if( 'T' == response )
    70.         {
    71.         /* sleep mode setting */
    72.             wait_delay_us(200000);            
    73.            
    74.             xbee_uart_tx_string(("atsm1"));
    75.             xbee_uart_tx_data(0x0d);
    76.             response = xbee_response_ok_check();
    77.         }            
    78.        
    79.         if( 'T' == response )
    80.         {
    81.         /* write my address in memory */
    82.             wait_delay_us(200000);              
    83.            
    84.             xbee_uart_tx_string(("atd70"));
    85.             xbee_uart_tx_data(0x0d);
    86.             response = xbee_response_ok_check();
    87.         }        
    88.  
    89.         if( 'T' == response )
    90.         {
    91.         /* write my address in memory */
    92.             wait_delay_us(200000);              
    93.            
    94.             xbee_uart_tx_string(("atwr"));
    95.             xbee_uart_tx_data(0x0d);
    96.             response = xbee_response_ok_check();
    97.         }  
    98.        
    99.         if( 'T' == response )
    100.         {
    101.         /* exit AT mode */
    102.             wait_delay_us(200000);            
    103.            
    104.             xbee_uart_tx_string(("atcn"));
    105.             xbee_uart_tx_data(0x0d);
    106.             response = xbee_response_ok_check();
    107.         }            
    108.        
    109.        
    110.     /* if failed then restart */
    111.         if( 'F' == response )
    112.         {
    113.             for(cnt = 0 ; cnt < 100 ; cnt++)
    114.             wait_fine_delay_us_timeout(WAIT_TIMER_PSC_20000_US , WAIT_TIMER_ARR_20000_US);
    115.         }    
    116.        
    117.     }
    118.        
    119. /* SLEEP MODE */
    120.     XBEE_PIN_SLEEP();
    121.  
    122.  
    123.     while(1)
    124.     {
    125.         XBEE_PIN_WAKEUP();
    126.         wait_delay_us(10000);
    127.         xbee_uart_tx_string(("HELLO WORLD"));
    128.         XBEE_PIN_SLEEP();
    129.        
    130.         wait_delay_us(4000000);
    131.        
    132.     }
    133.  
    134.    
    135. }  
    136.  

    3. Rx code is below:

    Code ( (Unknown Language)):
    1. void code_rx(void)
    2. {
    3.  
    4. /*
    5. CPU = 16Mhz
    6. Uart: 9600bps, 8 bits , 1 stop , no parity
    7.  
    8. MCU to XBEE Pro S2b connections: Vcc, Dout,Din,GNd
    9.                                  Rest all pins on xbee are unconnected
    10.  
    11.  */
    12.    
    13.     while( 'F' == response )
    14.     {
    15.     /* send a dummy character */
    16.         xbee_uart_tx_string((u8_t *)("X"));    
    17.    
    18.     /* guard time */    
    19.         wait_delay_us(3000000);
    20.    
    21.     /* send AT command */    
    22.         xbee_uart_tx_string(("+++"));
    23.         response = xbee_response_ok_check();      
    24.  
    25.         if( 'T' == response )
    26.         {
    27.         /* factory defaukt */
    28.            
    29.             wait_delay_us(200000);              
    30.            
    31.             xbee_uart_tx_string(("atre"));
    32.             xbee_uart_tx_data(0x0d);
    33.             response = xbee_response_ok_check();
    34.         }
    35.  
    36.         if( 'T' == response )
    37.         {
    38.         /* send destination address */
    39.             wait_delay_us(200000);              
    40.            
    41.             xbee_uart_tx_string((u8_t *)("atdh0"));
    42.             xbee_uart_tx_data(0x0d);
    43.             response = xbee_response_ok_check();
    44.         }            
    45.        
    46.         if( 'T' == response )
    47.         {
    48.         /* send destination address */
    49.             wait_delay_us(200000);            
    50.            
    51.             xbee_uart_tx_string("atdlffff"));
    52.             xbee_uart_tx_data(0x0d);
    53.             response = xbee_response_ok_check();
    54.         }    
    55.        
    56.         if( 'T' == response )
    57.         {
    58.         /* send ID address */
    59.             wait_delay_us(200000);            
    60.            
    61.             xbee_uart_tx_string(("atid2244"));
    62.             xbee_uart_tx_data(0x0d);
    63.             response = xbee_response_ok_check();
    64.         }                          
    65.        
    66.         if( 'T' == response )
    67.         {
    68.         /* write my address in memory */
    69.             wait_delay_us(200000);              
    70.            
    71.             xbee_uart_tx_string(("atwr"));
    72.             xbee_uart_tx_data(0x0d);
    73.             response = xbee_response_ok_check();
    74.         }  
    75.        
    76.         if( 'T' == response )
    77.         {
    78.         /* exit AT mode */
    79.             wait_delay_us(200000);            
    80.            
    81.             xbee_uart_tx_string(("atcn"));
    82.             xbee_uart_tx_data(0x0d);
    83.             response = xbee_response_ok_check();
    84.         }            
    85.        
    86.        
    87.     /* if failed then restart */
    88.         if( 'F' == response )
    89.         {
    90.             for(cnt = 0 ; cnt < 100 ; cnt++)
    91.             wait_fine_delay_us_timeout(WAIT_TIMER_PSC_20000_US , WAIT_TIMER_ARR_20000_US);
    92.         }    
    93.        
    94.     }
    95.  
    96.  
    97.     while(1)
    98.     {
    99.         xbee_response_check();
    100.        
    101.     }
    102.  
    103.    
    104. }  
     
  2. aamirali

    Thread Starter Member

    Feb 2, 2012
    415
    1
    any help on that
     
Loading...