当前位置: 首页 > news >正文

怎么做一帘幽梦网站西安小程序开发公司有哪些

怎么做一帘幽梦网站,西安小程序开发公司有哪些,网页设计构建的基本流程,网站建设服务合同交印花税吗休眠模式 进入休眠模式 如果使用 WFI 指令进入睡眠模式,则嵌套向量中断控制器 (NVIC) 确认的任意外设中断都会 将器件从睡眠模式唤醒。 如果使用 WFE 指令进入睡眠模式,MCU 将在有事件发生时立即退出睡眠模式。唤醒事件可 通过以下方式产生&#xff…

休眠模式

进入休眠模式

如果使用 WFI 指令进入睡眠模式,则嵌套向量中断控制器 (NVIC) 确认的任意外设中断都会 
将器件从睡眠模式唤醒。


如果使用 WFE 指令进入睡眠模式,MCU 将在有事件发生时立即退出睡眠模式。唤醒事件可 
通过以下方式产生:使能外设中断,但是不用NVIC。在内核系统控制寄存器SEVONPEND=1;SLEEPONEXIT = 0;配置外部中断为事件模式;

退出休眠

wfi进入休眠:任意中断退出休眠;

WFE进入休眠如下10.2.3

10.2.3 唤醒事件管理
STM32F4xx 能够处理外部或内部事件来唤醒内核 (WFE)。唤醒事件可通过以下方式产生:
● 在外设的控制寄存器使能一个中断,但不在 NVIC 中使能,同时使能 Cortex™-M4F 系统 
控制寄存器中的 SEVONPEND 位。当 MCU 从 WFE 恢复时,需要清除相应外设的中 
断挂起位和外设 NVIC 中断通道挂起位(在 NVIC 中断清除挂起寄存器中)。
● 配置一个外部或内部 EXTI 线为事件模式。当 CPU 从 WFE 恢复时,因为对应事件线的 
挂起位没有被置位,不必清除相应外设的中断挂起位或 NVIC 中断通道挂起位。

M4内核系统控制寄存器(SCR)

在m4内核的SCB系统控制块中

需要的在2和3位

休眠模式程序

#include"wkup.h"#define WKUP_KD PAin(0)			//PA0 检测是否外部WK_UP按键按下void wkup_init()
{GPIO_InitTypeDef GPIO_InitStruct;EXTI_InitTypeDef EXTI_InitStruct;NVIC_InitTypeDef NVIC_InitStruct;RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_GPIOA , ENABLE);RCC_APB2PeriphClockCmd( RCC_APB2Periph_SYSCFG , ENABLE);//外部中断需要sysCFG时钟GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0;GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN;//外部中断只能输入模式,没有复用模式;GPIO_InitStruct.GPIO_OType=GPIO_OType_PP;GPIO_InitStruct.GPIO_PuPd=GPIO_PuPd_DOWN;GPIO_InitStruct.GPIO_Speed=GPIO_Speed_100MHz;GPIO_Init(GPIOA, & GPIO_InitStruct);SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource0);//库文件sysfg文件的函数,配置A0为外部中断EXTI_InitStruct.EXTI_Line=EXTI_Line0 ;//外部中断EXTI_InitStruct.EXTI_Mode=EXTI_Mode_Interrupt;EXTI_InitStruct.EXTI_Trigger=EXTI_Trigger_Rising;EXTI_InitStruct.EXTI_LineCmd= ENABLE;EXTI_Init( & EXTI_InitStruct);NVIC_InitStruct.NVIC_IRQChannel=EXTI0_IRQn;NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=3;NVIC_InitStruct.NVIC_IRQChannelSubPriority=3;NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_InitStruct);}void EXTI0_IRQHandler()
{EXTI_ClearITPendingBit( EXTI_Line0 );printf("\r\n 激活88888888888  \r\n");
}
void sys_enter_sleep()
{__WFI();SCB->SCR&=~(3<<1);//SLEEPDEEP  SLEEPONEXIT 都等于0}

main

#include "main.h"
#define tmep_len 30
uint8_t temp_buf[tmep_len]={0};void test();
uint8_t *mian_temp;
double time_us;
int main(void)
{ time_struct times;u8 key,flag ,i,n=5;           //保存键值long long temp_32=0;static bool cnt;
//	delay_init(168);  //初始化延时函数LED_Init();				//初始化LED端口 BEEP_Init();      //初始化蜂鸣器端口//KEY_Init();       //初始化与按键连接的硬件接口LED1=!LED1;LED0=!LED0;wkup_init();//配置中断唤醒while(1){    for(i=0;i<20;i++){    temp_32=168*1000*100;while(temp_32--);LED1=!LED1;LED0=!LED0;if(i==5){sys_enter_standby();}}}}

停止模式

停止模式程序

库函数已经包装好

void sys_enter_stop()
{PWR_EnterSTOPMode(PWR_MainRegulator_ON, PWR_STOPEntry_WFI);//库函数}

待机模式

进入待机模式

 PWR_EnterSTANDBYMode(void)此库函数中已经存在PDDS和SLEPDEEP位设置;和WFI;

进入待机模式后可以对各个控制位选择如下功能

1、独立的看门狗 (IWDG):

2、实时时钟 (RTC):

3、内部 RC 振荡器 (LSI RC):

4、外部 32.768 kHz 振荡器 (LSE OSC):

退出待机模式

检测到外部复位(NRST 引脚)、IWDG 复位、WKUP 引脚上升沿、RTC 闹钟、入侵事件 
或时间戳时间时,微控制器退出待机模式

唤醒时间,就是复位时间;应该不是复位,而是时间长;

待机模式程序

  • PWR_EnterSTANDBYMode(void)此库函数中已经存在PDDS和SLEPDEEP位设置;和WFI;
  • 在表中多加一个备份RTC和SRAM寄存器   Enables or disables access to the backup domain (RTC registers, RTC   *   backup data registers and backup SRAM). 
  •   将电源控制/状态寄存器 (PWR_CSR) 中的 WUF 位清零 选用wakeup引脚外中断唤醒;
#include"wkup.h"#define WKUP_KD PAin(0)			//PA0 检测是否外部WK_UP按键按下void wkup_init()
{GPIO_InitTypeDef GPIO_InitStruct;EXTI_InitTypeDef EXTI_InitStruct;NVIC_InitTypeDef NVIC_InitStruct;RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_GPIOA , ENABLE);RCC_APB2PeriphClockCmd( RCC_APB2Periph_SYSCFG , ENABLE);//外部中断需要sysCFG时钟GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0;GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN;//外部中断只能输入模式,没有复用模式;GPIO_InitStruct.GPIO_OType=GPIO_OType_PP;GPIO_InitStruct.GPIO_PuPd=GPIO_PuPd_DOWN;GPIO_InitStruct.GPIO_Speed=GPIO_Speed_100MHz;GPIO_Init(GPIOA, & GPIO_InitStruct);SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource0);//库文件sysfg文件的函数,配置A0为外部中断EXTI_InitStruct.EXTI_Line=EXTI_Line0 ;//外部中断EXTI_InitStruct.EXTI_Mode=EXTI_Mode_Interrupt;EXTI_InitStruct.EXTI_Trigger=EXTI_Trigger_Rising;EXTI_InitStruct.EXTI_LineCmd= ENABLE;EXTI_Init( & EXTI_InitStruct);NVIC_InitStruct.NVIC_IRQChannel=EXTI0_IRQn;NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=3;NVIC_InitStruct.NVIC_IRQChannelSubPriority=3;NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_InitStruct);}void EXTI0_IRQHandler()
{EXTI_ClearITPendingBit( EXTI_Line0 );printf("\r\n 激活88888888888  \r\n");
}void sys_enter_standby()
{if(GPIO_ReadInputDataBit(GPIOA,  GPIO_Pin_0)==0){//	   RCC_AHB1PeriphResetCmd(0X04FF,ENABLE);//复位所有IO口RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);//开启电源控制管理时钟,才能操作低功耗PWR_BackupAccessCmd(ENABLE);//备份RTC和SRAMRTC_ClearITPendingBit(RTC_IT_TS|RTC_IT_WUT|RTC_IT_ALRB|RTC_IT_ALRA|RTC_IT_TAMP1|RTC_IT_TAMP2);//禁止RTC中断和清除全部标记RTC_ITConfig(RTC_IT_TS|RTC_IT_WUT|RTC_IT_ALRB|RTC_IT_ALRA|RTC_IT_TAMP, DISABLE);  PWR_ClearFlag(PWR_FLAG_WU);//清除wakup 的唤醒标志PWR_WakeUpPinCmd(ENABLE); //使能wake up脚唤醒PWR_EnterSTANDBYMode(); //进入到待机模式}}

main


#include "main.h"
#define tmep_len 30
uint8_t temp_buf[tmep_len]={0};void test();
uint8_t *mian_temp;
double time_us;
int main(void)
{ time_struct times;u8 key,flag ,i,n=5;           //保存键值uint32_t temp_32=0;static bool cnt;
//	delay_init(168);  //初始化延时函数software_times_base_init( 168 );uart_init(115200);NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);LED_Init();				//初始化LED端口 BEEP_Init();      //初始化蜂鸣器端口KEY_Init();       //初始化与按键连接的硬件接口LED1=!LED1;LED0=!LED0;wkup_init();while(1){    TimesMs( &times );if(times.Delay>3000){times.Delay=0;printf("\r\n 2222222222222222222  \r\n");}key=KEY_Scan(1);if(key==1){  sys_enter_standby();LED1=!LED1;LED0=!LED0;}}}

程序效果:进入待机后不再打印东西;中断唤醒,打印一个已经唤醒标志,并且恢复之前未完成的步骤;

http://www.yayakq.cn/news/175200/

相关文章:

  • 处理营销型网站建设策划的几个误区typora wordpress
  • 网站开发需求分析说明wordpress 摘要 空格
  • 为网站开发android客户端wordpress 分类页
  • 网站asp模板网站后台这么做
  • 昆山市建设工程质量检测中心网站asp个人网站建设
  • 陕西网站制作网络推广平台cpa
  • 温州网站开发app制作广东建设厅证件查询网站
  • 德州建设公司网站软件项目管理流程
  • 唐山公司网站制作国内大宗商品交易平台
  • dedecms网站根目录wordpress+克隆插件
  • 做平台网站要什么条件那些网站做的非常好看的
  • 知名企业网站人才招聘情况如何建立网站站点的过程
  • 北理工网站开发与应用答案title (网站开发)
  • 网站备案后怎么做实名认证vs怎么做网站
  • 网站 各种 备案网站模板首页
  • 成都专业建站公司郑州最新防疫进展
  • 韩国的 电子商务网站企业咨询公司收费标准
  • 营销型网站建设实战》网站行业
  • 网站备案需要收费么什么网站发布任务有人做
  • 建网站义乌网站开发 网站设计
  • 上海做产地证在哪个网站录入做网站 做手机app要学什么
  • 做任务得得q币的网站网站备份挖掘
  • 域名怎么选才正确kj6699的seo综合查询
  • 网站备案材料ps兼职做网站
  • 网店模板图片南京怎样优化关键词排名
  • 计算机做网站开题报告对网站建设的调研报告
  • 济南网站制作专业最新wordpress安装
  • 创意网站布局九机手机网官网旗舰店
  • 代做淘宝客网站湖南手机网站建设公司
  • 成都建设网站费用7大常务现在职位名单