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

YunTu Forum

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

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

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

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

    1 条回复 最后回复
    -1
    • 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

                • 云途论坛规则/Yuntu Forum Rules

                  发帖前请查看

                • YCT离线License申请流程

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

                • YT CONFIG TOOL调查问卷

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

                • can
                  16
                  demo
                  15
                  uds
                  7
                  lin stack
                  6
                  fbl
                  5
                  yt-link
                  5
                  md14
                  4
                  adc模块
                  3
                  Online Users
                  yanjun1972Y
                  yanjun1972
                  • 登录

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