[C] 纯文本查看 复制代码 uint32_t tmpreg = 0;
tmpreg = PWR->CR1;
tmpreg &= (uint32_t)~(PWR_CR1_LPDS);
tmpreg |= PWR_MAINREGULATOR_ON;
PWR->CR1 = tmpreg;
MODIFY_REG(PWR->CR1, PWR_CR1_SVOS, PWR_REGULATOR_SVOS_SCALE5); //VOS等级
CLEAR_BIT(PWR->CR1, PWR_CR1_FLPS); //flash on
SET_BIT(PWR->CPUCR, PWR_CPUCR_PDDS_D1); //D1_Standby
CLEAR_BIT(PWR-> CPUCR, PWR_CPUCR_PDDS_D2); //D2STOP
CLEAR_BIT(PWR->CPUCR, PWR_CPUCR_PDDS_D3); //D3STOP
SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
__DSB();
__ISB();
__WFI(); //进入停机模式
SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk);
如上所示,给H743/753烧录了这个程序,主函数里只有这个,没有唤醒。为了测试进入D1standby,D2STOP,D3STOP之后的电流,结果之后发现下载不了程序。
前面我烧录D1,D2,D3都进入STOP后,把BOOT接1,按住复位点下载可以下进去程序。但是下载这个程序之后这样作却不可以,我看手册貌似是D1Standby关闭了Vcore域的电源。
不知道咋办,求教各位,请问这种情况下还能怎么拯救芯片,使得芯片可以正常下载程序
|