您好,我正在使用 CH32L103C8T6 微控制器,我需要帮助。
当我将 MCU 置于停止模式 4 时,我没有测量承诺的电源电流。目前,我测量的最低值为 190uA。我想了解如何实现数据表中所示的 4.08uA。
我的测量基于“RunInRAM_Select_Sleep”示例,但我还在 PWR_CTLR 寄存器上启用了 PWR_RAMLV。任何帮助都值得感激。谢谢。
您好,我正在使用 CH32L103C8T6 微控制器,我需要帮助。
当我将 MCU 置于停止模式 4 时,我没有测量承诺的电源电流。目前,我测量的最低值为 190uA。我想了解如何实现数据表中所示的 4.08uA。
我的测量基于“RunInRAM_Select_Sleep”示例,但我还在 PWR_CTLR 寄存器上启用了 PWR_RAMLV。任何帮助都值得感激。谢谢。
您好,EVT提供了STOP模式的例程,建议在STOP例程的基础上修改,具体配置可参考手册介绍,如下图。此外,测试过程中可将不用的GPIO全部配置成下拉输入。
感谢您确认我可以配置不同的停止模式。我修改了“RunInRAM_Select_Sleep”示例,但电源电流太高,约为 180-200uA。您能告诉我我做错了什么吗?
uint32_t tmpreg = 0; tmpreg = PWR->CTLR; tmpreg &= 0xFFFFFFFC; PWR->CTLR = tmpreg | PWR_CTLR_LPDS | PWR_RAMLV | PWR_CTLR_LDO_EC; NVIC->SCTLR |= (1 << 2); NVIC->SCTLR &= ~(1<<3); // wfi asm volatile ("wfi"); NVIC->SCTLR &= ~(1 << 2);
我在官方示例代码中只添加了“PWR_CTLR_LPDS | PWR_RAMLV | PWR_CTLR_LDO_EC”。
我感觉我陷入了困境并且无法获得较低的电流消耗。
感谢您提供示例代码。我用的是CH32L103开发板,但是电流测量结果现在是147uA,而不是数据手册上显示的4uA。
串行终端输出按预期工作。
SystemClk:96000000
ChipID:10310710
Stop Mode Test
**********
你能告诉我如何在停止模式下获得 4uA 电流吗?
您好,若板子上有外接模块,去掉,此外电源指示灯、LED、LDO等去掉再试一下
我已从电路板上移除了红色状态 LED。以下是我连接所有引脚的方式:
WCH LinkE (RX) ----> CH32L103 (PA9)
WCH LinkE (3V3) ----> CH32L103 (VCC)
WCH LinkE (GND) ----> CH32L103 (GND)
感谢您尝试帮助我解决这个难题。
您好,注意仅保留供电接线,不要接串口,此外将板子上LED去掉
我按照您的建议简化了连接。箭头指向我已移除的 LED。该板正在运行您上面提供的代码,我正在使用不同的电流表以确保没有犯任何测量错误。
您好,参考下图,建议直接使用提供例程测试,不要做修改,然后将你板子上所有的LED都去掉。后续若有问题,可邮箱(lzs@wch.cn)和我沟通