UART0打开会增加40uA功耗, 能否在低功耗情况下, 在需要发送数据时使能UART, 平时将UART脚设置成GPIO?
时间:10-02
整理:3721RD
点击:
我用KeyfobDemo程序测试. 如果将所有GPIO关掉, 则广播时最低功耗在1.2uA.
P0SEL = 0; // Configure Port 0 as GPIO
非常理想.
但是如果将串口打开, 则最低功耗在40uA的样子. 一直维持不变. 在电池供电情况下, 还是有点功耗高.
P0SEL = 0x0C; // Configure Port 0 as GPIO
我们系统里必须用串口.
因此我试了, 启动后将P0SEL = 0x0.
在需要发送数据时, 先将"P0SEL = 0x0C", 在发送完数据后, 将"P0SEL = 0x0", 设置成GPIO. 运行后, 发现没有作用. 串口没有输出.
接受数据时, 做相同的设置, 也无法接收.
请问是什么问题?
能否解决串口打开功耗大的问题呢?
谢谢!
你好,
你只要开启了串口,后面即使你重新把GPIO设置为了GPIO模式,而不是串口模式功耗一样在那里。
原因是你开启串口的时候开启了DMA,而后面你关闭的时候是没有关闭DMA的,你不用串口之前请手动关闭DMA!
串口参数没有配置好。