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

YunTu Forum

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

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

已定时 已固定 已锁定 已移动 YTM32B1M系列
18 帖子 3 发布者 345 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 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
                          • 版块
                          • 最新
                          • 标签
                          • 热门