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

网站网页的优化方法开网站需要投资多少钱

网站网页的优化方法,开网站需要投资多少钱,怎么建立购物网站,国家城乡建设规划部网站嵌入式_GD32独立看门狗配置与注意事项 文章目录 嵌入式_GD32独立看门狗配置与注意事项前言一、什么是独立看门狗定时器(FWDGT)二、独立看门狗定时器原理三、独立看门狗定时器配置过程与注意事项总结 前言 使用GD3单片机时,为了提供了更高的安…

嵌入式_GD32独立看门狗配置与注意事项


文章目录

  • 嵌入式_GD32独立看门狗配置与注意事项
  • 前言
  • 一、什么是独立看门狗定时器(FWDGT)
  • 二、独立看门狗定时器原理
  • 三、独立看门狗定时器配置过程与注意事项
  • 总结


前言

使用GD3单片机时,为了提供了更高的安全性、时间的精确性和使用的灵活性。独立看门狗定时器可用来检测和解决由软件错误引起的故障;在此简单记录一下GD32独立看门狗的配置过程和注意事项。

注:本项目基于GD32F103CBT6硬件平台,看门狗使用时钟源为40kHz(IRC40K), 使用标准库GD32F10x_Firmware_Library_V1.0.0(提示:此库坑多、慎用!)

一、什么是独立看门狗定时器(FWDGT)

独立看门狗定时器(FWDGT) 有独立的时钟源(IRC40K) 。 即使主时钟失效, FWDGT依然能保持正常工作状态,适用于需要独立环境且对计时精度要求不高的场合。当内部向下计数器的计数值达到0,独立看门狗会产生一个系统复位。使能独立看门狗的寄存器写保护功能可以避免寄存器的值被意外的配置篡改,主要特征如下:

■ 自由运行的12位向下计数器;
■ 使能看门狗定时器,当向下计数器的值达到0时产生系统复位;
■ 独立时钟源,独立看门狗定时器在主时钟故障(例如待机和深度睡眠模式下) 时仍能工作
■ 独立看门狗定时器硬件控制位,用来控制是否在上电时自动启动独立看门狗定时器;
■ 可以配置独立看门狗定时器在调试模式下选择停止还是继续工作

二、独立看门狗定时器原理

在这里插入图片描述
1.向控制寄存器(FWDGT_CTL) 中写0xCCCC可开启独立看门狗定时器,计数器开始向下计数。当计数器记到0x000,产生一次系统位。2.在任何时候向FWDGT_CTL中写0xAAAA都可以重装载计数器,重装载值来源于重装载寄存器(FWDGT_RLD) 寄存器。软件可以在计数器计数值达到0x000之前可以通过重装载计数器来阻止看门狗定时器产生系统复位。
3.如果在选项字节中打开了“硬件看门狗定时器”功能,那么在上电的时候看门狗定时器就被自动打开。
4.为了避免系统复位,软件应该在计数器达到0x000之前重装载计数器。
5.预分频寄存器(FWDGT_PSC) 和FWDGT_RLD寄存器都有写保护功能。在写数据到这些寄存器之前,需要写0x5555到FWDGT_CTL中。写其他任何值到FWDGT_CTL中将会再次启动对这些寄存器的写保护。
6.当FWDGT_PSC或者FWDGT_RLD更新时, FWDGT_STAT寄存器的相应状态位会被置1。
7.如果在DBG控制寄存器0(DBG_CTL0) 中的FWDGT_HOLD位被清0,即使Cortex®-M3内核停止(调试模式下) 独立看门狗定时器依然工作。如果FWDGT_HOLD位被置1,独立看门狗定时器将在调试模式下停止工作

注1:关于状态寄存器的RUD和PUD位说明
在这里插入图片描述在这里插入图片描述

注2:因为重装载寄存器的宽度只有12位,所以最大数值为4095,按照看门狗使用时钟源为40kHz(IRC40K)来计算:
复位时间T_out = (Prer * Rlr)/ 40 (ms)
Prer 为下图预分频系数的倒数, Rlr为重装载计数器的的装载值
在这里插入图片描述

三、独立看门狗定时器配置过程与注意事项

根据程序运行时间来估计一个看门狗复位时间,例如我们需要配置一个复位周期时间为200ms的独立看门狗,步骤如下:
1.计算:配置预分频系数为32,重装载值为250 (200ms = (32*250)/40)
2.需要写0x5555到FWDGT_CTL中,解除解除FWDGT_PSC寄存器和FWDGT_RLD寄存器的写保护,
3.等待等待FWDGT_STAT寄存器的PUD位被置0,可进行设置预分频系数.
4.等待等待FWDGT_STAT寄存器的RUD位被置0,可进行设置重装载数值.
5.重装载计数器,
6.开启独立看门狗,
7.检查是否设置了指定独立看门狗的RCC标志,如果被置起选择清除
8.200ms内喂狗

代码如下(示例):

/************************************************************************功能块说明:宏定义***********************************************************************/
#define FWDG_WRITEACCESS_ENABLE     (0x5555U)
#define FWDG_WRITEACCESS_DISABLE    (0x0000U)
#define FWDG_KEY_RELOAD             (0xCCCCU)
#define FWDG_KEY_ENABLE             (0xAAAAU)#define FWDG_INIT_TIMEOUT           (800u)
#define FWDG_TIMEOUT_200MS          (500u)/************************************************************************功能块说明:看门狗初始化***********************************************************************/
void FWDG_Init(void)
{uint16_t FWDG_Counter = 0;TypeState Flag_Status;/*解除FWDGT_PSC寄存器和FWDGT_RLD寄存器的写保护*/IWDG_Write_Enable(FWDG_WRITEACCESS_ENABLE);/*等待FWDGT_STAT寄存器的PUD位被置0*/do{Flag_Status = IWDG_GetBitState(IWDG_BIT_PUD);FWDG_Counter++;}while((FWDG_Counter < FWDG_INIT_TIMEOUT) && (RESET != Flag_Status));if(Flag_Status != RESET){/*INIT Fail*/}else{/*32分频,最小计数时间0.8ms*/IWDG_SetPrescaler(IWDG_PRESCALER_32);}FWDG_Counter = 0;/*等待FWDGT_STAT寄存器的RUD位被置0*/do{Flag_Status = IWDG_GetBitState(IWDG_BIT_RUD);FWDG_Counter++;}while((FWDG_Counter < FWDG_INIT_TIMEOUT) && (RESET != Flag_Status));if(Flag_Status != RESET){/*INIT Fail*/}else{/*设置装载值250*/IWDG_SetReloadValue(FWDG_TIMEOUT_200MS);}/*重装载计数器*/IWDG_ReloadCounter();/*开启独立看门狗*/IWDG_Enable();/*Check if the system has resumed from IWDG reset */if (RCC_GetBitState(RCC_FLAG_IWDGRST) != RESET){RCC_ClearBitState();}   
}/*喂狗函数*/
void FWDG_FeedWdg(void)
{IWDG_ReloadCounter();
}

总结

1.看门狗是把双刃剑,使用与不适用需要根据程序的实际情况来确定,如果要依靠频繁使用看门狗复位来修正程序,那一定不是件好事。
2.调试过程最好提前关闭看门狗,否则会有意想不到的bug…

http://www.mnyf.cn/news/42682.html

相关文章:

  • 做淘宝客淘宝网站被黑windows优化大师怎么样
  • 在阿里云网站建设百度云网盘资源分享网站
  • 最好的网站模版南京百度竞价推广公司排名
  • wap 网站的盗链问题培训后的收获和感想
  • 销售方案网站武汉百度seo排名
  • 重庆网站的网络推广国际新闻界
  • 南昌商城网站建设公司推广用哪个平台效果好
  • 企业网站源码挣钱吗徐州seo外包公司
  • 批量发布文章到wordpressseo教学培训
  • 教人做窗帘的视频网站短视频seo排名加盟
  • seo是东莞企业网站排seo百度霸屏推广一般多少钱
  • 二次元百科官网wordpress深圳防疫措施优化
  • 企业做网站优点百度一下手机版网页
  • 手机网站合同社群营销平台有哪些
  • 做鼻翼整形整形的网站营销软文写作
  • 十大场景营销案例宁德seo推广
  • 怎么做视频解析网站吗成人职业技能培训班
  • 公司网站的服务器网络推广公司专业网络
  • 成交型网站建设价格做企业推广的公司
  • 如何自己做网站模版seo管理平台
  • 河南省做网站的公司百度地图关键词优化
  • 遵义 网站建设长沙全网覆盖的网络推广
  • visio网站建设流程图免费刷推广链接的软件
  • 网站建设用苹果系统与liunx360建站和凡科哪个好
  • 网站的电子画册怎么做百度商城app
  • 四川省建设工程质量监理协会网站怎么自己弄一个平台
  • 个人网站策划书怎么做引擎优化seo
  • 企业网站搜索引擎推广方法包括怎么做起泡胶
  • 北京亦庄做网站公司百度云网盘下载
  • 博客网站需要的功能百度移动端排名