各位大侠:
因为需要用到电池供电,才开始加入power saving,用simplebleperipherial–cc2541这个工程测试,
按照ti的建议做了两处改动
1)屏蔽了performPeriodicTask();
2)加入了io的init.
耗电测试发现connect后耗电比较低小于10ua,但是在disconnect时耗电几十ua之一百多ua之前波动。
我的应用里面大多数时间是没有连接的状态即广播模式下,所以我希望在没有连接t时耗电做到很低(小于10ua)。我应该怎么做呢?
另外一个问题是,我需要用到uart,在powersaving时需要注意些什么?
先谢谢了!
Yue TANG:
调低广播间隔
// Set advertising interval { uint16 advInt = DEFAULT_ADVERTISING_INTERVAL;
GAP_SetParamValue( TGAP_LIM_DISC_ADV_INT_MIN, advInt ); GAP_SetParamValue( TGAP_LIM_DISC_ADV_INT_MAX, advInt ); GAP_SetParamValue( TGAP_GEN_DISC_ADV_INT_MIN, advInt ); GAP_SetParamValue( TGAP_GEN_DISC_ADV_INT_MAX, advInt ); }
Yue TANG:
回复 Yue TANG:
下面例子里面的串口有考虑低功耗,自己研究下吧。
http://processors.wiki.ti.com/index.php/SerialBLEbridge_V_1.4.1
user3948615:
回复 Yue TANG:
谢谢您的回复,
我试了一下BLE_Bridge这个工程,选中CC2541-UART-PM这个配置 我通过串口发数据,用Lightblue接受数据,很不稳定。
但我试了CC2541-UART这个配置,就很稳定。
我对比了一下他们的差别主要就是powersaving的区别,打开powersaving后在使用串口时,要怎么用才会稳定?
yongguang liu:
回复 user3948615:
您好!请教下打开POWER_SAVING后,BLE主机发给从机数据,然后从机想通过UART(DMA方式)发送给其他设备,但是发现从机能收到主机发来的数据,数据却发送不到串口,用示波器观察串口无输出,这种问题该怎么解决?