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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1H系列
  4. can0 无法退出Freeze mode

can0 无法退出Freeze mode

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

    我使用下述代码,发现 can0 无法退出 Freeze mode ,
    2026-04-04_06-59.png
    已经清零 REG32(CAN0_MCR) &= ~(CAN0_MCR_HALT_MASK | CAN0_MCR_FRZ_MASK) 为什么寄存器0x400d0000值还是0x5980000f,使用gdb调试如下图
    2026-04-04_07-00.png

    顺便问一下,在这种模式是不是会导致访问内存时导致 bus fault:SCB_CFSR_BFSR:0x04 IMPRECISERR。
    4f6839f4-c4af-4575-b523-f84632a7a1b2-image.png

    1 条回复 最后回复
    0
    • iyshengI 离线
      iyshengI 离线
      iysheng
      编写于 最后由 编辑
      #2

      可能是在线调试的原因,添加打印测试发现退出了 freeze mode,

          rt_kprintf("can0 mcr:%x\n", REG32(CAN0_MCR));
          REG32(CAN0_MCR) &= ~(CAN0_MCR_HALT_MASK | CAN0_MCR_FRZ_MASK);
          rt_kprintf("can0 mcr:%x\n", REG32(CAN0_MCR));
      

      还有一个问题,使用发送代码,为什么无法发送数据,示波器看波形也没有can 报文发出,PTE5 电平在5V。
      38b979fa-5a50-4205-a109-b902bcdf24d1-image.png

      其中
      f2d622d3-ecbc-417e-be5a-6914dc987cd4-image.png

      是 ram 用的都对么?

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

        使用的MB0的话,清flag应该是CAN0->IFLAG1 = 1<<0; 写ID应该是RAM[1] = msg->id << 18; remote和idle我看偏移是20和21,你这儿是19和20。

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

          image.png
          改成这样还是不行哦。请问我这些can初始化和can发送对么?使用的 RAM0 MB0。
          是不是 can 初始化有问题呢?

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

            Flexcan_Demo_Register_Option.zip供参考

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

              swust 非常感谢😊 ,我仔细对比了下,初步判断是我开了 loopback 模式导致的。目前已经可以发送can报文了。

              1 条回复 最后回复
              0
              • iyshengI 离线
                iyshengI 离线
                iysheng
                编写于 最后由 编辑
                #7

                swust 你好,又有了新问题,现在只能发送一次can帧(使用的can0),调试发现

                正常写完 code 为 0XC 之后,发送成功后会自动退回到 0X8 状态,但是发现还是 0XC 状态
                image.png

                915a086b-4969-47dc-b0e7-02c9fe90ef2d-image.png

                请问这是什么原因啊?

                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
                • 登录

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