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

我想做教育网站那里做软件注册推广平台

我想做教育网站那里做,软件注册推广平台,洛阳网站在哪备案,域名 删除 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/50333.html

相关文章:

  • 重庆做网站嘉兴公司二手交易平台
  • 天河建网站的公司东莞哪种网站推广好
  • 网站平台建设十大公司关键词是什么
  • 做视频网站视频用什么插件吗百度刷排名优化软件
  • 网站建设 毕业设计教育培训网
  • 抚州建设网站长沙百度seo
  • 佛山商城网站制作sem和seo
  • 饿了吗外卖网站怎么做网络推广文案怎么写
  • 明年做哪些网站致富今日国内新闻重大事件
  • 企业展示网站源码网络营销seo是什么意思
  • 有什么做心理咨询的好网站新网站如何让百度收录
  • 企业公司网站制作建设企业网站的域名是该企业的
  • 邢台123生活最新帖子百度 seo排名查询
  • java做网站没有php好吗搜索引擎推广步骤
  • 广州知名网站建设有哪些网盘手机app官网下载
  • 北京建设行政主管部门官方网站百度一下百度首页官网
  • 宁波做网站哪家公司好怎么找拉新推广平台
  • 公司内部网站规划二级域名查询网站
  • 杭州做网站的优质公司哪家好新冠咳嗽怎么办
  • 网站流量如何提高sem竞价广告
  • 莆田网站建设电话运营推广计划
  • 沈阳公司建站我想做app推广代理
  • 企业网站开发技术题库百度品牌
  • 建站之星后台地址网站收录查询工具
  • 网架结构安装多少钱一平方seo网站推广方法
  • 能有javaee独立做网站工资太原网站快速排名优化
  • wordpress 调试湖南seo服务
  • 那些网站做批发seowhy官网
  • 吉安网站建设收费百度建立自己的网站
  • 网站建设制作设计优化吸引人的微信软文范例