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

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

本帖最后由 shao7936626 于 2019-7-23 16:25 编辑
7 O+ S$ K) W5 Y5 f4 N( \/ u0 p9 R
- A2 V3 l- ~! mclone 了最新的rt thread 源码,使用了watchdog的例子(https://github.com/RT-Thread-packages/peripheral-sample/blob/master/iwdg_sample.c),发现例子好像是老的,设备名是iwg,驱动里面注册的是wdt。更改了之后,输入命令后,毫无反应,也无打印信息。1 B* F1 a1 j7 x; v% \1 M- W3 ^
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-7-21 21:52:31 | 显示全部楼层
楼主用的是STM32的话需要修改2个地方:0 K& _* ~1 [3 W2 @, ~; G' `8 j$ f
1,设备名“iwg”修改为"wdt"
, T6 Q+ g2 w: \5 i& Z3 k2,超时时间单位是秒,而不是毫秒,所以超时时间是0-31之间就可以了。5 N0 p' t2 v" v1 s5 o
这样修改后就可以用了。你遇到的问题我已经反馈过了,应该近期就有人修改了。
使用道具 举报 回复
发表于 2019-7-21 22:58:14 | 显示全部楼层
whj467467222 发表于 2019-7-21 21:52
! w! r! d7 N9 F" D6 z楼主用的是STM32的话需要修改2个地方:
, r/ ^' s* q, z/ k8 `/ [1,设备名“iwg”修改为"wdt"* f( L7 V; e7 K2 v0 U. r
2,超时时间单位是秒,而不是毫秒,所 ...
1 m  y# }6 b& h9 p: a- f
我看了那个文章了,但是我还是没有用呢,我用的BSP的驱动还是最新的,我就不懂了
使用道具 举报 回复
发表于 2019-7-21 23:13:01 | 显示全部楼层
shao7936626 发表于 2019-7-21 22:58
# B. c- z( W7 m5 z4 y0 p5 h我看了那个文章了,但是我还是没有用呢,我用的BSP的驱动还是最新的,我就不懂了 ...

6 d2 [" s4 V( s0 q我不知道你哪里不懂。这个驱动我是测试过后给官方反应过的。
9 C! C' F0 L& h6 E, L. A你有问题就贴出你试验不成功的现象。
使用道具 举报 回复
发表于 2019-7-21 23:22:30 | 显示全部楼层
whj467467222 发表于 2019-7-21 23:13
: y% P  o- s% M  p我不知道你哪里不懂。这个驱动我是测试过后给官方反应过的。
  j. x2 Q. W6 \+ l1 z. G你有问题就贴出你试验不成功的现象。 ...

% d( u  E% i# L7 }9 }大神:驱动里面我按照例子单步进去,发现设置timeout的时候,发现wdt没有启动,就是is_start是0 ,然后我在例子里面添加了对wdt的启动,然后发现有报错,原来是驱动里面启动部分好像少了一个break; 然后我发现我设置了10秒,系统10秒就重启了,看来那个idle_hook 可能没有作用。
. F8 ]! s9 E- v! }: N" I    case RT_DEVICE_CTRL_WDT_START:- z7 Y5 C+ d& T0 {
        if (HAL_IWDG_Init(&stm32_wdt.hiwdg) != HAL_OK)7 E: Q, F9 V: k  w! a4 G
        {! b% l$ I) @9 J3 Z4 x8 }
            LOG_E("wdt start failed.");
) V) n* F! t5 `            return -RT_ERROR;2 L6 E/ n/ L" ~
        }: v. V, a( j" G2 U+ _/ n
        stm32_wdt.is_start = 1;& n0 C) F* g6 K  H4 N: i
! h! p# S# l( u$ `2 @5 c
        break;  //少了这个
' ~2 S) a4 H' F: p5 |5 \$ J
使用道具 举报 回复
发表于 2019-7-22 09:11:41 | 显示全部楼层
本帖最后由 whj467467222 于 2019-7-22 09:24 编辑 8 a" H7 {/ T6 W* U$ n# W- l
shao7936626 发表于 2019-7-21 23:220 J  C% G/ ~! W  `: j- G" s! Q
大神:驱动里面我按照例子单步进去,发现设置timeout的时候,发现wdt没有启动,就是is_start是0 ,然后我 ...
5 L7 ?+ ^1 f) v7 Y
你这个情况可能是没有进入到空闲任务,看下你其他任务有没有while(1)。另外最新有个PR再修改你发现的BUG。https://github.com/RT-Thread/rt-thread/pull/2884) M  p2 G2 _" [2 H7 ]. U5 I8 @
使用道具 举报 回复
发表于 2019-7-22 09:20:04 | 显示全部楼层
shao7936626 发表于 2019-7-21 23:22* B. {0 A8 U0 l4 E
大神:驱动里面我按照例子单步进去,发现设置timeout的时候,发现wdt没有启动,就是is_start是0 ,然后我 ...

" e9 _9 M' v5 S3 |5 M- t9 ohttps://github.com/RT-Thread/rt-thread/pull/2884/files . b! r# C. [/ P" H* T$ u

) U$ a  \# \% q" C2 X9 j
( n& b$ `% Q( Z/ j# V0 O谢谢反馈,已经在提 PR ,修复这个问题了。
使用道具 举报 回复
发表于 2019-7-22 09:25:04 | 显示全部楼层
来一颗糖 发表于 2019-7-22 09:20! s4 Z! ~, z; T0 p3 c/ g9 d) Q
https://github.com/RT-Thread/rt-thread/pull/2884/files

1 P) x  g! i7 e7 k这个sample确实该改了,好多人采坑。
使用道具 举报 回复
发表于 2019-7-22 11:25:19 | 显示全部楼层
whj467467222 发表于 2019-7-22 09:256 |- b3 O$ Z- A* G: P0 D& m
这个sample确实该改了,好多人采坑。
- K+ ~- ?' I1 s+ s. x& F
改改改
使用道具 举报 回复
发表于 2019-7-22 16:36:12 | 显示全部楼层
楼主用的那个版本,我用的4.0.1,正常
使用道具 举报 回复
发表于 2019-7-23 16:25:29 | 显示全部楼层
来一颗糖 发表于 2019-7-22 09:20& f' @. \3 V) ~; U
https://github.com/RT-Thread/rt-thread/pull/2884/files

. q' s$ B: d, @( v2 u. O简单的bug ,PR肯定很快
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

Powered by RT-Thread

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