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

豪华跑车网站建设现在网站优化怎么做

豪华跑车网站建设,现在网站优化怎么做,wordpress显示缩略图 摘要,湖南长沙旅游攻略1.IWDG狗简介 除了始终控制器的RCC_CSR寄存器的父为标志位和备份区域中的寄存器以外#xff0c;系统复位 将复位所有寄存器至它们的复位状态。 当发生以下任一事件时#xff0c;产生一个系统复位#xff1a; 1.NRST引脚上的 低 电平#xff0c;即 外部复位#xff1b;2… 1.IWDG狗简介 除了始终控制器的RCC_CSR寄存器的父为标志位和备份区域中的寄存器以外系统复位 将复位所有寄存器至它们的复位状态。 当发生以下任一事件时产生一个系统复位 1.NRST引脚上的 低 电平即 外部复位2.窗口看门狗计数器终止即 WWDG复位3.独立看门狗计数器终止即 IWDG复位4.软件复位 即 SW复位5.低功耗管理复位。 1.1IWDG应用场景 1.2 IWDG工作原理 2. IWDG配置步骤 略 3.编程实战验证不及时喂狗系统将自动重启 3.1 公式计算自动重载值和预分频系数 Tout psc*rlr / fIWDG Tout 是溢出时间 由开发人员确定例如1Spsc 是预分频系数根据库头文件去查找 例如IWDG_PRESCALER_32 , 分频系数/32最长时间是2.2758秒fIWDG是独立的内部时钟源频率这个要查芯片手册例如40KHz 40 000rlr 是自动重载值根据公式计算得出。 (函数参数中的自动重载值和预分频系数根据溢出时间和时钟频率进行设置。不要乱填写。) 3.2 程序截图 3.3 航顺HK32F030M 的IWDG 3.3.1 HK32F030M的看门狗时钟 独立的看门狗是基于一个 12 位的递减计数器和一个 8 位的预分频器它由一个内部独立的114kHz 的 RC 振荡器 提供时钟因为这个 RC 振荡器独立于主时钟所以它可运行于停机和待机模式。它可以被当成看门狗用于在发生问题时复位整个系统或作为一个自由定时器为应用程序提供超时管理。通过选择字节可以配置成是软件或硬件启动看门狗。在调试模式计数器可以被冻结。 HK32F030M数据手册_V1.0.13 3.3.2 HK32F030M的结构框架图 ARM 的 Cortex™-M0 处理器是最新一代的嵌入式 32 位 RISC 处理器它是一个低成 本、低功耗的 MCU 平台同时提供卓越的计算性能和先进的中断系统响应。 HK32F030M 系列产品拥有内置的 Cortex™-M0 核心因此它与所有的 ARM 工具和软件 兼容。 该系列产品的功能框图如下图 114kHz片内时钟 系统时钟需要在【system_hk32f030m.c】文件中设置否则默认32MHz。 3.3.4 程序 3.3.4.1 自动重载值和预分频系数计算 计算 IWDG 的超时时间 1s。 Tout(s) prv*rlv (s)/114000 片内慢速 LSI 时钟114kHz rlv 1S*114000Hz /128 890 3.3.4.2 程序实现 bsp_iwdg.c #include bsp_iwdg.h/** 设置 IWDG 的超时时间* Tout(s) prv*rlv (s)/114000 // 114Khz HK32F030M片内时钟* rlv 1S*114000Hz /128 890* prv可以是[4,8,16,32,64,128,356]* prv:预分频系数,取值如下* arg IWDG_Prescaler_4: IWDG prescaler set to 4* arg IWDG_Prescaler_8: IWDG prescaler set to 8* arg IWDG_Prescaler_16: IWDG prescaler set to 16* arg IWDG_Prescaler_32: IWDG prescaler set to 32* arg IWDG_Prescaler_64: IWDG prescaler set to 64* arg IWDG_Prescaler_128: IWDG prescaler set to 128* arg IWDG_Prescaler_256: IWDG prescaler set to 256* rlv:重载值取值范围为0-0xFFF* 函数调用举例* IWDG_Config(IWDG_Prescaler_128, 890); // IWDG 1s 超时溢出 */void IWDG_Config(uint8_t prv, uint16_t rlv) {/* 使能 预分频寄存器PR和重装载寄存器RLR可写 */IWDG_WriteAccessCmd( IWDG_WriteAccess_Enable);/* 设置预分频器值 */IWDG_SetPrescaler( prv );/* 设置重装载寄存器值 */IWDG_SetReload( rlv );/* 把重装载寄存器的值放到计数器中 */ IWDG_ReloadCounter();/* 使能IWDG */IWDG_Enable(); }/* 喂狗 */ void IWDG_Feed(void) {/* 把重装载寄存器的值放到计数器中喂狗防止IWDG复位当计数器的值减到0的时候会产生系统复位*/IWDG_ReloadCounter(); } bsp_iwdg.h #ifndef __IWDG_H #define __IWDG_H#include hk32f030m.hvoid IWDG_Feed(void); void IWDG_Config(uint8_t prv, uint16_t rlv);#endifmain.c /********************************************************************************* file main.c* author Alexander* version V1.0* date 2022-xx-xx* brief IWDG独立看门狗实验****************************************************************************** * */ #include hk32f030m.h #include bsp_led.h #include bsp_key.h #include bsp_iwdg.hstatic void Delay(__IO uint32_t nCount); /*** brief 主函数* param 无 * retval 无*/int main(void) {/* LED端口初始化 */LED_GPIO_Config();Delay(0xFFFFF);/*-----------------------------------------------------------------------*//* 检查是否为独立看门狗复位 */if( RCC_GetFlagStatus(RCC_FLAG_IWDGRST) ! RESET){/* 独立看门狗复位 */LED3_ON;/* 清除标志 */RCC_ClearFlag();/*如果一直不喂狗会一直复位加上前面的延时会看到LED3灯闪烁。在1s时间内喂狗的话则会持续灭LED3*/}else{/* 不是独立看门狗复位(可能为上电复位或者手动按键复位之类的) *//* 亮LED3 */// LED2_ON;}/*-----------------------------------------------------------------------*//* 按键端口初始化 */Key_GPIO_Config();/* IWDG 1s 超时溢出 */IWDG_Config(IWDG_Prescaler_128, 890); while(1) { /* 这里添加需要被监控的代码如果有就去掉按键模拟喂狗把按键扫描程序去掉 */if( Key_Scan(KEY1_GPIO_PORT,KEY1_GPIO_PIN) KEY_ON ){/* 喂狗如果不喂狗系统则会复位LED1则会灭一次如果在1s时间内准时喂狗的话则LED3会在重启的时候亮复位的时候灭 */IWDG_Feed();/* 喂狗后LED3灭 */LED3_OFF;} } }static void Delay(__IO uint32_t nCount) //简单的延时函数 {for(; nCount ! 0; nCount--); }#ifdef USE_FULL_ASSERT /*** brief Reports the name of the source file and the source line number* where the assert_param error has occurred.* param file: pointer to the source file name* param line: assert_param error line source number* retval None*/ void assert_failed(char* file , uint32_t line) {/* User can add his own implementation to report the file name and line number,tex: printf(Wrong parameters value: file %s on line %d\r\n, file, line) */ /* Infinite loop */while (1){ } } #endif /* USE_FULL_ASSERT */ 3.3.4.3 成果展示 HK32F030MF4P6最小系统板之《独立看门狗复位》4.独立看门狗总结 5.WWDG简介 6. WWDG配置步骤 7.IWDG 和 WWDG的主要区别 如果我们知道whlie(1)里的代码执行总时间比如是500ms,那么我们可以设置独立看门狗的溢出;时间是600ms比500ms多一点如果要被监控的程序没有跑飞正常执行的话那么执行完 毕之后就会执行喂狗的程序如果程序跑飞了那程序就会超时到达不了喂狗的程序此 时产生系统复位。 但是也不排除程序跑飞了又跑回来的了刚好喂狗了歪打正着。 所以 要想更精确的监控程序可以使用窗口看门狗窗口看门狗规定必须在规定的窗口时间内喂狗。 参考资料 [1] 【B站正点原子官方】全是干货无套路 | 手把手教你深入学习独立看门狗窗口看门狗 [2] 【B站阿熊话太多】单片机中居然也有狗STM32两条看门狗详解独立看门狗和窗口看门狗
http://www.dnsts.com.cn/news/114410.html

相关文章:

  • 怎么做网站广告卖钱做网站设计的需要什么材料
  • 商城网站设计与实现体育网站建设
  • 当富广州网站建设网站开发 名片
  • 贵阳做网站的公司做网站的时候想要满屏
  • 北京网站设计公司价格网页设计师常用网站
  • 网站建设及管理基本要求新媒体运营和ui设计哪个好
  • 电子商务网站管理系统完美版网站产品详情页怎么做
  • 全平台开发网站及app光辉网站建设
  • 定兴县住房和城乡建设局网站网站开发学习步骤
  • 收到网站代码后怎么做网站建设开发模式h5
  • 国外域名建站番禺网站建设gzhchl
  • 北京网站制作与网站设计wordpress可视编辑
  • wordpress站点后台深圳做网站要
  • 珠海手机网站开发免费装修设计软件哪个好
  • 在大学做网站赚钱吗WordPress编辑器高亮
  • 南宁网站建设mxfsem做塑料哪个网站好
  • 湖南中海建设集团有限公司网站详情页设计英文翻译
  • 什么样的网站需要认证网站后台 js框架
  • 网站出售商品建设wap网站建设案例
  • 赤水网站建设千万别在百度上搜别人名字
  • 公司网站建设的项目工作分解结构南京做网站建设有哪些内容
  • 做美食的网站哪个好网站怎么添加域名
  • 宝塔建站详细教程做资源共享网站
  • 网站换ip注意常州兼职网站建设
  • 黄页名录网站开发云南做网站哪家便宜
  • 沧州省建设厅网站福建国通星驿网络科技有限公司
  • 女的有没有做网站的网页制作工作程序
  • 建设一个网站app需要多少钱wordpress里的主题怎么购买
  • 虚拟空间可以做视频网站么不用交钱的夜间禁用app
  • 新余 网站建设WordPress模板修改后无反应