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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1M系列
  4. ME05 CAN123 初始化后无法正常收发

ME05 CAN123 初始化后无法正常收发

已定时 已固定 已锁定 已移动 YTM32B1M系列
18 帖子 3 发布者 345 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • lxwL 离线
    lxwL 离线
    lxw
    回复了xianghan 最后由 编辑
    #3

    @xianghan我补充一下,非终端节点,不带终端电阻,时钟CAN0和CAN1都用的120Mhz,那么波特率和采样率就可以设置一样的,再者CAN0和CAN1收发器互换了,CAN1的收发器可以在CAN0上工作

    1 条回复 最后回复
    0
    • lxwL 离线
      lxwL 离线
      lxw
      回复了xianghan 最后由 编辑
      #4

      xianghan

      xianghan 在 ME05 CAN123 初始化后无法正常收发 中说:

      https://forum.ytmicro.com/topic/703/can通信失败fail排查方向指南可以按照这个帖子思路排查

      就没下文了?

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

        建议抓一下波形,发送一个报文抓取TX可排除软件及MCU问题。量收发器RX脚波形及CANL波形,如果不一致说明CAN1的收发器焊接不良或者硬件连线错误。

        lxwL 1 条回复 最后回复
        0
        • lxwL 离线
          lxwL 离线
          lxw
          回复了swust 最后由 编辑
          #6

          swust 在 ME05 CAN123 初始化后无法正常收发 中说:

          建议抓一下波形,发送一个报文抓取TX可排除软件及MCU问题。量收发器RX脚波形及CANL波形,如果不一致说明CAN1的收发器焊接不良或者硬件连线错误。

          我测了MCU到收发器的 RX有波形 但是 寄存器这边没变化发送报文TX没波形,一直为高,然后那个寄存器错误状态位置位了

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

            代码能发一下吗?

            lxwL 2 条回复 最后回复
            0
            • lxwL 离线
              lxwL 离线
              lxw
              回复了swust 最后由 编辑
              #8

              swust 回帖这里直接粘贴吗

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

                可以上传的,方便发的话

                lxwL 1 条回复 最后回复
                0
                • lxwL 离线
                  lxwL 离线
                  lxw
                  回复了swust 最后由 编辑
                  #10

                  swust flexcan_state_t flexcanInitConfig1_State;

                  flexcan_user_config_t flexcanInitConfig1 = {
                  .max_num_mb = 64UL,
                  .num_id_filters = FLEXCAN_RX_FIFO_ID_FILTERS_8,
                  .is_rx_fifo_needed = false,
                  .flexcanMode = FLEXCAN_NORMAL_MODE,
                  .payload = FLEXCAN_PAYLOAD_SIZE_8,
                  .fd_enable = false,
                  .pe_clock = FLEXCAN_CLK_SOURCE_PERIPH,
                  .transfer_type = FLEXCAN_RXFIFO_USING_INTERRUPTS,
                  .bitrate = {
                  .propSeg = 4, /!< Propagation segment/
                  .phaseSeg1 = 6, /!< Phase segment 1/
                  .phaseSeg2 = 2, /!< Phase segment 2/
                  .preDivider = 14, /!< Clock prescaler division factor/
                  .rJumpwidth = 1, /!< Resync jump width/
                  },
                  .bitrate_cbt = {
                  .propSeg = 6, /!< Propagation segment/
                  .phaseSeg1 = 2, /!< Phase segment 1/
                  .phaseSeg2 = 1, /!< Phase segment 2/
                  .preDivider = 0, /!< Clock prescaler division factor/
                  .rJumpwidth = 1, /!< Resync jump width/
                  },
                  .rxFifoDMAChannel=0,
                  .rxFifoDMALastWord=0,
                  .is_enhance_rx_fifo_needed=false,
                  .num_enhance_rx_fifo_filters=0,
                  .num_enhance_rx_fifo_extid_filters=0,
                  .num_enhance_rx_fifo_min_messages=0,
                  };

                  uint32_t CAN_PTCAN_RXMB_INDEX[CAN_PTCAN_RX_MB_NUM] = {

                  0x000,
                  

                  };
                  //for Rx ID
                  uint32_t CAN_PTCAN_RXMB_ID[CAN_PTCAN_RX_MB_NUM] = {
                  0x000,
                  };

                  //for Rx ID mask
                  uint32_t CAN_PTCAN_RXMB_IDMask[CAN_PTCAN_RX_MB_NUM] = {
                  0x7ff,
                  };
                  flexcan_msgbuff_t CanPTCAN_RxPduInfo; //fifo接收缓存

                  pin_settings_config_t g_pin_mux_CAN1[2] = {
                  // CAN1_RX
                  {
                  .base = PCTRLC,
                  .pinPortIdx = 6U,
                  .pullConfig = PCTRL_INTERNAL_PULL_NOT_ENABLED,
                  .passiveFilter = false,
                  .mux = PCTRL_MUX_ALT3,
                  .intConfig = PCTRL_INT_FALLING_EDGE,
                  .clearIntFlag = true,
                  .gpioBase = GPIOC,
                  .digitalFilter = false,
                  },
                  // CAN1_TX
                  {
                  .base = PCTRLC,
                  .pinPortIdx = 7U,
                  .pullConfig = PCTRL_INTERNAL_PULL_NOT_ENABLED,
                  .passiveFilter = false,
                  .mux = PCTRL_MUX_ALT3,
                  .intConfig = PCTRL_DMA_INT_DISABLED,
                  .clearIntFlag = false,
                  .gpioBase = GPIOC,
                  .digitalFilter = false,
                  }
                  };
                  static void CAN_MBConfig(uint8_t CAN_Chanel, uint32_t *mbIndex, uint32_t *CanId, uint32_t *IdMask, uint8_t FilterNum, flexcan_msgbuff_t *messagePduInfo)
                  {
                  uint8_t index = 0;

                  for (index = 0; index < FilterNum; index++)
                  {
                      FLEXCAN_DRV_ConfigRxMb(CAN_Chanel, mbIndex[index], &rxMbStdCfg, CanId[index]);
                      FLEXCAN_DRV_SetRxIndividualMask(CAN_Chanel, FLEXCAN_MSG_ID_STD, mbIndex[index], IdMask[index]);
                      FLEXCAN_DRV_Receive(CAN_Chanel, mbIndex[index], messagePduInfo);
                  }
                  

                  }
                  void Can1_Init()
                  {
                  status_t status1 = STATUS_SUCCESS;
                  status1 |= PINS_DRV_Init(2, g_pin_mux_CAN1);
                  status1 |= FLEXCAN_DRV_Init(CAN1_INST, &PEcanState, &flexcanInitConfig1);
                  FLEXCAN_DRV_InstallEventCallback(CAN1_INST, Can1InterruptCallback, NULL);
                  //使用 Individual Mask,使能 FIFO
                  FLEXCAN_DRV_SetRxMaskType(CAN1_INST, FLEXCAN_RX_MASK_INDIVIDUAL);

                  CAN_MBConfig(CAN1_INST, CAN_PTCAN_RXMB_INDEX, CAN_PTCAN_RXMB_ID, CAN_PTCAN_RXMB_IDMask, CAN_PTCAN_RX_MB_NUM, &CanPTCAN_RxPduInfo);
                  

                  }

                  1 条回复 最后回复
                  0
                  • lxwL 离线
                    lxwL 离线
                    lxw
                    回复了swust 最后由 编辑
                    #11

                    swust 58ea2239-6064-4481-8b6d-7e06aaad89bb-image.png
                    有这个demo吗 可以换成新的SDK我看看不,我没权限通过配置工具打开,帮忙配两个通道呢,一个CAN0,一个CAN3

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

                      CAN0OK_CAN1NOK.zip

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

                        这是根据你的代码建的一个工程,通信正常。
                        image.png
                        image.png

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

                          配置应该没啥问题,请着重检查一下硬件

                          lxwL 2 条回复 最后回复
                          0
                          • lxwL 离线
                            lxwL 离线
                            lxw
                            回复了swust 最后由 编辑
                            #15

                            swust 在 ME05 CAN123 初始化后无法正常收发 中说:

                            配置应该没啥问题,请着重检查一下硬件

                            我用你们demo板 试试你发的工程 对比测试一下

                            1 条回复 最后回复
                            0
                            • lxwL 离线
                              lxwL 离线
                              lxw
                              回复了swust 最后由 编辑
                              #16

                              swust 4bf0fc84-0a3d-4ae1-b22e-ac6e4132c5a2-image.png 你发的工程 我也打不开 这个找代理吗

                              swustS 1 条回复 最后回复
                              0
                              • swustS 离线
                                swustS 离线
                                swust YunTu
                                回复了lxw 最后由 编辑
                                #17

                                lxw 直接用vscode打开就行。没有权限在用户系统提个申请。80a1a780-0eec-4535-b304-acb73adad91a-image.png

                                1 条回复 最后回复
                                0
                                • swustS 离线
                                  swustS 离线
                                  swust YunTu
                                  回复了lxw 最后由 编辑
                                  #18

                                  lxw CAN0_demo.zip

                                  1 条回复 最后回复
                                  0

                                • 云途开发生态介绍

                                  快速上手云途开发生态

                                • 云途论坛规则/Yuntu Forum Rules

                                  发帖前请查看

                                • YT CONFIG TOOL调查问卷

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

                                • can
                                  24
                                  demo
                                  20
                                  uds
                                  13
                                  lin stack
                                  12
                                  md14
                                  6
                                  fbl
                                  5
                                  yt-link
                                  5
                                  adc模块
                                  4
                                  Online Users
                                  jiankang_wangJ
                                  jiankang_wang
                                  abcbillA
                                  abcbill
                                  YQHY
                                  YQH
                                  • 登录

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