- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
123龙芯单片机开发:看门狗技术应用汇报人XXX时间20XX.X202X
目录CONTENT看门狗控制器基础看门狗API函数与开发步骤任务12:看门狗实训课堂总后作业布置05
12202X3看门狗控制器基础Part01
看门狗定时器工作原理看门狗定时器是一个计数器,通常被赋予一个较大的初始值。程序运行时,它开始倒计数。如果程序运行正常,CPU会定期发出指令让看门狗复位,重新开始倒计数。例如,设定初始值为1000ms,程序每500ms喂狗一次,看门狗就会不断重置计数。
若看门狗计数减到0,系统认为程序异常,触发系统复位。这种机制可有效防止程序因死循环或异常而停止运行,保障系统稳定性。看门狗控制器结构组成看门狗控制器由配置寄存器(Config)、计数器(Counter)和比较寄存器(Compare)组成。配置寄存器用于设置看门狗的使能等基本参数,如是否启用看门狗功能。
计数器负责倒计时,其初始值由用户设定。比较寄存器则用于判断计数器是否为零,一旦为零,即发出软复位信号,强制系统重启。这种结构设计使得看门狗能够精准地监控程序运行状态。看门狗寄存器功能详解WDT_EN寄存器(地址:0XBFE5_C060):用于控制看门狗的使能状态。位31至位1为保留位,位0为使能位,设置为1时启用看门狗功能。
WDT_SET寄存器(地址:0XBFE5_C068):用于设置看门狗计数器的初始值。位31至位1为保留位,位0至位31用于存储计数器的初始值,该值决定了看门狗的倒计时时间。
WDT_TIMER寄存器(地址:0XBFE5_C064):用于存储看门狗计数器的当前值。位31至位0为计数器当前值,通过读取该寄存器,可以实时了解看门狗的倒计时状态。看门狗基本原理
12202X3看门狗API函数与开发步骤Part02
WDT设备启用与配置在bsp.h中通过宏定义#defineBSP_USE_WATCHDOG启用WDT设备。这是使用看门狗功能的前提,通过该宏定义,系统会加载与看门狗相关的驱动和配置。
配置代码位于include/bsp.h中,用户需要根据实际需求设置看门狗的相关参数,如计数器初始值等,以确保看门狗能够按照预期工作。看门狗API接口函数应用intIslx_dog_open(dog,arg)函数用于开启看门狗。参数dev为NULL,表示芯片只有一个dog设备;参数arg为unsignedint类型的毫秒数,表示看门狗计数到达该数值时系统复位。返回值为0表示成功。
intIslx_dog_close(dog,arg)函数用于关闭看门狗。参数dev为NULL,参数arg也为NULL。该函数的返回值总是0,表示关闭操作总是成功。
intIslx_dog_write(dog,buf,size,arg)函数用于向看门狗写毫秒数。参数dev为NULL,参数buf为unsignedint类型的毫秒数,参数size固定为4,参数arg为NULL。返回值为4表示成功。看门狗实用接口函数介绍intIslx_watchdog_start(unsignedintms)函数用于启动看门狗。用户只需传入一个unsignedint类型的毫秒数,即可设置看门狗的倒计时时间并启动。
intIslx_watchdog_feed(unsignedintms)函数用于喂狗,即重置看门狗的计数器。传入的毫秒数表示重新设置的倒计时时间。
intIslx_watchdog_stop(void)函数用于停止看门狗,无需传入参数,调用后看门狗停止工作。看门狗API函数解析
开发环境搭建与配置01.在新建工程时,需要在bsp.h中打开WDT设备的宏定义BSP_USE_WATCHDOG,并在main.c中添加#includelslx_watchdog.h头文件,以确保能够正常使用看门狗相关功能。
同时,还需要配置好按键KEY1,以便在后续的测试中能够模拟程序异常情况,触发看门狗复位。看门狗功能实现与测试02.编写程序时,首先调用Islx_watchdog_start(1000)开启看门狗,设置倒计时时间为1000ms。
在主循环中,每隔500ms调用Islx_watchdog_feed(1000)进行喂狗操作,以保持程序正常运行。
当按下KEY1键时,程序进入死循环,不再执行喂狗指令,此时看门狗计数减到0,系统自动复位,恢复运行。通过这种方式,可以验证看门狗在程序异常时的自动复位功能。看门狗开发步骤详解
12202X3任务12:看门狗实训Part03
01系统开启看门狗功能,每隔1000ms喂狗一次,程序正常运行。当按下KEY1键时,程序进入死循环,不再执行喂狗指令,
您可能关注的文档
- 单片机应用开发技术基础 课件 二十三:温度控制系统应用开发任务二十三.pptx
- 单片机应用开发技术基础 课件 二十二:超声波测控系统应用开发任务二十二.pptx
- 单片机应用开发技术基础 课件 二十一:传感器数据采集系统应用开发任务二十一.pptx
- 单片机应用开发技术基础 课件 二十:舵机控制系统应用开发任务二十.pptx
- 单片机应用开发技术基础 课件 十九:交通灯控制系统应用开发任务十九.pptx
- 单片机应用开发技术基础 课件 九龙芯单片机开发:模块九+SPI接口.pptx
- 单片机应用开发技术基础 课件 三龙芯1B的GPIO+-+模块3.pptx
- 单片机应用开发技术基础 课件 十六线程间同步技术与应用.pptx
- 单片机应用开发技术基础 课件 十五线程管理:RT-Thread核心机制与实践.pptx
- 单片机应用开发技术基础 课件 十四RT-Thread快速上手.pptx
- 单片机应用开发技术基础 课件 十一龙芯单片机开发:模块十一.pptx
- 单片机应用开发技术基础 课件 十龙芯单片机开发:模块十+CAN接口.pptx
- 单片机应用开发技术基础 课件 八龙芯单片机开发:模块八+I2C接口.pptx
- 单片机应用开发技术基础 课件 七龙芯单片机开发:模块七+LCD接口.pptx
- 单片机应用开发技术基础 课件 六龙芯单片机开发:模块六+PWM与定时器.pptx
- 单片机应用开发技术基础 课件 五龙芯单片机开发:模块五+UART应用开发.pptx
- 单片机应用开发技术基础 课件 四龙芯1B的中断控制器模块四.pptx
- 单片机应用开发技术基础 课件 二龙芯1x系列处理器模块二.pptx
- 单片机应用开发技术基础 课件 一龙芯1x系列处理器应用开发快速入门+-+模块1.pptx
文档评论(0)