HI,all
BLE stack version:
1.4.0
king xiao:
我补充一下我的UART接法
RX,TX与一个MCU对接,无流控。
我听说TI是建议打开流控,那如果无流控,功耗能小下来吗?
知道的朋友麻烦帮忙解答一下。万分感谢
Yan:
回复 king xiao:
hi king,
请打开流控,流控不会影响到功耗。
king xiao:
回复 Yan:
Dear Yan
收到你的回复太开心了!
由于对方MCU不支持流控,所以在UART通讯时,就用一个GPIO口来唤醒CC2540,通讯完再进入sleep.
现在量测到唤醒CC2540进行UART通讯时,电流有8mA,客户不接受,说太大了,说有人做到2mA。(不清楚是不是说的峰值)
请问,UART通讯时电流能做到2mA吗?
感谢!
Fred Wang:
回复 king xiao:
主机模式大概是这个功耗,从机模式估计能到4ma,不工作时可以让他PM3休眠节电。
hainong lin:
回复 king xiao:
king xiao 你好,
我现在也是遇到这个问题。 把HAL_UART 编译进去后。 耗电7mA 左右。(我把power saving 编译进去了好像也没有用,也是7mA)。 cc2540 是被动接收数据的。 没有给cc240 通过串口发数据的时候, 我想让cc2540 进入省电模式。 然后,当有串口发数据来的时候, 我就要退出省电模式,接收串口数据。
当没有串口数据来的时候 :进入省电模式的代码应该放在哪里? 就调用osal_pwrmgr_device这个函数就行了吗?
当有了串口数据来的时候 : 要怎么退出来? 代码应该怎么写? 要设置中断吗?
这是我的串口接收函数。
void sbpSerialAppCallback(uint8 port, uint8 event){ (void)event; int numBytes=0; delayMs(30); uint8 pktBuffer[SBP_UART_RX_BUF_SIZE]={0}; if ((numBytes = Hal_UART_RxBufLen(HAL_UART_PORT_0)) > 0 ) { (void)HalUARTRead (HAL_UART_PORT_0, pktBuffer, numBytes);
sbpSerialAppWrite(buf,numBytes); }
}}
yafan hu:
你如果关闭省电,本来就是8mA左右,很正常啊。osal_pwrmgr_device( PWRMGR_ALWAYS_ON )这个函数的功能是让蓝牙一直功作不进入睡眠,所以也是8MA。
yafan hu:
你关闭xPOWER_SAVING,电流是8MA是正常的。