搜索

关于GD32的ADC采集,如何同时使用注入组和规则组

[复制链接]
250|12
 楼主 | 2020-3-22 18:41 | 显示全部楼层 | 奖励家园币|阅读模式
今天在合并ADC的注入组和规则组的采集中,发现规则组不工作了,只有注入组在采集,请问如何能将另个状态同时采集呢(查资料了解到注入组相当于规则组的中断,但是我在注入组的触发时间做了延长,同样行不通。)想请教各位大神指点一二,谢谢!

使用特权

评论回复
| 2020-3-23 14:14 | 显示全部楼层 | 奖励家园币
可以的啊,注入组你可以理解为中断。

使用特权

评论回复
 楼主 | 2020-3-23 21:16 | 显示全部楼层 | 奖励家园币
ykwym 发表于 2020-3-23 14:14
可以的啊,注入组你可以理解为中断。

这个我试了,但是它一直采集到的是注入组的ad,规则组就不工作了,就像你说的在中断里面没出来过那样!

使用特权

评论回复
| 2020-3-24 14:29 | 显示全部楼层 | 奖励家园币
粒雄李雄 发表于 2020-3-23 21:16
这个我试了,但是它一直采集到的是注入组的ad,规则组就不工作了,就像你说的在中断里面没出来过那样! ...

void adc_config(void)
{
    adc_deinit();
    /* ADC contineous function enable */
    adc_special_function_config(ADC_CONTINUOUS_MODE, ENABLE);
    /* ADC trigger config */
    adc_external_trigger_source_config(ADC_REGULAR_CHANNEL, ADC_EXTTRIG_REGULAR_NONE);
    /* ADC data alignment config */
    adc_data_alignment_config(ADC_DATAALIGN_RIGHT);
    adc_special_function_config(ADC_SCAN_MODE, ENABLE);

    /* ADC channel length config */
    adc_channel_length_config(ADC_REGULAR_CHANNEL, 4U);
   
    /* ADC regular channel config */
    adc_regular_channel_config(0U, ADC_CHANNEL_2, ADC_SAMPLETIME_55POINT5);
    adc_regular_channel_config(1U, ADC_CHANNEL_3, ADC_SAMPLETIME_55POINT5);
    adc_regular_channel_config(2U, ADC_CHANNEL_4, ADC_SAMPLETIME_55POINT5);
    adc_regular_channel_config(3U, ADC_CHANNEL_8, ADC_SAMPLETIME_55POINT5);
               
    adc_external_trigger_config(ADC_REGULAR_CHANNEL, ENABLE);
        
    /* ADC trigger config */
    adc_external_trigger_source_config(ADC_INSERTED_CHANNEL, ADC_EXTTRIG_INSERTED_NONE);
    /* ADC channel length config */
    adc_channel_length_config(ADC_INSERTED_CHANNEL, 2U);

    /* ADC inserted channel config */
    adc_inserted_channel_config(0U, ADC_CHANNEL_6, ADC_SAMPLETIME_55POINT5);
    adc_inserted_channel_config(1U, ADC_CHANNEL_9, ADC_SAMPLETIME_55POINT5);

    /* ADC external trigger enable */
    adc_external_trigger_config(ADC_INSERTED_CHANNEL, ENABLE);

    /* enable ADC interface */
    adc_enable();
    delay_1ms(1U);
    /* ADC calibration and reset calibration */
    adc_calibration_enable();
   
    /* ADC DMA function enable */
    adc_dma_mode_enable();
    /* ADC software trigger enable */
    adc_software_trigger_enable(ADC_REGULAR_CHANNEL);
}

我给别人写的参考代码,测试可用的

使用特权

评论回复
 楼主 | 2020-3-24 18:54 | 显示全部楼层 | 奖励家园币
ykwym 发表于 2020-3-24 14:29
void adc_config(void)
{
    adc_deinit();

你这个是两个组都用的软件触发,我想再请教一下你,注入组用定时器0的通道3触发(我更改例程的定时器2通道0),然后就触发不了了,你知道这是什么原因吗,或者说是他们两个的触发方式和配置有不同的地方吗?希望你能帮忙解答一下,谢谢大神!

使用特权

评论回复
| 2020-3-24 22:30 | 显示全部楼层 | 奖励家园币
粒雄李雄 发表于 2020-3-24 18:54
你这个是两个组都用的软件触发,我想再请教一下你,注入组用定时器0的通道3触发(我更改例程的定时器2通 ...

具体问题你还是找fae吧

使用特权

评论回复
 楼主 | 2020-3-24 22:49 | 显示全部楼层 | 奖励家园币
ykwym 发表于 2020-3-24 22:30
具体问题你还是找fae吧

好吧

使用特权

评论回复
| 2020-3-26 11:37 | 显示全部楼层 | 奖励家园币
这个芯片只有自己摸索,感觉FAE都不给力的。有点后怕。

使用特权

评论回复
| 2020-3-26 22:07 | 显示全部楼层 | 奖励家园币
hua_ren 发表于 2020-3-26 11:37
这个芯片只有自己摸索,感觉FAE都不给力的。有点后怕。

你得找对FAE,或者自己进行调试,然后找问题。

使用特权

评论回复
| 2020-3-27 17:24 | 显示全部楼层 | 奖励家园币
darklighttt 发表于 2020-3-26 22:07
你得找对FAE,或者自己进行调试,然后找问题。

gd32有FAE?反正我是没有见过,问了所谓的FAE,也是在网上下载个DEMO,糊弄一下。感觉他们就是写了个库函数,然后就自生自灭了。说MCU在集团里面没什么地位,用的人少。

使用特权

评论回复
| 2020-3-27 20:32 | 显示全部楼层 | 奖励家园币
hua_ren 发表于 2020-3-27 17:24
gd32有FAE?反正我是没有见过,问了所谓的FAE,也是在网上下载个DEMO,糊弄一下。感觉他们就是写了个库函 ...

哈哈,是没有量,所以给你的支持不大吧。你可劲吹你的量。

使用特权

评论回复
 楼主 | 2020-3-29 10:48 | 显示全部楼层 | 奖励家园币
darklighttt 发表于 2020-3-26 22:07
你得找对FAE,或者自己进行调试,然后找问题。

请问有对的FAE推荐一下吗?最近公司在开发这款产品,需要一些技术支持,有没有联系方式什么的可以留一下,谢谢啦!

使用特权

评论回复
| 2020-3-29 13:18 | 显示全部楼层 | 奖励家园币
粒雄李雄 发表于 2020-3-29 10:48
请问有对的FAE推荐一下吗?最近公司在开发这款产品,需要一些技术支持,有没有联系方式什么的可以留一下 ...

你芯片从哪里买的就找谁,而不是你想找谁。

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表