微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2541低功耗模式下,串口怎样动态开关并且不影响功耗?

CC2541低功耗模式下,串口怎样动态开关并且不影响功耗?

时间:10-02 整理:3721RD 点击:

     现在在做cc2541的低功耗,偶尔需要使用串口发送一些数据。当POWER_SAVING和HAL_UART=TRUE均使能的情况下,功耗一直8ma左右,怎么样才能在需要使用串口的时候打开串口,使用完毕后关闭串口,以降低功耗?

power  saving模式下会关闭晶振,也就无法使用串口。而且看你的功耗,根本没有进入LPM。建议唤醒以后操作串口,用完后再进行休眠

可以使用一个io口中断唤醒

这样在低功耗模式可以保证串口数据不乱码或者丢失!

把hal_uart_dma.c里面,有关RTS和CTS的所有代码注释掉,这样就能在POWER_SAVING的情况下仍然可以使用串口发送,不需要hold住电源,但是只能发送,并不能接收。

   就是没法进入LPM只要把HAL_UART=FALSE,就可以正常进入,我现在的问题是没法实现在串口初始化以后,没有使用写和读的时候使他它的功耗降下来?

已经告诉你方法了

Dear murongfu:    

    按您说的全部屏蔽后,它的功耗还是8毫安,怎么才能让它的功耗降下去。

UxUCR = UCR_STOP|UCR_FLOW;

改为

UxUCR = UCR_STOP;

其它的RTS、CTS、P0_4、P0_5,BV(4)、BV(5),只要是跟P0.4和P0.5有关的设置,仔细搜索,一个个注释。

Dear murongfu:

      还是不行功耗还是没有降下去,而且我也需要用串口接收数据,是不是因为串口初始化后,系统会强制进入活跃模式,进入不了睡眠模式?

楼上网友提出的办法是

  • UART (with power management): using CTS/RTS handshaking to control sleep.    具体你可以看下这边: http://processors.wiki.ti.com/index.php/SerialBLEbridge_V_1.4.1

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top