历史上的今天
返回首页

历史上的今天

今天是:2024年10月20日(星期日)

正在发生

2018年10月20日 | STM32F105VC 低功耗

2018-10-20 来源:eefocus

STOP模式:

static void RCC_Close(void)

{

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, DISABLE);

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |RCC_APB2Periph_GPIOB

|RCC_APB2Periph_GPIOC |RCC_APB2Periph_GPIOD |RCC_APB2Periph_GPIOE

|RCC_APB2Periph_ADC1  |RCC_APB2Periph_AFIO |RCC_APB2Periph_ADC2

|RCC_APB2Periph_SPI1, DISABLE );

RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2|RCC_APB1Periph_UART4

|RCC_APB1Periph_TIM2 | RCC_APB1Periph_SPI2

|RCC_APB1Periph_CAN1 | RCC_APB1Periph_CAN2, DISABLE );

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE );

ADC_Cmd(ADC1, DISABLE); ADC_Cmd(ADC2, DISABLE); 

ADC_DMACmd(ADC1, DISABLE); DMA_Cmd(DMA1_Channel1, DISABLE); 

USART_Cmd(UART4, DISABLE);USART_Cmd(USART2, DISABLE);

SPI_Cmd(SPI2,DISABLE);

TIM_Cmd(TIM2,DISABLE);TIM_ITConfig(TIM2, TIM_IT_Update, DISABLE);

CAN_DeInit(CAN1);CAN_DeInit(CAN2);

ADC_DeInit(ADC1);

USART_DeInit(USART2);USART_DeInit(UART4);

SPI_I2S_DeInit(SPI1);SPI_I2S_DeInit(SPI2);

DMA_DeInit(DMA1_Channel1);

TIM_DeInit(TIM2);

}

static void RTC_Config(u16 value)

{

EXTI_InitTypeDef EXTI_InitStructure;

NVIC_InitTypeDef NVIC_InitStructure; 

BKP_DeInit();

RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR|RCC_APB1Periph_BKP,ENABLE);

PWR_BackupAccessCmd(ENABLE);

RCC_LSICmd(ENABLE);

while(RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET);

RCC_RTCCLKConfig(RCC_RTCCLKSource_LSI);//Ñ¡ÔñÄÚ²¿40KRC

RCC_RTCCLKCmd(ENABLE);

RTC_WaitForSynchro();

RTC_WaitForLastTask();

RTC_SetPrescaler(39999);

RTC_WaitForLastTask();

RTC_SetAlarm(RTC_GetCounter() + value);

RTC_WaitForLastTask();

RTC_ITConfig(RTC_IT_ALR,ENABLE);

RTC_WaitForLastTask();

EXTI_InitStructure.EXTI_Line = EXTI_Line17;

EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;

EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;

EXTI_InitStructure.EXTI_LineCmd = ENABLE;

EXTI_Init(&EXTI_InitStructure); 

EXTI_ClearFlag(EXTI_Line17);

EXTI_ClearITPendingBit(EXTI_Line17);

NVIC_InitStructure.NVIC_IRQChannel = RTCAlarm_IRQn;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

NVIC_Init(&NVIC_InitStructure);  

}      

void RTCAlarm_IRQHandler(void)

{

// ÇåEXTI_Line17¹ÒÆðλ

EXTI_ClearITPendingBit(EXTI_Line17);

// ¼ì²é»½ÐѱêÖ¾ÊÇ·ñÉèÖÃ

if(PWR_GetFlagStatus(PWR_FLAG_WU) != RESET)

{

PWR_ClearFlag(PWR_FLAG_WU);// Çå³ý»½ÐѱêÖ¾

}

RTC_WaitForLastTask();

RTC_ClearITPendingBit(RTC_IT_ALR);// ÇåRTC±¨¾¯ÖÐ¶Ï¹ÒÆð

}

typedef void (*pFunction) (void );

void jump(unsigned long add)

{

pFunction pMyaddr = (pFunction)add;

pMyaddr();

}

void STM32StopMode(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

u32 jmp_add;

if(!EnterStopMode_Flag)

{

EnterStopMode_Flag = 1;//1±íʾÒѾ­½øÈëµÍ¹¦ºÄ

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;  

GPIO_Init(GPIOC, &GPIO_InitStructure);

GPIO_Init(GPIOB, &GPIO_InitStructure);  

GPIO_Init(GPIOD, &GPIO_InitStructure);  

GPIO_Init(GPIOE, &GPIO_InitStructure);  

GPIO_InitStructure.GPIO_Pin = 0Xfffe;

GPIO_Init(GPIOA, &GPIO_InitStructure);  

GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_0 ;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;

GPIO_Init(GPIOA, &GPIO_InitStructure);

RCC_Close();

RTC_Config(10);

RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR|RCC_APB1Periph_BKP,ENABLE);

PWR_BackupAccessCmd(ENABLE);

PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);

// System_Reset() ;

//    jmp_add=*(unsigned long*)(0x8008004);

// __set_MSP(*(__IO uint32_t*)0x8008000);

// jump(jmp_add);

}

}

void RTC_IRQHandler(void)

{

while(1);

}

STOP模式唤醒后是从停止的地址开始运行,仿真和实际运行不同,仿真时不会进入低功耗,相当于 进入低功耗又被唤醒了。


推荐阅读

史海拾趣

维峰电子(WCON)公司的发展小趣事

维峰电子(WCON)于2002年在广东成立,由创始人李文化带领的团队共同创立。创业初期,公司面临着资金短缺、技术落后和市场竞争激烈等多重挑战。然而,团队凭借着对电子连接器行业的深刻理解和坚定信念,不断研发新产品,优化生产工艺,逐渐在市场中站稳脚跟。他们通过不懈努力,成功开发出多款具有竞争力的电子连接器产品,为公司后续的发展奠定了坚实基础。

Aleph America Corporation公司的发展小趣事

为了进一步扩大市场份额,维峰电子积极开拓国内外市场。公司通过与国内外知名企业的合作,成功进入了多个领域,包括工业控制、汽车和新能源等。特别是新能源领域,维峰电子凭借其在电子连接器方面的技术优势,成功开发出多款适用于新能源领域的产品,受到了市场的广泛认可。

Connector City公司的发展小趣事

随着电子行业的快速发展,连接器技术也在不断更新换代。Connector City公司意识到,只有不断创新才能在激烈的市场竞争中立于不败之地。因此,公司加大了研发投入,组建了一支高素质的研发团队,专注于连接器技术的创新研究。经过多年的努力,公司成功开发出了一款具有高性能、高可靠性和高稳定性的新型连接器产品,赢得了客户的广泛认可和好评。

Aydin Corp公司的发展小趣事

面对日益严峻的环境挑战和市场变化,Aydin Corp积极寻求可持续发展之路。公司致力于推广环保理念,采用环保材料和节能技术,降低生产过程中的能耗和排放。同时,Aydin Corp还加大在新能源、智能电子等领域的研发力度,为公司的未来发展做好充分准备。展望未来,Aydin Corp将继续秉持创新、品质、合作的理念,为电子行业的发展贡献更多的力量。

这些故事虽然基于假设,但反映了电子行业公司普遍面临的挑战和机遇。如需获取关于Aydin Corp公司的真实发展故事,建议直接访问其官方网站或查阅相关新闻报道。

Heatron公司的发展小趣事

随着全球对环保和节能问题的日益关注,Heatron公司积极响应号召,致力于研发和生产环保节能的电加热产品。公司投入大量资源于新材料、新技术的研发中,成功推出了一系列低能耗、高效率的加热器产品。这些产品不仅满足了市场对环保节能的需求,还进一步巩固了Heatron在电子行业中的领先地位。

Cal Test Electronics公司的发展小趣事

Cal Test Electronics公司成立于1995年,当时正值电子配件和测试产品市场的快速发展期。创始人凭借对电子行业的深刻理解和敏锐的市场洞察力,决定专注于这一领域。初创时期,公司面临着资金短缺、市场竞争激烈等诸多挑战,但创始人带领团队通过技术创新和成本控制,逐步在市场上站稳脚跟。他们不断研发出符合市场需求的高品质产品,赢得了客户的信任和支持。

问答坊 | AI 解惑

PAC的优缺点点评

缺点: 1、价格高,相对于PLC来说 2、可靠性低,这一点不要再争论,已争论很多次了,与体系架构相关系 3、体积大 4、对模拟量处理的精度和抗干扰能力低,与内部的结构和接口相关系 5、系统的抗干扰能力弱,因为自身内部的频率太高,体系是为商 ...…

查看全部问答>

下载有问题找版主!

新手的话可能新币不够用,下载不了,由于一些后续的工作还没有做好,利用现有的条件,建议直接找版主,因为版主下载附件不要芯币,也可以直接给你评分,直接加芯币就完事啦!看到新手抱怨下不了的帖子太多了,有点麻木了! 至于其他的现在还在考虑 ...…

查看全部问答>

管理员可不可以举行一项学习AVR的活动呀

最近看到坛子中有学习51的帖子,而自己一直在为AVR苦恼,所以建议是不是可以也举行一项学习AVR的活动呢??…

查看全部问答>

找不到理想的器件,大家知道的话帮提个建议。

用avr做一个4位的led的动态显示,选了fdc6330l作为控制com端的开关。 结果显示1234的时候,第一位除了显示1,还显示2,只不过2的亮度很暗,后面这几位也是。 我认为是fdc6330l的响应速度太慢了。 所以想换个开关,开关要求耐压12v,5v的控制 ...…

查看全部问答>

SIM300C使用简单串口,上网时出现收发数据问题,谢谢

我使用的是SIM300C模块,用三线的简单串口与S3C2410连接。 现在网络是通上了,也能正常与服务器端进行发送接收! 当我向SIM300C发送命令的时候,他会反馈一些字符信息。 问题是当我正在向SIM300C发送命令、数据的时候,服务器端下发的数据也从串 ...…

查看全部问答>

请教:IIS和UDA1341工作原理

L3-interface用来控制音量,低音等,怎么控制的,控制信号是什么信号?PWM脉冲波?还是其他的 …

查看全部问答>

大家进来讨论下关于51单片机的端口赋值问题。

以大家熟悉的AT89C51为例,我想在一个机器周期内给P0和P1都赋值。这能达成吗?假设给P0赋值0xff ,给P1赋值0x00。用C语言该怎么编写。昨天和朋友讨论了好久也没结果,去CSDN那边,大家都觉得在一个机器周期内不可能。 我对数组什么的理解都很浅, ...…

查看全部问答>

STM32定时器与PWM快速使用入门

STM32  定时器与 PWM 快速使用入门要求:在 万利的开发板 EK-STM32F 上产生 周期为1秒,占空比分别为 50% 10%的 PWM       并且点亮 板上 ...…

查看全部问答>

STM32F429I-discovery+FreeRTOS+STemWin

STM32F429I-discovery+FreeRTOS+STemWin,小试了一下,刷屏速度还是很快的,比LPC1788快。本来是打算回来后周末移植的RTOS+emwin的,后来发现Demo里面都有现成的了,但是发现一下问题,就是有些demo会花屏,不知道是不是STemwin修改了有问题,你们 ...…

查看全部问答>

[LPC54102] + 大体的硬件搭好

第一次用洞洞板搭电路,这次把OLED和加速度加在一个洞洞板上,大体的硬件就差不多搭好,现在这要做软件方面的了,上我高大上的洞洞板电路,计划用我移植的TI的图形库做界面 得抓紧时间了 …

查看全部问答>