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

单页网站制作系统零售网站制作

单页网站制作系统,零售网站制作,抖音代运营违法吗,手机好用的wordpress在做嵌入式开发的时候,经常需要用到延时函数,STM32为我们提供了一个标准的毫秒级延时函数:HAL_Delay()。这个函数用起来很方便,括号内的数就是延时的毫秒数。 但是程序中如果需要用到看门狗的话呢,这玩意需要经常喂的…

在做嵌入式开发的时候,经常需要用到延时函数,STM32为我们提供了一个标准的毫秒级延时函数:HAL_Delay()。这个函数用起来很方便,括号内的数就是延时的毫秒数。

但是程序中如果需要用到看门狗的话呢,这玩意需要经常喂的,否则一旦超时就会复位。

所以很容易想到,在延时函数中增加喂狗的代码,如下:

void delay_ms(u32 time)
{u32 i;for(i=0; i<time; i++){HAL_Delay(1);HAL_IWDG_Refresh(&hiwdg);}
}

这样当然可以运行,但是不完美,比如在程序调试的时候,我们经常需要关闭看门狗,还有就是这样一来延时会很不准确,特别是系统频繁要进中断的话,实际延时会比预期长不少。

我相信很多人都没有看过这个HAL_Delay()函数实现的代码。具体如下:

__weak void HAL_Delay(uint32_t Delay)
{uint32_t tickstart = HAL_GetTick();uint32_t wait = Delay;/* Add a freq to guarantee minimum wait */if (wait < HAL_MAX_DELAY){wait += (uint32_t)(uwTickFreq);}while ((HAL_GetTick() - tickstart) < wait){}
}

最前面的__weak表明它是一个弱函数,也就是说我们可以自己编程来实现它,把喂狗的功能集成到这个函数内,从外部看,仍然用的是HAL_Delay()这个函数名,代码风格可以和HAL库保持一致。

实现也很简单,自己建一个延时函数LL_delay.c,如下:

void HAL_Delay(uint32_t Delay)
{uint32_t tickstart = HAL_GetTick();uint32_t wait = Delay;/* Add a freq to guarantee minimum wait */if (wait < HAL_MAX_DELAY){wait += (uint32_t)(uwTickFreq);}while ((HAL_GetTick() - tickstart) < wait){HAL_IWDG_Refresh(&hiwdg);   //自己添加的喂狗函数}
}

就是在最后的while循环中增加一行喂狗的代码,再相应添加LL_delay.h,如下:

#ifndef _LL_DELAY_H_
#define _LL_DELAY_H_void HAL_Delay(uint32_t Delay);

这样就几乎不用再操心喂狗的事了

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

相关文章:

  • 怎样修改公司网站内容wordpress 计算器插件
  • 南阳网站建设的公司黄冈网站建设价格
  • 网站推广协议网站模板psd素材
  • 免费创一个网站云南免费网站建设
  • 大型信息类PC网站适合vue做吗免费公司宣传册设计样本
  • 一般做网站用什么字体沈阳网站推广公司
  • 网站建设条件想学网站建设优化去哪
  • 网站建设优化扬州咸阳市城乡建设规划局网站
  • 苏州网站开发公司电话wordpress自媒体主题更新失败
  • 个人备案网站做盈利合法吗公式wordpress
  • wordpress网站制作教程视频没有地址如何注册公司
  • 小学网站源码php手机端wordpress怎么用
  • 甘肃省建设厅网站首页网站建设得花多少钱
  • 山西网站建设网站杭州市网站建设公司
  • 南京小程序网站开发东莞seo推广优化排名
  • 什么平台可以做网站无忧seo博客
  • 杭州知名网站建设做医疗的网站建设
  • 火的网站建设明细报价表免费建站网站 百度一下
  • 网站建设申请总结怎样建一个自己公司的网站
  • 太原网站制作在线南宁网站建设
  • 前端设计除了做网站还能做什么建设科技期刊官网
  • php网站后台上传不了图片网上做平面设计的网站
  • 网站建设推广平台网址wordpress怎么编辑网页
  • 跨境电商平台一览表长沙网站搭建seo
  • 华为手机网站建设策划方案论文pc网站还有必要做吗
  • 自学建设网站中山楼市最新消息
  • 350做网站深圳手表网网站
  • wordpress做电影网站创造一个网站
  • pc端微信端网站建设无锡高端网站建设
  • wordpress小图标网站常见的网上购物平台有哪些