CC1110 Mini 868 Baud rate problem

hi,

The serial output baud rate from my computer was 9600 , how can I set  cc1110 baud rate to 9600 in order to transmit data.
For your information, I'm using AP as Data Hub coding.

Am I suppose to modify the following code:
// Baudrate = 57.6 kbps (UOBAUD.BAUD_M = 34, U0GCR.BAUD_E = 11)

#define UART_BAUD_M  34
#define UART_BAUD_E 11

What should I change for M value and E value to get 9600?
  • Hi

    Please see section 12.14.3 in the CC1110 datasheet for baud rate generation. In this section Table 55 and Table 56 shows the register values for the most common baud rates depending on system clock frequency.

    Below is the table for 26 MHz system clock:

  • In reply to jing ming lien:

    Hello,

    Regarding to the following codes, is it alright doing this way for receiving serial data from computer and transmitting out through CC1110 mini wireless connection?
    FYI, i'm modifying AP as data hub coding. 



    if (token)
    {
    uint8_t noAck;
    smplStatus_t rc;

    /* get radio ready...awakens in idle state */
    SMPL_Ioctl( IOCTL_OBJ_RADIO, IOCTL_ACT_RADIO_AWAKE, 0);

    /* Set TID and designate which LED to toggle */
    msg[1] = ++sTid;
    msg[0] = U0DBUF;toggleLED(1);
    done = 0;
    }

    #pragma vector = URX0_VECTOR
    __interrupt void UART0_RX_ISR(void)
    {

    // Clear UART0 RX Interrupt Flag (TCON.URX0IF = 0)
    URX0IF = 0;

    // Read UART0 RX buffer
    uartRxBuffer[uartRxIndex++] = U0DBUF;

    // If all UART data received, stop this UART RX session
    if (uartRxIndex >= SIZE_OF_UART_RX_BUFFER) {
    uartRxIndex = 0;
    uartPktReceived = 1;
    token=1;
    }
    
    
    ________________________________________________________________________________________

    Based on Access Point , is the following codes functioned properly in order to
     transmit received data to computer by serial input?


    
    
    
    
      */
    if (sPeerFrameSem)
    {
    uint8_t msg[MAX_APP_PAYLOAD], len, i;

    /* process all frames waiting */
    for (i=0; i<sNumCurrentPeers; ++i)
    {
    if (SMPL_SUCCESS == SMPL_Receive(sLID[i], msg, &len))
    {

    processMessage(sLID[i], msg, len);
    BSP_ENTER_CRITICAL_SECTION(intState);
    sPeerFrameSem--;
    BSP_EXIT_CRITICAL_SECTION(intState);
    }
    }
    }

    if (token)
    {
    token = 0;
    uart0StartTxForIsr();
    }


    static void processMessage(linkID_t lid, uint8_t *msg, uint8_t len)
    {
    /* do something useful */
    if (len)
    {
    toggleLED(*msg);
    uartTxBuffer[uartTxIndex++]= *msg;
    if(uartTxIndex >= SIZE_OF_UART_TX_BUFFER)
    {
    uartTxIndex = 0;
    token = 1;toggleLED(1);
    }
    }
    return;
    }

    ________________________________________________________________________________

    I actually faced problem of transmitting/receiving data continuously through cc1110 mini. 
    Anyone can help up in solving the particular problem?