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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YT SDK
  4. FlexCAN初始化注意事项

FlexCAN初始化注意事项

已定时 已固定 已锁定 已移动 YT SDK
8 帖子 4 发布者 677 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • Y 离线
    Y 离线
    yt0069 YunTu
    写于2024年6月3日 12:21 最后由 编辑
    #1

    SDK中FlexCAN初始化注意事项:
    如果采用中断方式收发,注册回调函数FLEXCAN_DRV_InstallEventCallback和FLEXCAN_DRV_InstallErrorCallback,以及mailbox或fifo,滤波器的初始化需要放在启动接收函数之前
    2b6bee4a-9992-41bc-8e4d-7f507adf0637-image.png
    例如,以下为不太合理的邮箱初始化程序:

    /* Config rx messages mailbox */
            for (index = 0; index < Appl_Can_NodeRxMsgCount[canNodeIndex]; index++)
            {
                /* Config rx buffer */
                status = CAN_ConfigRxBuff(&can_pal_instance,
                                          index,
                                          &Appl_Can_StdIdBuffCfg,
                                          (uint32_t)Appl_Can_NodeRxMsgPtr[canNodeIndex][index].id);
                /* start to receive message */
                status = CAN_Receive(&can_pal_instance,
                                     index,
                                     (can_message_t *)&Appl_Can_NodeRxMsgPtr[canNodeIndex][index]);
            }
    

    应更改为:

    /* Config rx messages mailbox */
            for (index = 0; index < Appl_Can_NodeRxMsgCount[canNodeIndex]; index++)
            {
                /* Config rx buffer */
                status = CAN_ConfigRxBuff(&can_pal_instance,
                                          index,
                                          &Appl_Can_StdIdBuffCfg,
                                          (uint32_t)Appl_Can_NodeRxMsgPtr[canNodeIndex][index].id);
            }
            for (index = 0; index < Appl_Can_NodeRxMsgCount[canNodeIndex]; index++)
            {
                 /* start to receive message */
                status = CAN_Receive(&can_pal_instance,
                                     index,
                                     (can_message_t *)&Appl_Can_NodeRxMsgPtr[canNodeIndex][index]);
            }
    
    E 1 条回复 最后回复 2024年8月15日 07:27
    1
    • Q 离线
      Q 离线
      qinhongkui
      写于2024年8月1日 07:04 最后由 编辑
      #2

      楼主有CAN中断接收的demo吗?

      Y 2 条回复 最后回复 2024年8月1日 07:16
      -1
      • Y 离线
        Y 离线
        YQH
        在 2024年8月1日 07:16 回复了 qinhongkui 最后由 编辑
        #3
        此主題已被删除!
        Q 1 条回复 最后回复 2024年8月1日 07:20
        0
        • Q 离线
          Q 离线
          qinhongkui
          在 2024年8月1日 07:20 回复了 YQH 最后由 qinhongkui 编辑 2024年8月1日 15:21
          #4

          YQH 非常谢谢

          1 条回复 最后回复
          0
          • E 离线
            E 离线
            Ekko
            在 2024年8月15日 07:27 回复了 yt0069 最后由 编辑
            #5

            yt0069 如果注册回调函数放在接收函数之后,可能会出现什么情况,目前有客户这样做,会偶发出现固定接收不到某一个ID,我帮他修改初始化流程之后,目前还没复现,想确认一下原理。

            Y 1 条回复 最后回复 2024年8月15日 07:44
            0
            • Y 离线
              Y 离线
              YQH
              在 2024年8月15日 07:44 回复了 Ekko 最后由 编辑
              #6

              Ekko 客户是什么用法,是在总线已有其他节点发报文的情况下再接入自己的控制器时出现某个报文接收不到的情况吗

              E 1 条回复 最后回复 2024年8月15日 08:05
              0
              • E 离线
                E 离线
                Ekko
                在 2024年8月15日 08:05 回复了 YQH 最后由 编辑
                #7

                YQH 目前测试情况是通过CANOE一直在发报文,MCU重复上电,偶发出现

                1 条回复 最后回复
                0
                • Y 离线
                  Y 离线
                  YQH
                  在 2024年8月23日 09:50 回复了 qinhongkui 最后由 编辑
                  #8

                  qinhongkui
                  CAN_INT_Demo.zip

                  1 条回复 最后回复
                  0
                  • Y yt0069 被引用 于这个主题 29天之前
                  • G ganyongchao 被引用 于这个主题 2天之前

                • 云途论坛规则/Yuntu Forum Rules

                  发帖前请查看

                • YCT离线License申请流程

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

                • YT CONFIG TOOL调查问卷

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

                • demo
                  14
                  can
                  9
                  lin stack
                  6
                  yt-link
                  5
                  adc模块
                  3
                  vscode
                  3
                  i2c
                  2
                  uuid
                  2
                  Online Users
                  W
                  wuxuedong
                  4分钟之前
                  • 登录

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