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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1M系列
  4. 客户需要MD ADC 16通道DMA配置问题?帮分析

客户需要MD ADC 16通道DMA配置问题?帮分析

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

    const dma_transfer_config_t adcTransferConfig = { .srcAddr = (uint32_t)&ADC0->FIFO,
    .destAddr = (uint32_t)&g_adc_result[0U],
    .destOffset = 0x02U,
    .srcOffset = 0x00U,
    .srcTransferSize = DMA_TRANSFER_SIZE_2B,
    .destTransferSize = DMA_TRANSFER_SIZE_2B,
    .srcModulo = DMA_MODULO_OFF,
    .destModulo = DMA_MODULO_OFF,
    .transferLoopByteCount = (SEQ_LEN * 2),
    .loopTransferConfig = &adcLoopTransferConfig,
    .destLastAddrAdjust = -(SEQ_LEN * 2),
    .interruptEnable = false };

    const dma_transfer_config_t adcTransferConfig1 = { .srcAddr = (uint32_t)&ADC0->FIFO,
    .destAddr = (uint32_t)&g_adc_result1[0U],
    .destOffset = 0x02U,
    .srcOffset = 0x00U,
    .srcTransferSize = DMA_TRANSFER_SIZE_2B,
    .destTransferSize = DMA_TRANSFER_SIZE_2B,
    .srcModulo = DMA_MODULO_OFF,
    .destModulo = DMA_MODULO_OFF,
    .transferLoopByteCount = (SEQ_LEN * 2),
    .loopTransferConfig = &adcLoopTransferConfig,
    .destLastAddrAdjust = -(SEQ_LEN * 2),
    .interruptEnable = false };

    DMA_DRV_ConfigLoopTransfer(0U, &adcTransferConfig);
    DMA_DRV_StartChannel(0U);
    ADC_DRV_ConfigConverter(0, &adc_config0);
    // DMA_DRV_ConfigLoopTransfer(1U, &adcTransferConfig);
    //DMA_DRV_StartChannel(1U);

    while (i--)
    {
        ADC_DRV_Start(ADC_INST);
        OSIF_TimeDelay(500);
        PRINTF("=======\r\n");
        for (uint8_t j = 0; j < SEQ_LEN; j++)
        {
            PRINTF("ADC0 CH %d=%d\r\n", j, g_adc_result[j]);
        }
    }
    	
    	
    	
    	DMA_DRV_ConfigLoopTransfer(1U, &adcTransferConfig1);
    DMA_DRV_StartChannel(1U);
    ADC_DRV_ConfigConverter(0, &adc_config1);
    i=2;	
    	while (i--)
    {
        ADC_DRV_Start(ADC_INST);
        OSIF_TimeDelay(500);
        PRINTF("=======\r\n");
        for (uint8_t j = 0; j < SEQ_LEN; j++)
        {
            PRINTF("ADC1 CH %d=%d\r\n", j, g_adc_result1[j]);[链接文本]([Adc_Dma_Demo.zip](https://yt-static-media.oss-cn-hangzhou.aliyuncs.com/nodebb/61/c9fbf02d-b42c-4f54-8b63-5c31de071c9f.zip) 链接地址)
        }
    }
    

    ADC0 CH 0=1884
    ADC0 CH 1=1906
    ADC0 CH 2=1892
    ADC0 CH 3=663
    ADC0 CH 4=4084
    ADC0 CH 5=4094
    ADC0 CH 6=4094
    ADC0 CH 7=4047

    ADC1 CH 0=0
    ADC1 CH 1=0
    ADC1 CH 2=0
    ADC1 CH 3=0
    ADC1 CH 4=0
    ADC1 CH 5=0
    ADC1 CH 6=0

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

      问题描述可以再详细一点。
      代码不好贴的话可以直接上传个压缩包

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

        Adc_Dma_Demo 712p.zip

        1 条回复 最后回复
        0
        • Jacky_tanJ 离线
          Jacky_tanJ 离线
          Jacky_tan
          在 回复了 Diga 最后由 编辑
          #4

          Diga 在 客户需要MD ADC 16通道DMA配置问题?帮分析 中说:

          问题描述可以再详细一点。
          代码不好贴的话可以直接上传个压缩包

          已经提交附件,请查看。

          DigaD 1 条回复 最后回复
          0
          • DigaD 离线
            DigaD 离线
            Diga
            在 回复了 Jacky_tan 最后由 编辑
            #5

            Jacky_tan
            YTM32B1MD14 ADC 一次转换最多只能转换8个通道,如果要使用 16 通道,可在转换完成一次 8 通道序列后,修改 DMA 配置,修改序列配置,以转换第二次 8 通道序列。

            代码如下图
            9255d6b2-cc5e-415d-96b8-250961b5bb13-image.png

            结果如图
            5e546afa-e7ed-4a3c-9b36-e1b2dc3a10ac-image.png

            1 条回复 最后回复
            0

          • 云途论坛规则/Yuntu Forum Rules

            发帖前请查看

          • YCT离线License申请流程

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

          • YT CONFIG TOOL调查问卷

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

          • demo
            12
            can
            9
            lin stack
            6
            yt-link
            5
            vscode
            3
            adc模块
            2
            i2c
            2
            uuid
            2
            Online Users
            DavidBLD
            DavidBL
            kasselK
            kassel
            • 登录

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