打印
[STM32F1]

systick中断唤醒stop模式求助

[复制链接]
561|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dingy|  楼主 | 2021-12-1 22:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目前用stm32做一个低功耗的项目,遇到一些问题向各位求教。
​​
​目前需求:
​1、休眠1秒,唤醒工作一次,周而复始。
​2、工作时,需要ns级的delay来支撑IIC通信,从而与外围芯片建立IIC连接。

​目前现象是:
​1、在不初始化systick的情况下,系统可进入stop模式,并在1s后由rtc唤醒,但不基于systick没想到办法实现ns级delay来支持iic。(唤醒后功耗46ma,休眠后功耗300ua)
​2、在初始化systick的情况下,系统进入stop模式后,瞬间会被systick中断唤醒(关闭sysick中断休眠正常),失去休眠效果​。

​需要请教的是如何解决systick唤醒stop的问题

使用特权

评论回复
沙发
dingy|  楼主 | 2021-12-1 22:12 | 只看该作者
若不用systick,如何实现ns级delay从而支撑iic通信

使用特权

评论回复
板凳
dingy|  楼主 | 2021-12-1 22:14 | 只看该作者
stop模式下,如何进一步降低功耗

使用特权

评论回复
地板
juventus9554| | 2021-12-1 22:17 | 只看该作者
stop配置代码看下

使用特权

评论回复
5
pengf| | 2021-12-1 22:21 | 只看该作者
正常工作状态下,有何降低功耗的办法

使用特权

评论回复
6
dingy|  楼主 | 2021-12-1 22:25 | 只看该作者
为降低功耗,如何将jtag设为普通io,且如何实现程序烧写

使用特权

评论回复
7
dingy|  楼主 | 2021-12-1 22:27 | 只看该作者
stop代码:
​void Sys_Stop(void)
{

GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB2PeriphResetCmd(0X01FC,DISABLE);  //复位所有IO

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
//GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_Init(GPIOC, &GPIO_InitStructure);


RCC_APB2PeriphClockCmd( RCC_APB2Periph_USART1|
                               RCC_APB2Periph_ADC1|RCC_APB2Periph_ADC2,
                               DISABLE);   // RCC_APB1Periph_SPI1
​ RCC_APB1PeriphClockCmd( RCC_APB1Periph_SPI2|RCC_APB1Periph_TIM2|RCC_APB1Periph_USART3,
                               DISABLE);

NVIC_SystemLPConfig(NVIC_LP_SLEEPDEEP,ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);        //使能PWR和BKP外设时钟

//     RTC_ITConfig(RTC_IT_ALR, ENABLE);
//         RTC_WaitForLastTask();

SetAlarm(RTC_GetCounter() + 950);
    RTC_WaitForLastTask();



   PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);

RCC_Configurationb();

//        SysTick_Configuration();
  
}

使用特权

评论回复
8
huangchui| | 2021-12-1 22:29 | 只看该作者
在进入休眠模式前清空systick中断标志位,关闭定时器中断,且关闭systick定时器

使用特权

评论回复
9
wyjie| | 2021-12-1 22:32 | 只看该作者
stop 模式没有了系统时钟,  systick 已经不工作, 如何唤醒?

使用特权

评论回复
10
dingy|  楼主 | 2021-12-1 22:34 | 只看该作者

唉,还是没有什么结果,算了,多谢大家啦

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

745

主题

10920

帖子

6

粉丝