经测试,发现低功耗状态下,如果使能串口打印功能(xDisplay_DISABLE_ALL),系统会增加50ua左右的功耗。
现在我想保留打印功能、在休眠前关闭串口以节省功耗、唤醒后再打开串口,继续串口打印。
通过操作uart0_CTL寄存器实现
#define UART_ON HWREG(UART0_BASE + 0x00000030) |= 0x00000001
#define UART_OFF HWREG(UART0_BASE + 0x00000030) &= ~0x00000001
可发现功耗还是较高,感觉串口并未真正关闭。
求教TI的老师,我该如何操作才能即保留打印功能、又能去掉这50uA的串口功耗?
Alvin Chen:
建议做法是直接使用Z-stack的接口,UART_Close 函数。关闭后设置IO,防止IO漏电应该能做到。
你可以先试试设置IO。