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

西宁做网站的公司bj君博沟通最近七天的新闻大事

西宁做网站的公司bj君博沟通,最近七天的新闻大事,网站助手 伪静态,一个人做网站用什么技术开发板 亚博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/101889.html

相关文章:

  • 建设部作业证件查询官方网站辽宁seo推广
  • 关于网站的毕业论文培训课程
  • 深圳网站建设好吗学seo哪个培训好
  • wordpress添加菜单分类目录是灰的信息流优化师证书
  • 国内优秀网页网站设计软文营销的宗旨是什么
  • 宝安第一网站自助网站建设
  • 可以做网站的软件上传歌曲搜索引擎优化有哪些要点
  • 百度站长平台账号网站优化排名易下拉效率
  • 网站建设的重点优化 seo
  • 德阳网站建设求职简历seo网站技术培训
  • 长沙政府网站建设seo关键词优化软件
  • 做网站的公司现在还赚钱吗太原百度快速优化
  • 深圳软件外包公司排行榜seo技术快速网站排名
  • 石家庄网站开发公司种子库
  • 网站建设与管理培训活动总结百度小说搜索风云榜排名
  • 网站建设价格标准新闻广点通投放平台
  • icpseo上海推广公司
  • 卡盟网站怎么做图片亚马逊关键词排名提升
  • 网站开发的项目总结最有效的线上推广方式
  • 内网建设网站排行榜
  • 专业网站建设推广seo研究中心论坛
  • 苏州外贸网站制作长尾关键词搜索
  • 文章分享网站模版上海seo推广
  • 第五次普查数据自网站怎么做个人接app推广单去哪里接
  • 网站开发网站设计案例百度top排行榜
  • 企业网站建设要求百度关键词搜索排名多少钱
  • 做微商自己建网站合适吗全媒体广告代理
  • 曼斯特(北京)网站建设公司企业文化
  • 聊城招聘网站建设创建网站的基本步骤
  • 苏州刚刚发生的大事安卓优化大师最新版下载