查看: 4825|回复: 7

[MQX] 问个MQX_lwevent_wait_for和_lwevent_wait_ticks 的疑问

[复制链接]
  • TA的每日心情

    2021-1-28 20:09
  • 签到天数: 317 天

    连续签到: 1 天

    [LV.8]以坛为家I

    61

    主题

    1582

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    9271
    最后登录
    2022-5-12
    发表于 2017-6-15 13:23:12 | 显示全部楼层 |阅读模式
    本帖最后由 小马哥-1650185 于 2017-6-15 15:32 编辑

    这两个函数有什么区别?执行完后 被_lwevent_set的 事件_mqx_uint会被自动清零么?好像不需要在执行_lwevent_clear函数了
    _mqx_uint _lwevent_wait_for  (LWEVENT_STRUCT_PTR, _mqx_uint, bool, MQX_TICK_STRUCT_PTR);
    _mqx_uint _lwevent_wait_ticks(LWEVENT_STRUCT_PTR, _mqx_uint,bool, _mqx_uint);
                                        

    最佳答案

    区别在于第四个参数 _lwevent_wait_ticks,  第四个参数是_mqx_uint           timeout_in_ticks _lwevent_wait_for   第四个参数是    MQX ...
    好好
    回复

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24871
    最后登录
    2025-7-18
    发表于 2017-6-15 14:00:35 | 显示全部楼层
    区别在于第四个参数
    _lwevent_wait_ticks,  第四个参数是_mqx_uint           timeout_in_ticks
    _lwevent_wait_for   第四个参数是    MQX_TICK_STRUCT_PTR tick_ptr
    前者是整形变量,即等待time_in_ticks   的时间 后者是一个维护tick的数据结构

    其用法可以参考例程  lwevent,
    ....
      while (TRUE) {
          if (_lwevent_wait_ticks(&lwevent,1,TRUE,0) != MQX_OK) {
             printf("\nEvent Wait failed");
             _task_block();
          }

          if (_lwevent_clear(&lwevent,0x01) != MQX_OK) {
             printf("\nEvent Clear failed");
             _task_block();
          }
    ...


    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24871
    最后登录
    2025-7-18
    发表于 2017-6-15 14:00:48 | 显示全部楼层
    区别在于第四个参数
    _lwevent_wait_ticks,  第四个参数是_mqx_uint           timeout_in_ticks
    _lwevent_wait_for   第四个参数是    MQX_TICK_STRUCT_PTR tick_ptr
    前者是整形变量,即等待time_in_ticks   的时间 后者是一个维护tick的数据结构

    其用法可以参考例程  lwevent,
    ....
      while (TRUE) {
          if (_lwevent_wait_ticks(&lwevent,1,TRUE,0) != MQX_OK) {
             printf("\nEvent Wait failed");
             _task_block();
          }

          if (_lwevent_clear(&lwevent,0x01) != MQX_OK) {
             printf("\nEvent Clear failed");
             _task_block();
          }
    ...


    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2021-1-28 20:09
  • 签到天数: 317 天

    连续签到: 1 天

    [LV.8]以坛为家I

    61

    主题

    1582

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    9271
    最后登录
    2022-5-12
     楼主| 发表于 2017-6-15 15:30:32 | 显示全部楼层
    小恩GG 发表于 2017-6-15 14:00
    区别在于第四个参数
    _lwevent_wait_ticks,  第四个参数是_mqx_uint           timeout_in_ticks
    _lwevent_ ...

    我现在是这样用的
    _lwevent_wait_for(Get_Event_Group_Ptr(), PC_USART_HD_EVENT_BIT, /*all*/FALSE, /*tick_ptr*/NULL);

    这个执行完后,PC_USART_HD_EVENT_BIT 这个事件标志会自动清零么
    好好
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2021-1-28 20:09
  • 签到天数: 317 天

    连续签到: 1 天

    [LV.8]以坛为家I

    61

    主题

    1582

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    9271
    最后登录
    2022-5-12
     楼主| 发表于 2017-6-15 16:26:41 | 显示全部楼层

    应该是事件组的设置1,是的事件位 自清零的吧

    _lwevent_create这个函数
    好好
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2021-1-28 20:09
  • 签到天数: 317 天

    连续签到: 1 天

    [LV.8]以坛为家I

    61

    主题

    1582

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    9271
    最后登录
    2022-5-12
     楼主| 发表于 2017-6-15 16:27:00 | 显示全部楼层

    应该是事件组的设置1,是的事件位 自清零的吧

    _lwevent_create这个函数
    好好
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2021-1-28 20:09
  • 签到天数: 317 天

    连续签到: 1 天

    [LV.8]以坛为家I

    61

    主题

    1582

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    9271
    最后登录
    2022-5-12
     楼主| 发表于 2017-6-15 16:27:32 | 显示全部楼层
    QQ截图20170615162413.jpg
    应该是事件组的设置1,是的事件位 自清零的吧

    _lwevent_create这个函数
    好好
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2021-1-28 20:09
  • 签到天数: 317 天

    连续签到: 1 天

    [LV.8]以坛为家I

    61

    主题

    1582

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    9271
    最后登录
    2022-5-12
     楼主| 发表于 2017-6-15 16:42:04 | 显示全部楼层
    今天网站有问题,额总是打不开,帖子发不出来
    好好
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-19 23:18 , Processed in 0.107506 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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