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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1M系列
  4. YTM32B1MC03H0MLFT的adc采样配置中断函数ADC0_IRQHandler之后就一直卡死在这个中断处理函数里面,急急急!!

YTM32B1MC03H0MLFT的adc采样配置中断函数ADC0_IRQHandler之后就一直卡死在这个中断处理函数里面,急急急!!

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

    YTM32B1MC03H0MLFT的adc采样配置中断函数ADC0_IRQHandler之后就一直卡死在这个中断处理函数里面,如果不在中断函数处理这个ADC值,直接调用data = ADC0->FIFO;回读,读出来的值又不正常,采样两个通道的ADC值更加是读不了。
    有没有像stm那样,可以直接选择对用通道来回读adc值的,并且无需通过中断来处理,感谢回答,急急急!

    1 条回复 最后回复
    0
    • zhdZ 离线
      zhdZ 离线
      zhd
      写于 最后由 编辑
      #8

      选one loop可以了,感谢

      1 条回复 最后回复
      0
      • qinzhaoQ 离线
        qinzhaoQ 离线
        qinzhao YunTu
        写于 最后由 编辑
        #2

        贴一下你的中断函数内容,是卡死在哪一行?ADC结果是在fifo内,debug的时候,不要点开调试器的寄存器看fifo的值,调试器也会有读操作。

        1 条回复 最后回复
        0
        • zhdZ 离线
          zhdZ 离线
          zhd
          写于 最后由 编辑
          #3

          void ADC0_IRQHandler(void)
          {
          ADC_DRV_ClearEoseqFlagCmd(0);

          for (int i = 0; i < SEQ_LEN; i++)
          {
              data = ADC0->FIFO;
              /* Note: Debug output inserted into interrupt routine for demo clarity. Might introduce delay. */
              PRINTF("ADC0 channel %d value is %d\r\n", data >> 16, data & 0xFFFF);
          }
          

          }
          就是一直在这里打印,main里面的while(1)里面执行的内容都执行不了了

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

            void ADC0_IRQHandler(void)
            {
            ADC_DRV_ClearEoseqFlagCmd(0);

            for (int i = 0; i < SEQ_LEN; i++)
            {
                data = ADC0->FIFO;
                /* Note: Debug output inserted into interrupt routine for demo clarity. Might introduce delay. */
                PRINTF("ADC0 channel %d value is %d\r\n", data >> 16, data & 0xFFFF);
            }
            

            }

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

              这个打印比较耗时,你是用了ADC的continuous吗?如果ADC不停转换,ADC的转换时间小于printf时间。也可以注释掉printf看看

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

                注释掉了打印试过还是一直触发这个中断

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

                  image.png这里选one loop试试

                  1 条回复 最后回复
                  1
                  • zhdZ 离线
                    zhdZ 离线
                    zhd
                    写于 最后由 编辑
                    #8

                    选one loop可以了,感谢

                    1 条回复 最后回复
                    0
                    • ,FrankieF Frankie 将这个主题转为问答主题
                    • ,FrankieF Frankie 将这个主题标记为已解决

                  • 云途开发生态介绍

                    快速上手云途开发生态

                  • 云途论坛规则/Yuntu Forum Rules

                    发帖前请查看

                  • YT CONFIG TOOL调查问卷

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

                  • can
                    25
                    demo
                    22
                    lin stack
                    13
                    uds
                    13
                    md14
                    6
                    yt-link
                    6
                    fbl
                    5
                    adc模块
                    4
                    Online Users
                    • 登录

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