微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 2640,关于调用Power_setConstraint(Power_SB_DISALLOW)的问题

2640,关于调用Power_setConstraint(Power_SB_DISALLOW)的问题

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

现用到Multi工程实现主机数据透传,主从机正常连接后调用Power_setConstraint(Power_SB_DISALLOW);这个函数,主从机能正常实现串口数据双向透传。主机为降低功耗调用Power_releaseConstraint(Power_SB_DISALLOW);这个函数后重新连接从机后,再次调用Power_setConstraint(Power_SB_DISALLOW);这个函数,串口数据不能透传了,是怎么回事呢?谢谢!

你需要重新初始化串口。进入StandBy, 串口初始化是不保存的。看下面的文档,里面给了串口使用power manager的完整例子。

http://www.ti.com/lit/ug/sprui20/sprui20.pdf

重新初始化串口也不行,只要调用了Power_releaseConstraint(Power_SB_DISALLOW)这个函数后,除了软件复位,串口都不能用

照上面的文档改

看到文档的3.2,即使初始化也需要先调用Power_setDependency

/* Register power dependency - i.e. power up and enable clock for UART. */

Power_setDependency(hwAttrs->powerMngrId);

/* Initialize the UART hardware module */

UARTCC26XX_initHw(handle);

TY:

在调用Power_releaseConstraint(Power_SB_DISALLOW);这个函数之前,是想关掉UART,调用UARTCC26XX_close(Board_UART);这个函数,一直死在这个函数里了?

 调用了UARTCC26XX_open(Board_UART,&params);这个函数也一样的,老问题。

Clock_setTimeout(Power_Module_State_clockObj(), ticks);
Clock_start(Power_Module_State_clockObj());
/* go to standby mode */
Power_sleep(Power_STANDBY, NULL, NOTIFY_LATENCY);
Clock_stop(Power_Module_State_clockObj());

这四个函数会报错?

Error[Pe167]: argument of type "int" is incompatible with parameter of type "ti_sysbios_knl_Clock_Handle"

从3.2开始参考。这四个clock的只是解释性的,不用写到代码里。

/* Register notification function */
Power_registerNotify(&object->uartPostObj, Power_AWAKE_STANDBY,
(Fxn)uartPostNotify, (uint32_t)handle, NULL );  这个函数会死机,是怎么回事?

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

网站地图

Top