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

网站建设服务预算wordpress获得链接

网站建设服务预算,wordpress获得链接,视频直播系统开发网站建设,网络广告策划书论文有时候我们的程序中有些触发执行条件#xff0c;有时这些触发频率很少#xff0c;我们的程序就一直在循环#xff0c;这样就很浪费电#xff0c;我们可以通过PWR电源控制来实现低功耗模式#xff0c;即只有在触发时才执行程序#xff0c;其余时间可以关闭一些没必要的设备…有时候我们的程序中有些触发执行条件有时这些触发频率很少我们的程序就一直在循环这样就很浪费电我们可以通过PWR电源控制来实现低功耗模式即只有在触发时才执行程序其余时间可以关闭一些没必要的设备以达到省电的目的 低功耗模式有三种分别为睡眠模式、停机模式和待机模式他们的电量损耗睡眠模式停机模式待机模式但是他们的唤醒条件则和电量损耗成相反的关系。睡眠模式唤醒比较简单内部中断和外部中断都可以唤醒睡眠模式停机模式次之只有外部中断才可以唤醒停机模式待机模式唤醒方式最难只有指定的几个中断事件才可以唤醒 一睡眠模式 睡眠的开启十分简单只需要在程序的最后加一句代码即可这里的中断使用外部中断外部中断的配置主要有这几步时钟、时钟通道、EXTI、NVIC void key_init() {RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);GPIO_InitTypeDef gpio_init;gpio_init.GPIO_Mode GPIO_Mode_IPU;gpio_init.GPIO_Pin GPIO_Pin_6;gpio_init.GPIO_Speed GPIO_Speed_10MHz;GPIO_Init(GPIOA, gpio_init);GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource6);EXTI_InitTypeDef exti_init;exti_init.EXTI_Line EXTI_Line6;exti_init.EXTI_Mode EXTI_Mode_Interrupt;exti_init.EXTI_Trigger EXTI_Trigger_Rising;exti_init.EXTI_LineCmd ENABLE;EXTI_Init(exti_init);NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);NVIC_InitTypeDef nvic_init;nvic_init.NVIC_IRQChannel EXTI9_5_IRQn;nvic_init.NVIC_IRQChannelPreemptionPriority 1;nvic_init.NVIC_IRQChannelSubPriority 1;nvic_init.NVIC_IRQChannelCmd ENABLE;NVIC_Init(nvic_init); } 我们只要在程序要进入睡眠模式的地方加入一句__WFI即可进入睡眠模式当睡眠模式被唤醒后将从进入睡眠模式的地方继续执行代码 int main() {key_init();OLED_Init();while(1){if (flag 1){OLED_ShowString(1, 1, key_down);Delay_ms(500);OLED_Clear();flag 0;}__WFI();}return 0; } 这里的现象是我们按下按键产生上升沿外部触发OLED屏幕上会显示key_down然后进入睡眠模式等待下一次触发 睡眠模式不仅可以用外部中断触发也可以用内部中断触发 二停机模式 停机模式开启比睡眠模式稍微复杂由于停机模式只能被外部中断或事件唤醒因此还是采用按键唤醒操作进入停机模式前要先开启电源管理的时钟接着在要进入停机模式的地方调用进入睡眠模式的代码即可 第一个参数是配置调节器在停止模式的工作状态第二个参数是配置停止模式的唤醒方式 int main() {RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);OLED_Init();external_interrupt_init();while (1){if (flag 1){OLED_ShowString(1, 1, button_down);Delay_ms(500);OLED_Clear();flag 0;}PWR_EnterSTOPMode(PWR_Regulator_ON, PWR_STOPEntry_WFI);SystemInit();}return 0; } 值得注意的是停机模式会把72MHz的时钟晶振给关闭而在唤醒停机模式后却不会自动打开如果我们没有手动打开则程序以HSI的8MHz的时钟运行这会导致程序的运行速度不符合我们的预期尤其是在显示时长方面能明显感觉到显示时间变长由于停机模式被唤醒后也是在进入停机模式的地方重新开始执行代码我们只要在进入停机模式的代码后面加入系统初始化函数即自动帮助我们初始化系统时钟 三待机模式 待机模式只能被指定的几个事件唤醒待机模式和停机模式一样只要调用pwr模块的一个函数即可进入当然事先要先使能其时钟 这里选择使用RTC闹钟唤醒我们从当前时间开始每隔1小时唤醒一次然后显示1分钟唤醒时候的时间然后进入待机模式 int main() {SystemInit();unsigned int t;struct tm* time;clock_bkp_init();clock_init();OLED_Init();RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);while (1){t RTC_GetCounter();time clock_read_time();RTC_SetAlarm(t60*60);OLED_ShowString(1, 1, XXXX-XX-XX);OLED_ShowString(2, 1, xx:xx:xx);OLED_ShowNum(1, 1, time-tm_year, 4);OLED_ShowNum(1, 6, time-tm_mon, 2);OLED_ShowNum(1, 9, time-tm_yday, 2);OLED_ShowNum(2, 1, time-tm_hour, 2);OLED_ShowNum(2, 4, time-tm_min, 2);OLED_ShowNum(2, 7, time-tm_sec, 2);Delay_s(60);OLED_Clear();PWR_EnterSTANDBYMode();} } 这里在唤醒待机模式后其时钟不是72MHz时钟我们要手动调用系统初始化函数来调节但是这里的系统初始化函数不能放在待机模式后面调用因为待机模式在被唤醒后是从程序开始的地方执行相当于按了一次复位键所以我们把系统初始化函数放在程序开头 四总结 通过多种stm32的低功耗模式学习我们了解了stm32多种低功耗模式的使用以及之间的区别通过进入低功耗模式可以让一些在长时间处于空循环的程序更加省电
http://www.hkea.cn/news/14324891/

相关文章:

  • 建设一个中英文双版的网站购买了域名之后怎么做网站
  • u网站建设徐州专业三合一网站开发
  • 门户网站建设目标东莞seo网络推广专
  • 专业北京网站建设公司排名php做网站安性如何
  • 建设一个网站多钱怎么推广淘宝店铺
  • 如何做简单的网站 域名邮箱网站建设培训学校广州
  • asp网站抓取全国平面设计大赛官网
  • 分销系统小程序深圳seo优化关键词排名
  • 新网登录网站后台网站建设要学哪种计算机语言
  • 福建中兴建设有限公司网站深圳市住房和建设局网站登录
  • wordpress首页地址网站建设及优化 赣icp
  • 铁岭做网站哪家好宁波网页设计制作公司
  • 合肥专业网站建设公司哪家好去菲律宾做it网站开发
  • 网站开发基础知识做本地网站卖
  • 邢台高端网站建设小江网站建设公司
  • 做的网站 如何在局域网内访问网站建设成功案例宣传
  • 母婴网站设计开发上线一个网站需要多少钱
  • 购物的网站功能网站后台用什么程序做
  • 东光网站制作武夷山建设局网站
  • cms企业网站管理系统做网站的背景照
  • 网站建设都需要哪些材料wordpress排序desc
  • 湖北孝感展示型网站建设价格开平小学学生做平网站
  • wordpress access佛山网站seo哪家好
  • 建设网站情况说明范文配资网站开发
  • 网站建设设计流程图wordpress图片中文不显示解决
  • 单机网页游戏网站招商外包
  • 网站游戏网站怎么建设游戏开科技的软件
  • 怎样更换网站cms加强网站队伍建设
  • 响应式网站的优缺点园林景观设计公司设备列表
  • 实用网站设计步骤微网站 杭州