This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2640 How use UART driver in POWER_SAVING mode

Other Parts Discussed in Thread: CC2640

I've got a problem in using UART driver,

The application should be working in low power mode, so POWER_SAVING is wrote to the Pre Definition in IAR option.but when I want to use UART , CC2640 should wake up to support UART clock, if it is in the POWER_SAVING mode, I can not use UART.

The question is how to wake up and open UART to transmit data ?

if use CC254x,I could call a function to wake up,

osal_pwrmgr_task_state(simpleBLEPeripheral_TaskID, PWRMGR_HOLD );

and call a function to enter sleep mode,

osal_pwrmgr_task_state(simpleBLEPeripheral_TaskID, PWRMGR_CONSERVE );

It is very different from CC254x, Please guide me to resolve the issue.

 

Thank you very much!

Cokin from China

 

 

  • Hello,

    Please see the example 'Adding a UART/SPI driver to a project' on the TI BLE Wiki. You can follow this example to see how the MRDY/SRDY is used when POWER_SAVINGS is defined.

    Best wishes
  • Thank you JXS
    I followed the example and finally it worked.
    But there's one more question, in this example , we must use 4 wires to control the UART in PowerSaving mode, just as FLOW_CONTROL. Can I simply use some functions to enter sleep mode or exit ?
    here's an example:
    when I want to use UART, pull up an IO , then CC2640 exit the sleep mode , it can receive data or send data from UART.
    when data transmission is finished , set the IO to LOW level , then CC2640 enter the sleep mode.
    Can this be achieved?

    thank you!
  • Hello,

    We are currently developing an example that allows the processor to wake on UART pins using software handshaking. The result will be a two wire UART interface that allows for power_saving to be enabled.
  • Hi, Are you ready for this?