【S32K1】wdg配置-davinci

一、基本概念

        网上很多就不赘述了。

        简单理一下这里的运行逻辑:WDG进行加计数,当wdg cnt加到超时时间就会发生复位。为了防止它复位就要进行喂狗操作--即回复wdg cnt到初值。这里使用GPT定时产生中断去喂狗,nxp的mcal将喂狗时间定义为超时时间的一半。但是这样就有个问题:若程序发生了一些异常情况,e.g.死循环,但是中断仍能正常响应,喂狗照常进行,就没办法达到wdg纠正程序状态(复位)的目的。于是需要用户在周期task中去给GPT反馈(调用Wdg_SetTriggerCondition()函数去更新当前喂狗超时时间Wdg_au16Timeout),让GPT保持喂狗。当当前喂狗超时时间为0后,关闭gpt喂狗定时器,发生复位。

二、配置以及mcal代码逻辑

1.WDG

①WdgSettingsConfig

②三种wdg模式(fast、slow需要的话可以配置不同的时钟源以及超时时间,但是这里我直接用的一样的,暂时不需要这么多模式)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值