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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1H系列
  4. CAN报文发送顺序不连续且会丢失报文

CAN报文发送顺序不连续且会丢失报文

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

    我现在用的是CAN0的发送通道,有四个缓冲区,0和1缓冲区作为接收缓冲区,2和3缓冲区作为发送缓冲区
    2和3分别有32个mailBOx邮箱,我现在同时填充64个报文,ID一样,第0个字节的数据根据顺序从0累加到63,发出来的报文是不按照顺序的如图所示
    2303877e-788f-415a-9a7f-2e6ec1445f79-image.png
    这边在特殊工况时是需要报文按照填充的数据顺序发送的,所以请问一下,如何判断2缓冲区已经填充满的情况下切换到3缓冲区去发送,而且顺序不会打乱,有什么好的办法吗?

    1 条回复 最后回复
    0
    • yt0069Y 离线
      yt0069Y 离线
      yt0069
      写于 最后由 编辑
      #2
      1. 没必要这样来发单个报文,用1个专用的邮箱来发送这条报文就好了,等发送完成中断后再填充要发送的下一帧报文
      2. 如果要用多个mailbox发送同一个id的报文的话,一定要等待上一帧发完了(发送完成中断)再查询分配个这个报文的状态,用空闲状态的发送下一帧
      zhanjsZ 1 条回复 最后回复
      0
      • zhanjsZ 离线
        zhanjsZ 离线
        zhanjs
        在 回复了 yt0069 最后由 编辑
        #3

        yt0069 我们是希望多个mailBOx发同个ID,通过哪个可以查询这个报文的发送的状态呢?

        1 条回复 最后回复
        0
        • yt0069Y 离线
          yt0069Y 离线
          yt0069
          写于 最后由 编辑
          #4

          可以通过FLEXCAN_DRV_GetTransferStatus这个函数来查询

          zhanjsZ 1 条回复 最后回复
          0
          • zhanjsZ 离线
            zhanjsZ 离线
            zhanjs
            在 回复了 yt0069 最后由 编辑
            #5

            yt0069 MCAL里可以用哪个读取呢

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

              您好:
              MCAL 里 CAN 没有提供对应的接口查询某个邮箱的状态。
              如果是重复发送的话,直接调用 CAN_Write 函数即可,当 Hth 满了该函数会返回值为 2 的枚举 CAN_BUSY

              zhanjsZ 1 条回复 最后回复
              0
              • zhanjsZ 离线
                zhanjsZ 离线
                zhanjs
                在 回复了 jiankang_wang 最后由 编辑
                #7

                jiankang_wang 好的,谢谢

                1 条回复 最后回复
                0

              • 云途论坛规则/Yuntu Forum Rules

                发帖前请查看

              • YCT离线License申请流程

                帮助没办法联网的电脑使用YCT

              • YT CONFIG TOOL调查问卷

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

              • demo
                12
                can
                9
                lin stack
                6
                yt-link
                5
                vscode
                3
                adc模块
                2
                i2c
                2
                uuid
                2
                Online Users
                YQHY
                YQH
                • 登录

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