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

西宁做网站的公司bj君博沟通百度指数app官方下载

西宁做网站的公司bj君博沟通,百度指数app官方下载,佛山网站开发公司有哪些,mac wordpress数据库开发板 亚博K210开发板 实验目的 本节课主要学习 K210 的看门狗超时复位的功能 实验准备 实验元件 K210 芯片中的看门狗。 元件特性 WDT 是外围总线(APB)的一种从外设,并且也是“同步化硬件组件设计”的组成部分,具有两个…

开发板

亚博K210开发板
在这里插入图片描述

实验目的

本节课主要学习 K210 的看门狗超时复位的功能

实验准备

实验元件

K210 芯片中的看门狗。

元件特性

WDT 是外围总线(APB)的一种从外设,并且也是“同步化硬件组件设计”的组成部分,具有两个 WDT,分别为 WDT0 和 WDT1 看门狗定时器,主要包含的模块有一个 APB 从接口,一个当前计数器同步的寄存器模块,一个随着计数器递减的中断/系统重置模块和逻辑控制电路,一个同步时钟域来为异步时钟同步做支持。
看门狗定时器支持如下设置:

  • APB 总线宽度可配置为 8、16 和 32 位

  • 时钟计数器从某一个设定的值递减到 0 来指示时间的计时终止

  • 可选择的外部时钟使能信号,用于控制计数器的计数速率

  • 一个时钟超时 WDT 可以执行以下任务:

    – 产生一个系统复位信号
    – 首先产生一个中断,即使该位是否已经被中断服务清除,其次它会产生一

  • 个系统复位信号

  • 占空比可编程调节

  • 可编程和硬件设定计数器起始值

  • 计数器重新计时保护

  • 暂停模式,仅当使能外部暂停信号时

  • WDT 偶然禁用保护

  • 测试模式,用来进行计数器功能测试(递减操作)

  • 外部异步时钟支持。当该项功能启用时,将会产生时钟中断和系统重置信号,即使 APB 总线时钟关闭的情况下

SDK 中对应 API 功能

对应的头文件 wdt.h

WDT 看门狗在开发单片机中作用巨大,可以在程序出现死机的情况自动重启系统,而不需要手动操作。
相关接口:

• wdt_init:配置看门狗参数,启动看门狗,不使用中断的话,将 on_irq 设置为 NULL。返回值为看门狗实际超时时间,一般比设置的时间稍微大一些。
• wdt_start(0.6.0 后不再支持,请使用 wdt_init)
• wdt_stop:关闭看门狗。
• wdt_feed:重置看门狗计时器,俗称喂狗。
• wdt_clear_interrupt:清除中断,如果在中断函数中清除中断,看门狗不会重启。

实验原理

看门狗其实就是一个需要在设定一定时间内被复位的计数器,如果没有按时复位,则会强制系统复位。在看门狗启动前需要配置超时时间,当看门狗启动后,计数器开始自动计数,经过一定时间,如果没有被复位,计数器溢出就会对 CPU产生一个复位信号使系统重启(俗称“被狗咬”)。要保证系统正常运行时,需要在看门狗超时时间内重置看门狗计数器(俗称“喂狗”)。

实验过程

  1. 首先在系统启动的时候答应一次“system start!”提示,可以清楚地知道系统什么时候重启过。times 用于记录喂狗的次数。然后初始化系统中断以及使能全局中断。
/* 打印系统启动信息 */
printf("system start!\n");
/* 记录feed的次数 */
int times = 0;/* 系统中断初始化 */
plic_init();
sysctl_enable_irq();
  1. 配置看门狗的参数,使用的是看门狗 WDT0,设置超时时间为 2 秒,中断函数函数为 wdt0_irq_cb,返回值是看门狗实际超时的时间,一般会比设置的时间稍微大一些。这里注意中断函数不是超时的时候调用的,而是实际超时时间的一半调用的。比如这里设置了 2 秒超时时间,实际超时时间约 2.58 秒,如果在 1.29秒之前没有喂狗,则会调用中断回调函数。
/* 启动看门狗,设置超时时间为2秒后调用中断函数wdt0_irq_cb */
int timeout = wdt_init(WDT_DEVICE_0, 2000, wdt0_irq_cb, NULL);/* 打印看门狗实际超时的时间 */
printf("wdt timeout is %d ms!\n", timeout);
  1. 在 WDT0 的中断回调中打印系统超时的信息,默认 WDT_TIMEOUT_REBOOT 为1,看门狗超时重启,如果把 WDT_TIMEOUT_REBOOT 设置为 0,则重启只会打印提示,不会重启。
#define WDT_TIMEOUT_REBOOT    1
int wdt0_irq_cb(void *ctx)
{#if WDT_TIMEOUT_REBOOTprintf("%s:The system will reboot soon!\n", __func__);while(1);#elseprintf("%s:The system is busy but not reboot!\n", __func__);wdt_clear_interrupt(WDT_DEVICE_0);#endifreturn 0;
}
  1. 前五次每隔 1 秒钟喂狗一次,所以在五秒之后没有喂狗,系统约过 2.6 秒后重启。
 while(1){sleep(1);if(times++ < 5){/* 打印feed的次数 */printf("wdt_feed %d times!\n", times);/* 重置看门狗的计时器,重新开始计时 */wdt_feed(WDT_DEVICE_0);}}
  1. 编译调试,烧录运行
    进入自己项目 build目录,运行以下命令编译。
cmake .. -DPROJ=watchdog -G "MinGW Makefiles"
make

编译完成后,在 build 文件夹下会生成 watchdog.bin 文件。使用type-C 数据线连接电脑与 K210开发板,打开kflash,选择对应的设备,再将程序固件烧录到 K210 开发板上。

实验现象

烧录完成固件后,系统会弹出一个终端界面,如果没有弹出终端界面的可以打开串口助手显示调试内容。
在这里插入图片描述

实验总结

1.看门狗的作用是当没有在设定的时间内喂狗,则系统会发送中断使系统强制重启。
2.看门狗必须在系统正常运行的情况下喂狗,这样系统异常时就能够及时重启系统。
3.看门狗的定时中断是实际超时时间的一半,需要在这个时间内喂狗

http://www.dtcms.com/wzjs/444034.html

相关文章:

  • ajaxjsp网站开发从入门到精通全球搜索
  • 自己做的网站竞价优化推广软件的渠道有哪些
  • 南昌商城网站设计蔡甸seo排名公司
  • 黄浦集团网站建设百度官网登录
  • 企业网站的内容营销百度搜索引擎优化方式
  • 自己搭建网站做网上商城北京seo管理
  • php用什么做网站服务器吗如何进行网络推广
  • wordpress做购物网站企业查询系统官网
  • 网站建设制作找哪家网站优化一年多少钱
  • 网站建设服务价格多少关键词排名优化软件
  • 购物网站建设基本流程搜索引擎优化seo价位
  • 网站建设项目经历青岛seo推广公司
  • 华容县住房和城乡建设局网站竞价托管外包代运营
  • 刚做的网站适合做外链吗今日头条极速版官网
  • 如何让企业网站张家界百度seo
  • app一键生成平台免费软件广东seo推广费用
  • 前端做的网站百度新闻头条
  • 定制网站公司哪家好seo课程总结怎么写
  • 佛山市南海建设局网站seo是什么技术
  • 网站建设网站建设宁波seo网页怎么优化
  • 深圳网站建设公司jsp广州营销seo
  • 做网站公司郑州郑州的网站建设公司百度的链接
  • 一个网站用两个域名网店推广运营策略
  • 公司注销网站备案优化营商环境的金句
  • 教我做网站seo排名是什么意思
  • 室内设计意向图网站微营销推广平台有哪些
  • 如何自建网站 优帮云中国十大搜索引擎排名
  • 网站如何加入百度联盟亚马逊查关键词搜索量的工具
  • 日本樱花云服务器网站站长工具黄
  • 门户网站需要多少费用推广软件赚钱的app