求一个可用的wdt的例子(已解决)

发表在 WatchDog2019-7-21 19:48 [复制链接] 10 175

本帖最后由 shao7936626 于 2019-7-23 16:25 编辑 & j& m; g# v; }0 [

3 |' ~( g' v! Bclone 了最新的rt thread 源码,使用了watchdog的例子(https://github.com/RT-Thread-packages/peripheral-sample/blob/master/iwdg_sample.c),发现例子好像是老的,设备名是iwg,驱动里面注册的是wdt。更改了之后,输入命令后,毫无反应,也无打印信息。
/ h$ ^' ~' u" S
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-7-21 21:52:31 | 显示全部楼层
楼主用的是STM32的话需要修改2个地方:
+ ~  [# M6 A- p1 K1,设备名“iwg”修改为"wdt"! D& [+ [6 [6 u1 V- J5 L/ b
2,超时时间单位是秒,而不是毫秒,所以超时时间是0-31之间就可以了。3 C. A" u! h2 s( Q
这样修改后就可以用了。你遇到的问题我已经反馈过了,应该近期就有人修改了。
使用道具 举报 回复
发表于 2019-7-21 22:58:14 | 显示全部楼层
whj467467222 发表于 2019-7-21 21:52
2 V5 o$ \& Y* i' K楼主用的是STM32的话需要修改2个地方:# i0 l& Z( f. C0 p, x0 e; g
1,设备名“iwg”修改为"wdt"
) J7 b/ i4 r1 d( h2,超时时间单位是秒,而不是毫秒,所 ...

  o% U, K9 d- r我看了那个文章了,但是我还是没有用呢,我用的BSP的驱动还是最新的,我就不懂了
使用道具 举报 回复
发表于 2019-7-21 23:13:01 | 显示全部楼层
shao7936626 发表于 2019-7-21 22:58
* q4 R6 F; ^9 ]% ?7 X: N4 V我看了那个文章了,但是我还是没有用呢,我用的BSP的驱动还是最新的,我就不懂了 ...
0 V7 J" M# i, l6 k; w
我不知道你哪里不懂。这个驱动我是测试过后给官方反应过的。
  m' N) o, R5 j9 t你有问题就贴出你试验不成功的现象。
使用道具 举报 回复
发表于 2019-7-21 23:22:30 | 显示全部楼层
whj467467222 发表于 2019-7-21 23:13
0 M/ P( |# g+ Y/ j7 t' X$ u$ O7 V我不知道你哪里不懂。这个驱动我是测试过后给官方反应过的。, `# t( S2 l+ A3 j
你有问题就贴出你试验不成功的现象。 ...
. f8 K# N; N6 n$ K% V+ j9 G  R
大神:驱动里面我按照例子单步进去,发现设置timeout的时候,发现wdt没有启动,就是is_start是0 ,然后我在例子里面添加了对wdt的启动,然后发现有报错,原来是驱动里面启动部分好像少了一个break; 然后我发现我设置了10秒,系统10秒就重启了,看来那个idle_hook 可能没有作用。
+ }0 K8 v% _$ G; G, V$ c6 d    case RT_DEVICE_CTRL_WDT_START:
2 n7 L6 o) K/ z7 w% R9 g        if (HAL_IWDG_Init(&stm32_wdt.hiwdg) != HAL_OK)5 J3 z/ J. B, F
        {
9 i: |% u& V9 u* \) s7 Y! `2 ^3 h            LOG_E("wdt start failed.");4 O: t/ x' r; P* d% q+ U+ e6 D
            return -RT_ERROR;5 \$ D% ]0 y3 {1 K9 i+ g
        }
7 `! S5 ^# c5 l1 Q, C        stm32_wdt.is_start = 1;; I7 K$ `: W1 s) r. {

  w0 D! F# V0 w* K8 `& [* s: ^7 v        break;  //少了这个$ L* {+ s) c" |+ H: L" V( V
使用道具 举报 回复
发表于 2019-7-22 09:11:41 | 显示全部楼层
本帖最后由 whj467467222 于 2019-7-22 09:24 编辑
4 e+ C: m8 G4 G. @4 z+ b- _2 N, n' M
shao7936626 发表于 2019-7-21 23:22
$ @' K9 W9 F2 ^8 c) }8 \; G4 V大神:驱动里面我按照例子单步进去,发现设置timeout的时候,发现wdt没有启动,就是is_start是0 ,然后我 ...

2 G, O% Z0 |6 Z$ L- M; ~! q) M你这个情况可能是没有进入到空闲任务,看下你其他任务有没有while(1)。另外最新有个PR再修改你发现的BUG。https://github.com/RT-Thread/rt-thread/pull/28847 d7 F0 J/ C$ L) F
使用道具 举报 回复
发表于 2019-7-22 09:20:04 | 显示全部楼层
shao7936626 发表于 2019-7-21 23:22- S7 V$ g( z6 ?: N* |& t3 B
大神:驱动里面我按照例子单步进去,发现设置timeout的时候,发现wdt没有启动,就是is_start是0 ,然后我 ...

0 w' ?: D( r" @2 U/ z9 S. Ghttps://github.com/RT-Thread/rt-thread/pull/2884/files
) I5 m% \5 d( Z0 \/ A/ B2 Q6 P/ R/ D; P3 l! m5 i8 x3 g

) J& n& M$ `# x, e  l6 Y谢谢反馈,已经在提 PR ,修复这个问题了。
使用道具 举报 回复
发表于 2019-7-22 09:25:04 | 显示全部楼层
来一颗糖 发表于 2019-7-22 09:20; O- x& [: j2 L  g& t  l: g
https://github.com/RT-Thread/rt-thread/pull/2884/files
8 M* _1 [% o. y( i4 W+ y/ U
这个sample确实该改了,好多人采坑。
使用道具 举报 回复
发表于 2019-7-22 11:25:19 | 显示全部楼层
whj467467222 发表于 2019-7-22 09:259 j, L! Y. W4 h( v. |( x- Y
这个sample确实该改了,好多人采坑。

7 b1 b. W* O# M. Y  {改改改
使用道具 举报 回复
发表于 2019-7-22 16:36:12 | 显示全部楼层
楼主用的那个版本,我用的4.0.1,正常
使用道具 举报 回复
发表于 2019-7-23 16:25:29 | 显示全部楼层
来一颗糖 发表于 2019-7-22 09:20
* y1 D9 c) M3 _) }  qhttps://github.com/RT-Thread/rt-thread/pull/2884/files
5 {5 s. X! g1 \! L& k
简单的bug ,PR肯定很快
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|RT-Thread开发者社区 ( 沪ICP备13014002号-1

有害信息举报电话:021-31165890 手机:18930558079

© 2006-2019 上海睿赛德电子科技有限公司

Powered by RT-Thread

快速回复 返回顶部 返回列表