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

注册公司成本多少钱seo是什么意思知乎

注册公司成本多少钱,seo是什么意思知乎,wordpress 菜单 文章,织梦网站文章发布信息模板下载一、前言 窗口看门狗简介: 窗口看门狗通常被用来监测,由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。除非递减计数器的值在T6位变成0前被刷新,看门狗电路在达到预置的时间周期时,会产生一个M…

一、前言

窗口看门狗简介:

窗口看门狗通常被用来监测,由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。除非递减计数器的值在T6位变成0前被刷新,看门狗电路在达到预置的时间周期时,会产生一个MCU复位。在递减计数器达到窗口寄存器数值之前,如果7位的递减计数器数值(在控制寄存器中)被刷新, 那么也将产生一个MCU复位。这表明递减计数器需要在一个有限的时间窗口中被刷新。

窗口看门狗主要特性:

● 可编程的自由运行递减计数器
● 条件复位
─ 当递减计数器的值小于0x40,(若看门狗被启动)则产生复位。
─ 当递减计数器在窗口外被重新装载,(若看门狗被启动)则产生复位。
● 如果启动了看门狗并且允许中断,当递减计数器等于0x40时产生早期唤醒中断(EWI),它可 以被用于重装载计数器以避免WWDG复位。

窗口看门狗适用场景:

WWDG最适合那些要求看门狗在精确计时窗口起作用的应用程序。

本次DEMO的目标:

在本次DEMO中将使用窗口看门狗的中断功能来喂狗,通过STM32F103ZET6开发板的DS0和DS1来提示程序的运行状态。

二、时钟树解析

窗口看门狗WWDG是AHB-APB1总线下的外设,其时钟来源于APB1下的PCLK1时钟,本次实验中,将外部高速时钟HSE(8MHz)用锁相环PLL倍频9倍至72MHz作为系统时钟SYSCLK,AHB1分频系数为1(不分频,仍为72MHz),APB1分频系数为2(2分频,达到PCLK1最大频率36MHz),最后供给WWDG外设的基础时钟为36MHz。具体流程如下所示:

三、窗口看门狗功能介绍

窗口看门狗的时序图如下所示:

其中:

  • T[6:0]:控制寄存器(WWDG_CR)的低7位。
  • W[6:0]:配置寄存器(WWDG_CFR)的低7位,为窗口看门狗的上窗口。
  • 3Fh:下窗口0X40的边界。

当窗口看门狗的计数器在上窗口值之外被刷新,或者低于下窗口值都会产生复位。

窗口看门狗的超时公式如下:

其中:

  • Twwdg:WWDG超时时间(单位ms)
  • Fpclk1:APB1的时钟频率(单位KHz)
  • WDGTB:WWDG的预分频系数
  • T[5:0]:窗口看门狗的计数器低6位

根据第二节时钟树解析,设置Fpclk=36MHz,那么可以得到最大-最小超时时间表如下所示:

WDGTB最小超时值最大超时值
0113μs7.28ms
1227μs14.56ms
2455μs29.12ms
3910μs58.25ms

四、寄存器介绍

对WWDG的程序设计主要涉及3个寄存器:

寄存器作用
WWDG_CR控制寄存器
WWDG_CFR配置寄存器
WWDG_SR状态寄存器

下面将对这几个寄存器进行一一介绍。

4.1 WWDG_CR控制寄存器

《STM32中文参考手册》对WWDG_CR寄存器的描述如下:

  • WWDG_CR控制寄存器只有低8位有效。其中T[6:0]存储的是看门狗的计数器值,当计数器值从40h变为3FH时(T6变为0),产生看门狗复位。
  • WDGA 位则是看门狗的激活位,该位由软件置 1,以启动看门狗,并且一定要注意的是该位一旦设置,就只能在硬件复位后才能清零了。

4.2 WWDG_CFR配置寄存器

《STM32中文参考手册》对WWDG_CFR寄存器的描述如下:

该位中的 EWI 是提前唤醒中断,也就是在快要产生复位的前一段时间(T[6:0]=0X40)来提醒我们,需要进行喂狗了,否则将复位!因此,我们一般用该位来设置中断,当窗口看门狗 的计数器值减到 0X40 的时候,如果该位设置,并开启了中断,则会产生中断,我们可以在中断里面向 WWDG_CR 重新写入计数器的值,来达到喂狗的目的。注意这里在进入中断后,必须在不大于 1 个窗口看门狗计数周期的时间(在 PCLK1 频率为 36M 且 WDGTB 为 0 的条件下,该时间为 113us)内重新写 WWDG_CR,否则,看门狗将产生复位!

4.3 WWDG_SR状态寄存器

《STM32中文参考手册》对WWDG_SR寄存器的描述如下:

该寄存器用来记录当前是否有提前唤醒的标志。该寄存器仅有位 0 有效,其他都是保留位。当计数器值达到 40h 时,此位由硬件置 1。它必须通过软件写 0 来清除。对此位写 1 无效。即使中断未被使能,在计数器的值达到 0X40的时候,此位也会被置 1。

五、程序设计

对于窗口看门狗的程序设计主要分为3个部分:窗口看门狗初始化、重置WWDG计数器的值、窗口看门狗中断服务程序。

5.1 窗口看门狗初始化

该部分程序位于HARDWARE/wdg.c/WWDG_Init(),主要功能是使能APB1下wwdg时钟、通过WWDG_CFR寄存器设置窗口值,通过WWDG_CR寄存器设置计数器值并开启看门狗,注册WWDG中断(中断号0),软件清除提前唤醒标志位并使能提前唤醒中断。具体程序如下所示:

//初始化窗口看门狗 	
//tr   :T[6:0],计数器值 
//wr   :W[6:0],窗口值 
//fprer:分频系数(WDGTB),仅最低2位有效 
//Fwwdg=PCLK1/(4096*2^fprer). 
void WWDG_Init(u8 tr,u8 wr,u8 fprer) 
{    RCC->APB1ENR|=1<<11; 	//使能wwdg时钟 WWDG_CNT=tr&WWDG_CNT;   //初始化WWDG_CNT.     WWDG->CFR|=fprer<<7;    //PCLK1/4096再除2^fprer WWDG->CFR&=0XFF80;      WWDG->CFR|=wr;     		//设定窗口值      WWDG->CR|=WWDG_CNT; 	//设定计数器值 WWDG->CR|=1<<7;  		//开启看门狗      MY_NVIC_Init(2,3,WWDG_IRQn,2);//抢占2,子优先级3,组2     WWDG->SR=0X00; 			//清除提前唤醒中断标志位 WWDG->CFR|=1<<9;        //使能提前唤醒中断 
} 

5.2 重置WWDG计数器的值

该部分程序位于HARDWARE/wdg.c/WWDG_Set_Counter(),主要功能是通过WWDG_CR寄存器重置7位计数器,相当于喂狗。具体程序如下所示:

//重设置WWDG计数器的值 
void WWDG_Set_Counter(u8 cnt) 
{ WWDG->CR =(cnt&0x7F);//重设置7位计数器 
} 

5.3 窗口看门狗中断服务程序

该部分程序位于HARDWARE/wdg.c/WWDG_IRQHandler(),主要功能是在中断中喂狗(重置WWDG计数器的值),软件清除提前唤醒中断标志位,并控制DS1翻转(提示信息)。具体代码如下所示:

//窗口看门狗中断服务程序 
void WWDG_IRQHandler(void) 
{      WWDG_Set_Counter(WWDG_CNT);//重设窗口看门狗的值!         WWDG->SR=0X00;//清除提前唤醒中断标志位 LED1=!LED1; 
}

六、上机实验

将代码烧录至STM32F103ZET6,窗口看门狗不断触发中断,DS1灯不停闪烁,如下所示:

http://www.hkea.cn/news/756000/

相关文章:

  • 网站栏目策划企业网络营销方案
  • 网站自动采集指标sem广告投放是做什么的
  • 想做一个个人网站怎么做培训学校
  • 网站开发ipv6升级如何创建自己的小程序
  • 做网站需要备案吗外贸网站推广与优化
  • 独立网站建设流程b站视频推广网站动漫
  • 泰安诚信的网站建设b站推广入口2023年
  • 高校网站建设资料库东莞seo推广公司
  • 电子印章手机在线制作软件四川seo整站优化费用
  • 个人风采网站制作外贸网站平台哪个好
  • 沈阳企业建站谷歌推广和seo
  • .la域名做的网站如何快速推广app
  • 广州优化网站建设怎么用手机制作网站
  • 做微网站的第三方学网络营销
  • 湖南做网站的公司有哪些搜索引擎是什么
  • flash网站管理系统seo优化排名易下拉用法
  • 永年网站建设友链互换平台推荐
  • 企业网站的设计公司网络广告营销的典型案例
  • 高校思政主题网站建设的意义关键词歌词任然
  • 哪里做网站比较快2345网址导航下载桌面
  • 广州建设委员会官方网站凡科建站下载
  • 全球做网站的公司排名百度一下你就知道官网
  • 小企业网站价格免费发链接的网站
  • 买了空间和域名 怎么做网站哪家公司网站做得好
  • 网站备案是否关闭衡阳网站建设公司
  • 遂昌建设局网站个人怎么做网站
  • 软件开发和网站建设网络营销的未来6个发展趋势
  • 做网站一年多少钱免费seo网站推广
  • 智通人才网东莞最新招聘信息官网seo是如何做优化的
  • 个人做跨境电商网站百度地图导航手机版免费下载