WDG
更新时间:2019-01-25 14:45:05
接口列表
接口详情
int32_t hal_wdg_init(wdg_dev_t *wdg)
描述 |
初始化指定看门狗 |
参数 |
wdg:看门狗设备描述 |
返回值 |
返回成功或失败, 返回0表示看门狗初始化成功,非0表示失败 |
void hal_wdg_reload(wdg_dev_t *wdg)
描述 |
重载指定看门狗,喂狗 |
参数 |
wdg:看门狗设备描述 |
返回值 |
返回成功或失败, 返回0表示看门狗重载成功,非0表示失败 |
int32_t hal_wdg_finalize(wdg_dev_t *wdg)
描述 |
关闭指定看门狗 |
参数 |
wdg:看门狗设备描述 |
返回值 |
返回成功或失败, 返回0表示看门狗关闭成功,非0表示失败 |
相关结数据结构
wdg_dev_t
typedef struct {
uint8_t port;
wdg_config_t config;
void *priv;
} wdg_dev_t;
wdg_config_t
typedef struct {
uint32_t timeout;
} wdg_config_t;
使用示例
#include <aos/hal/wdg.h>
#define WDG1_PORT_NUM 1
wdg_dev_t wdg1;
int application_start(int argc, char *argv[])
{
int ret = -1;
wdg_config_t wdg_cfg;
static int count = 0;
wdg1.port = WDG1_PORT_NUM;
wdg1.config.timeout = 1000;
ret = hal_wdg_init(&wdg1);
if (ret != 0) {
printf("wdg1 init error !\n");
}
while(1) {
hal_wdg_reload(&wdg1);
if (count == 20) {
hal_wdg_finalize(&wdg1);
}
aos_msleep(500);
count++;
};
}
注:port为逻辑端口号,其与物理端口号的对应关系见具体的对接实现
移植说明
新建hal\_wdg\_xxmcu.c和hal\_wdg\_xxmcu.h的文件,并将这两个文件放到platform/mcu/xxmcu/hal目录下。在hal\_wdg\_xxmcu.c中实现所需要的hal函数,hal\_wdg\_xxmcu.h中放置相关宏定义。
参考platform/mcu/stm32l4xx/src/STM32L496G-Discovery/hal/hal\_wdg\_stm32l4.c