ret = rt_device_control(wdg_dev, RT_DEVICE_CTRL_WDT_SET_TIMEOUT, &timeout); if (ret != RT_EOK) { rt_kprintf("set %s timeout failed!n", device_name); return RT_ERROR; } /启动看门狗/ ret = rt_device_control(wdg_dev, RT_DEVICE_CTRL_WDT_START, RT_NULL); if (ret != RT_E...
wdg_dev=rt_device_find(device_name); if(!wdg_dev) { rt_kprintf("find %s failed!\n",device_name); returnRT_ERROR; } /* 设置看门狗溢出时间 */ ret=rt_device_control(wdg_dev,RT_DEVICE_CTRL_WDT_SET_TIMEOUT,&timeout); if(ret!=RT_EOK) { rt_kprintf("set %s timeout failed!\n",...
rt_err_t rt_device_unregister(rt_device_t dev); 下面代码为看门狗设备的注册示例, 调用 rt_hw_watchdog_register() 接口后, 设备通过rt_device_register() 接口被注册到 I/O 设备管理器中。 const static struct rt_device_ops wdt_ops = { rt_watchdog_init, rt_watchdog_open, rt_watchdog_cl...
单位: 秒*/staticrt_device_twdg_dev;/* 看门狗设备句柄 *//* 根据设备名称查找看门狗设备, 获取设备句柄 */wdg_dev=rt_device_find(WDT_DEVICE_NAME);/* 初始化设备 */rt_device_init(wdg_dev);/* 设置看门狗溢出时间 */rt_device_control(wdg_dev,RT_DEVICE_CTRL_WDT_SET_TIMEOUT,(void*)time...
在master/bsp/stm32f4xx-HAL/drivers/drv_iwg.c源文件的 drv_control函数有如下代码: ` static rt_err_t drv_control(rt_watchdog_t *wdt, int cmd, void *arg) { switch (cmd) { case RT_DEVICE_CTRL_WDT_SET_TIMEOUT: hiwdg.Init.Reload = (rt_uint32_t)*arg; if (HAL_IWDG_Init(&hiwdg...
rt_err_t rt_adc_disable(rt_adc_device_t dev, rt_uint32_t channel); 1.3.6 WDT 1.3.6.1 用户态程序使用WDT 打开设备节点 open(WDT_DEVICE_NAME, O_RDWR); 设置超时时间 ioctl(wdt_fd, CTRL_WDT_SET_TIMEOUT, &timeout); 启动看门狗计时 ioctl(wdt_fd, CTRL_WDT_START, NULL); 喂狗 ...
rtthread将设备抽象成rt_device。 /** * Device structure */ struct rt_device { struct rt_object parent; /**< inherit from rt_object */ enum rt_device_class_type type; /**< device type */ rt_uint16_t flag; /**< device flag */ ...
rt_err_trt_device_control(rt_device_t dev,rt_uint8_t cmd,void*arg); 参数cmd 的通用设备命令可取如下宏定义: #defineRT_DEVICE_CTRL_RESUME 0x01/* 恢复设备 */#defineRT_DEVICE_CTRL_SUSPEND 0x02/* 挂起设备 */#defineRT_DEVICE_CTRL_CONFIG 0x03/* 配置设备 */#defineRT_DEVICE_CTRL_SET_INT...
Add RT_DEVICE_CTRL_RTC_GET_TIMEVAL and RT_DEVICE_CTRL_RTC_SET_TIMEVAL ops Remove RT_DEVICE_CTRL_RTC_GET_TIME_US and RT_DEVICE_CTRL_RTC_SET_TIME_US. Add RT_DEVICE_CTRL_RTC_GET_TIMEVAL and RT_DEVICE_CTRL_RTC_SET_TIMEVAL. The RT_DEVICE_CTRL_RTC_GET_TIMEVAL cmd can get second time ...
\n",IWDG_DEVICE_NAME);returnres;}/* 设置看门狗溢出时间 */res=rt_device_control(wdg_dev,RT_DEVICE_CTRL_WDT_SET_TIMEOUT,&timeout);if(res!=RT_EOK){rt_kprintf("set %s timeout failed!\n",IWDG_DEVICE_NAME);returnres;}/* 设置空闲线程回调函数 */rt_thread_idle_sethook(idle_hook);...