Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread发布
看门狗设备初始化接口的问题
发布于 2019-07-11 21:22:13 浏览:2964
订阅该版
我的选用stm32f1的芯片,在使用看门狗设备时用官方的 rt_device_find("iwg") 查找不到设备,后来打开驱动文件,将设备名称改成"wdt"就好了。 但是在调用初始化接口 rt_device_init(wdg_dev)时会导致系统重启!请问这可能是什么原因造成的
查看更多
17
个回答
默认排序
按发布时间排序
来一颗糖
2019-07-12
这家伙很懒,什么也没写!
一调用就重启?把你的看门狗应用代码 完整的贴出来看看? 还有你用到的是那个 bsp?
whj467467222
认证专家
2019-07-12
开源,分享,交流,共同进步
>一调用就重启?把你的看门狗应用代码 完整的贴出来看看? >还有你用到的是那个 bsp? ... --- 你是不是用了iwdg_sample.c这个测试的。 如果是这个就一定会出错,驱动里面的看门狗超时时间是秒为单位,sample里是毫秒为单位。 测试的时候会提示设置数值过大,然后系统重启。 如果你是上述问题,那么你只需把timeout 改到 0-32之间就可以了。 这个问题昨天已经反馈给RTT了,据说已经修复,你可以看下这里是否更新[https://github.com/RT-Thread-packages/peripheral-sample/blob/master/iwdg_sample.c](https://github.com/RT-Thread-packages/peripheral-sample/blob/master/iwdg_sample.c)
乐于
2019-07-12
这家伙很懒,什么也没写!
[i=s] 本帖最后由 乐于 于 2019-7-12 09:38 编辑 [/i]
乐于
2019-07-12
这家伙很懒,什么也没写!
[i=s] 本帖最后由 乐于 于 2019-7-12 09:38 编辑 [/i]
乐于
2019-07-12
这家伙很懒,什么也没写!
>一调用就重启?把你的看门狗应用代码 完整的贴出来看看? >还有你用到的是那个 bsp? ... --- /* * Copyright (c) 2006-2018, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * 2018-09-25 misonyo first edition. */ /* * 程序清单:这是一个独立看门狗设备使用例程 * 例程导出了 iwdg_sample 命令到控制终端 * 命令调用格式:iwdg_sample iwg * 命令解释:命令第二个参数是要使用的看门狗设备名称,为空则使用例程默认的看门狗设备。 * 程序功能:程序通过设备名称查找看门狗设备,然后初始化设备并设置看门狗设备溢出时间。 * 然后设置空闲线程回调函数,在回调函数里会喂狗。 */ #include
#include
#define IWDG_DEVICE_NAME "wdt" /* 看门狗设备名称 */ static rt_device_t wdg_dev; /* 看门狗设备句柄 */ static void idle_hook(void) { /* 在空闲线程的回调函数里喂狗 */ rt_device_control(wdg_dev, RT_DEVICE_CTRL_WDT_KEEPALIVE, NULL); rt_kprintf("feed the dog!\n "); } static int iwdg_sample(int argc, char *argv[]) { rt_err_t ret = RT_EOK; rt_uint32_t timeout = 10; /* 溢出时间 */ char device_name[RT_NAME_MAX]; /* 判断命令行参数是否给定了设备名称 */ if (argc == 2) { rt_strncpy(device_name, argv[1], RT_NAME_MAX); } else { rt_strncpy(device_name, IWDG_DEVICE_NAME, RT_NAME_MAX); } /* 根据设备名称查找看门狗设备,获取设备句柄 */ wdg_dev = rt_device_find(device_name); if (!wdg_dev) { rt_kprintf("find %s failed!\n", device_name); return RT_ERROR; } else { rt_kprintf("find %s succeed!\n", device_name); } /* 初始化设备 */ ret = rt_device_init(wdg_dev); if (ret != RT_EOK) { rt_kprintf("initialize %s failed!\n", device_name); return RT_ERROR; } else { rt_kprintf("initialize %s succeed!\n", device_name); } /* 设置看门狗溢出时间 */ 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; } else { rt_kprintf("set %s timeout succeed!\n", device_name); } /* 设置空闲线程回调函数 */ rt_thread_idle_sethook(idle_hook); return ret; } /* 导出到 msh 命令列表中 */ MSH_CMD_EXPORT(iwdg_sample, iwdg sample);
乐于
2019-07-12
这家伙很懒,什么也没写!
>一调用就重启?把你的看门狗应用代码 完整的贴出来看看? >还有你用到的是那个 bsp? ... --- 执行初始化函数就会失败,我不太确定我得设备名称"wdt"是不是对的,官方例程是"iwd"
乐于
2019-07-12
这家伙很懒,什么也没写!
>你是不是用了iwdg_sample.c这个测试的。 >如果是这个就一定会出错,驱动里面的看门狗超时时间是秒为单位, ... --- 没有更新啊。。。
乐于
2019-07-12
这家伙很懒,什么也没写!
>一调用就重启?把你的看门狗应用代码 完整的贴出来看看? >还有你用到的是那个 bsp? ... --- bsp根据官方模板自己制作的,
whj467467222
认证专家
2019-07-12
开源,分享,交流,共同进步
>/* > * Copyright (c) 2006-2018, RT-Thread Development Team > * --- 就是这个文件,我昨天已经反馈过了。 这个文件有两处错误 1,修改名字“iwg”为“wdt” 2,修改timeout 为1.就可以了。
whj467467222
认证专家
2019-07-12
开源,分享,交流,共同进步
>一调用就重启?把你的看门狗应用代码 完整的贴出来看看? >还有你用到的是那个 bsp? ... --- 昨天下午我们才讨论的这个问题,晚上就被人家测试出来了:lol
撰写答案
登录
注册新账号
关注者
0
被浏览
3k
关于作者
乐于
这家伙很懒,什么也没写!
提问
5
回答
13
被采纳
0
关注TA
发私信
相关问题
1
RT-Thread单内核v0.2.2正式版
2
[发布] RT-Thread RTOS v0.2.3版本
3
RT-Thread 0.3.0 beta
4
RT-Thread/STM32 0.3.0 RC1发布
5
RT-Thread/LM3S 0.3.0 RC1版发布
6
建议弄个MIPS版本的。龙芯上用。
7
开源实时操作系统RT-Thread 0.3.0正式版发布
8
关于RT-THREAD的UDP讨论
9
这里是BUG回报板块!
10
rt-thread stm32 0.3.0 rc1 网络问题
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
简单两步配置RTT源码阅读环境 vsc+clangd
2
恩智浦[FRDM-MCXN947]初探 之 ADC与DAC
3
LVGL使用字库IC芯片显示中文
4
基于STM32H750和Rt-Thread的CANFD通信实现的记录(一)
5
freemodbus主机在freertos的适配,参考rtthread例程
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
SFUD
msh
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1443
个答案
289
次被采纳
张世争
805
个答案
174
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
4
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
1
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部