pipe功能bug 和 软件定时器功能改进

发表在 Devices2019-12-4 16:07 [复制链接] 1 78

/ s# g& p( s- b' V9 {
        1、pipe.c中第35行的pipe_fops_open函数中,当申请到fifo内存失败时,要返回错误。同理rt_pipe_open函数也做同样的修改。这个bug导致当内存申请不到时,关闭pipe时,出现free失败,程序死机在断言中。7 r1 P, j4 k* W1 f; q
      
; W& s2 d5 Q$ k* T$ U* g8 P8 N
) A  g7 b9 V7 G4 y% a8 `+ p# j" r

  c- \, d7 G5 D+ W! C% w- Q        2、软件定时器timer.c功能,希望能增加一个查询定时器当前运行状态的功能,修改rt_timer_control函数即可以实现。希望以后rtthread能增加上此功能
6 x* S5 G; S8 o# P% J             自行实现方法,在timer.c函数中在459行的rt_timer_control函数中增加一个查询定时器运行状态的功能。如下图所做的修改。当应用程序在使用定时器,有些情况需要查询定时器的运行状态,如果停止了就要启动,此时就需要增加的这个功能9 Q% P: K& T7 |0 k) z- K0 B
5 h, A# b2 F+ S0 r

4 O% l) U' W& ]4 B                 * W' P# N( }; x2 m, B) I

% [/ N6 K; ?$ A) D8 A) Y* n
2 V. N. X5 l8 p2 G! I* L2 D
( G7 b/ Z5 J, P% x: ~4 e' Z# u' `& v0 F
  _; |1 f0 ]) N; g" w
          另外这是我总结的rtthread的使用经验https://blog.csdn.net/fhqlongteng/article/details/103234659 ,不定期更新,如果有人想查找相关问题的解决方法,请过来参观一下。; M. F! _" M7 o8 d( ^& q

) {1 {3 l. i$ c0 G" j7 H
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-12-4 18:12:23 | 显示全部楼层
本帖最后由 tyustli 于 2019-12-4 18:21 编辑 " N: ]' A$ L- i) p, s  W

% E# |  Q! R7 g% s2 Y7 W厉害厉害,pipe.c 里面返回的时候记得释放一下互斥量
' y' s3 Z0 W2 p! _! G可以给RT-Thread 的 github 提个 PR 试试
1 S, z- S& Z3 A+ ]1 G5 `https://www.rt-thread.org/docume ... uide/github/github/
, q1 [: r# N, A; x2 U8 O5 G. N& M
" `( J, v. K# t  ^
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

Powered by RT-Thread

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