TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2541 UART 与POWER SAVING还有流控制的问题

在WIKI上下载了SimpleBLEPeripheral UART BLE1v3 02072013.zip 测试使用了一下,发现CC2541串口接收数据时要把流控制打开才能正常,或者是将POWER SAVING 去掉也能正常接收数据。请问有没有什么方法在不使用流控制的情况下,POWER SAVING也启用,CC2541能正常接收数据呢?

zhenhao liao:

没人关心,自己顶一下!

CC2540蓝牙4.0BLE开发:

有办法

Barbara Wu:

请看一下void NPI_InitTransport( npiCBack_t npiCBack ) 函数内对串口的初始化设置

修改一下初始化设置应该是可以把流控关掉的

zhenhao liao:

回复 Barbara Wu:

其实我想问的是流控关掉以后,POWER SAVING开启,怎么才能让UART正常工作,我现在遇到的问题是UART接收和发送数据都不正常了!

kerwin liu1:

回复 zhenhao liao:

你好,我现在也遇到了power_SAVING 开启后(串口的流控是关的),串口就不能正常工作了,请问你是怎么解决POWER_SAVING UART不能正常工作的啊!!?

zhou zhou3:

回复 zhenhao liao:

liao,你好,我现在也遇到了这种情况,就是在开启了power saving后如果是关掉流控制的话就会出现串口不能工作,在助手上面发现CTS是为"1”的,现在想在不启用流控制的条件下开启power saving的环境下让UART工作。希望能得到回复,多谢

ming li17:

回复 zhou zhou3:

我也遇到了,同求

Light J:

回复 ming li17:

 uart属于外设,power saving打开之后32M晶振受CPU管理,晶振都关闭了外设当然不工作。建议在设计的时候预留一个引脚做GPIO,开启中断,发数据的一方先发送一个脉冲用来唤醒CPU,除能电源管理,然后接收串口数据,接收完了再使能电源管理。也可以直接用串口切换成GPIO接收唤醒中断,醒了再切换成串口,但不建议这样做,反正我失败了。

ming li17:

回复 Light J:

当开启POWER_SAVING后,32M晶振停止工作,启用32k晶振。

当我在调用UART发送数据之前,调用函数osal_pwrmgr_device(PWRMGR_ALWAYS_ON),来保证UART正常通信

在发送完之后再调用 osal_pwrmgr_device(PWRMGR_BATTERY)进入低功耗模式。用这个方法可以来保证低功耗。

现在我有2个问题:

1.在开启POWER_SAVING后,UART不能正常使用,说明晶振不在32M下,但是LCD,LED等可以正常使用,这算是进入低功耗了吗?

2.绝对的低功耗(PM2 就行了吧)下,只有系统运行的是什么程序呢?

yongguang liu:

回复 zhou zhou3:

您好!您说的这个问题解决了吗?我也遇到这个问题,POWER_SAVING定义后,cc2541作为从机收到手机发来的数据后,想利用NPI_WriteTransport()发给与其相连的一个MCU,但是串口无输出,该如何解决?

赞(0)
未经允许不得转载:TI中文支持网 » CC2541 UART 与POWER SAVING还有流控制的问题
分享到: 更多 (0)