S32的进阶之路->8,S32DS的WDOG看门狗配置

硬件:S32K144开发板

软件:S32DS 2.2

 1,S32K144硬件连接说明

       看门狗定时器时间到没有喂狗就会触发系统复位,反之定时时间内喂狗会正常工作,可以避免程序跑飞等软硬件问题。 IO口分配情况如下,S32K144开发板具有3个按键和4个LED灯,具体与芯片的引脚连接情况如下所示。

 * IO口分配情况
 * KEY1 PTC12

2,S32K144的WDOG配置

        S32DS的外设配置通过图形配置工具Component Inspector来实现。双击Components(1)按钮来添加外设。双击WDOG(2)添加WDOG看门狗外设。

        进行图形化配置界面,首先配置看门狗时钟源为LPO(1),频率为128KHz。其次配置Timeout Value超时时间也就是喂狗时间(2),设置为64000,超时时间也就是500ms。

        计算方法如下  Timeout Value=128KHz*超时时间=128KHz*0.5s=64000

3,S32K144的WDOG常用函数说明

1,看门狗初始化函数WDOG_DRV_Init。输入变量instance为看门狗实例,输入变量userConfigPtr为配置结构体。

/*功能**********************************************************************
 *
 * 函数名称 : WDOG_DRV_Init
 * 说明:初始化 WDOG 驱动程序
 *结束**************************************************************************/
status_t WDOG_DRV_Init(uint32_t instance,
                       const wdog_user_config_t * userConfigPtr)

2,看门狗喂狗函数WDOG_DRV_Trigger。输入变量instance为看门狗实例。

/*功能**********************************************************************
 *
 * 函数名称 : WDOG_DRV_Trigger
 * 描述 : 刷新 WDOG 计数器
 *结束**************************************************************************/
 void WDOG_DRV_Trigger(uint32_t instance)

4,S32K144的WDOG实战

        系统重新初始化会串口发送”系统复位“,按下按键1会进行喂狗。

int main(void)
{
    //...以上省略

	u1_printf("系统复位\r\n");


	WDOG_DRV_Init(INST_WATCHDOG1, &watchdog1_Config0);//看门狗定时器初始化
	INT_SYS_InstallHandler(WDOG_EWM_IRQn, WDOG_ISR, NULL);//安装看门狗中断
	INT_SYS_EnableIRQ(WDOG_EWM_IRQn);//使能看门狗中断
    while(1)
    {
    	pinstate = KEY_Proc (1);
    	if(pinstate ==BTN1_PRES )
    	{
    		WDOG_DRV_Trigger(INST_WATCHDOG1);//进行喂狗
    		u1_printf("喂狗成功 \r\n");
    	}
    }

        串口助手显示内容如下,不及时喂狗会一直复位。试验成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值