我的应用中涉及到使用串口跟其他模块交互,但是要求低功耗。本来思路是:在需要使用串口收发时将串口打开,使用完之后就将串口关闭,尝试了下面操作,最终没有得到合适的解决问题的方法,因为始终关闭不了串口。
1. 使用 UART_Close 关闭串口 —— 这个操作导致功耗更高了。看到有个帖子说 Simple-cc1310-SDK-2.40版本解决了这个问题,但我升级到2.40之后,仍然会额外增加功耗1~2mA
2.使用完串口后,将引脚全部配置为 PIN_INPUT_DIS | PIN_GPIO_OUTPUT_DIS | PIN_NOPULL,功耗没有任何减少
3.将串口引脚改为模拟复用引脚,使用完后将引脚配置为ADC输入,调用ADC_init->ADC_open->ADC_close,这样功耗降了,但之后再重新初始化串口时,串口就不能用了??? 是不是我的操作有什么问题?TI的大神们推荐个操作步骤或例程吧
4.将串口的RX引脚悬空,也能将功耗降下来2mA。但RX引脚怎么会有这么大的电流泄漏呢?
实在没辙了,大神们有没有什么好的方案,给指导一下!
谢先!
YiKai Chen:
使用完串口后,試試将串口的RX引脚配置為高或低電平試試看能否将功耗降下来
Viki Shi:
1、建议缩减代码,仅保留UART功能再进行测试,看电流异常情况是否存在
2、手头是否有TI launchpad板?如果可以在官方板上进行测试,排除硬件问题
user5289985:
先调用read_cancel再调用uart_close,就可以完全关闭了,正常串口打开接收的时候会有1.5ma左右,如果不打开接收会低点
user5153918:
你的意思是,串口开启之前,功耗正常,当开启串口,功耗上升,随后调用UART_Close 功耗持续上升?