跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
折叠
品牌标识

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1M系列
  4. MC03芯片MCAL 2_3_0版本,CAN 两个ID共用一个发送邮箱时偶发失帧

MC03芯片MCAL 2_3_0版本,CAN 两个ID共用一个发送邮箱时偶发失帧

已定时 已固定 已锁定 已移动 未解决 YTM32B1M系列
3 帖子 3 发布者 280 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • yishui66Y 离线
    yishui66Y 离线
    yishui66
    编写于 最后由 yishui66 编辑
    #1

    问题:
    两个不同的CAN ID共用一个发送邮箱。在当前Can_Lld_IrqProcessMailBox的中断处理逻辑中,先调用CanIf_TxConfirmation通知上层发送完成,后续才调用Can_Lld_UpdateIdleState解锁邮箱。若这两个ID以高频交替发送,由于邮箱尚未解锁,后续报文可能无法及时写入,导致丢帧。
    7f966baa-6a4f-4660-a907-56c8a808f986-image.png
    方案:
    能不能把这里的CanIf_TxConfirmation函数放在Can_Lld_UpdateIdleState函数之后来解决这个问题?即先解锁邮箱再通知上层。其他地方均无改动,这样子有什么隐患吗?想交流一下
    22c6325c-14ac-439f-98df-a8ecd5db815e-image.png
    谢谢支持

    1 条回复 最后回复
    0
    • swustS 离线
      swustS 离线
      swust YunTu
      编写于 最后由 编辑
      #2

      confirmation和callback里面没有对邮箱的操作的话简单调换是可以的,如果有的话可以加个变量单独传到confirmation

      1 条回复 最后回复
      0
      • jiankang_wangJ 离线
        jiankang_wangJ 离线
        jiankang_wang YunTu
        编写于 最后由 编辑
        #3

        参考这个帖子: https://forum.ytmicro.com/topic/935/mcal-v1-0-0-使用can的过程中发送报文后在canif_txconfirmation中断里面-再次调用can_write但是返回busy状态-是不支持这样连续发送吗/5

        1 条回复 最后回复
        0

      • 云途开发生态介绍

        快速上手云途开发生态

      • 云途论坛规则/Yuntu Forum Rules

        发帖前请查看

      • YT CONFIG TOOL调查问卷

        帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...

      • can
        28
        demo
        23
        uds
        14
        lin stack
        13
        md14
        6
        yt-link
        6
        fbl
        5
        adc模块
        4
        Online Users
        sj2476767913S
        sj2476767913
        CZDC
        CZD
        lingL
        ling
        chenchaoC
        chenchao
        TAICIT
        TAICI
        lxhxssL
        lxhxss
        十大十
        十大
        • 登录

        • 登录或注册以进行搜索。
        • 第一个帖子
          最后一个帖子
        0
        • 版块
        • 最新
        • 标签
        • 热门