2019-07-14 13:58发布
davidliu9518 发表于 2019-2-27 09:28 这里只是中断服务函数,中断服务函数里面,仅仅读取电压(DMA会循环把ADC寄存器的数据扫到内存变量里),处理几个全局的标志而已,主程序里面会对这些标志进行判断,然后才进行相应的处理(比如休眠等等);至于多长时间置标志位,这个你可以自行设定,计时我是用的定时器累加实现计时的。差不多低于阀值300ms就会置标志位 ...
最多设置5个标签!
谢谢你的回复,我明白你的意思,但是我现在的问题是调用进入睡眠的库函数就是进不到睡眠,请问你的主程序中进入睡眠是怎么进去的吗?我的进入睡眠的代码如下:
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
PWR_DeInit();
PWR_BackupAccessCmd(DISABLE);
SCB->SCR &= 0xFFFFFFF0;
// SCB->SCR &= ~((uint32_t)SCB_SCR_SLEEPDEEP_Msk);
NVIC_SystemLPConfig(NVIC_LP_SLEEPDEEP,DISABLE);
NVIC_SystemLPConfig(NVIC_LP_SLEEPONEXIT,DISABLE);
PWR_EnterSleepMode(PWR_SLEEPEntry_WFE);
// __WFE;
不知道那里出问题了,就是进不了睡眠。求帮忙指点,谢谢!
一周热门 更多>