请选择 进入手机版 | 继续访问电脑版
查看: 1723|回复: 3

[原创] 【经验分享】frdm-k64 adc多路采集四连之第二连--简易多路采集

[复制链接]

该用户从未签到

655

主题

6311

帖子

0

超级版主

Rank: 8Rank: 8

积分
19924
最后登录
2024-4-19
发表于 2020-6-12 10:03:15 | 显示全部楼层 |阅读模式
本帖最后由 小恩GG 于 2021-3-25 09:53 编辑

adc有时候需要多个通道数据的值,下面介绍一种简单的方法来查看连续adc通道的模拟值。使用循环,在每次采集完成后就更改配置,然后再次采集。
实现函数
输入开始通道和结束通道,就可以将区间范围的通道值全都采集出来。
void scanChannel(ADC_Type *base,uint8_t startChannel, uint8_t endChannel)
{
        assert(base);
        adc16_channel_config_t adc16ChannelConfigStruct;
        for(uint8_t i = startChannel; i <= endChannel; i++)
        {
                adc16ChannelConfigStruct.channelNumber                        = i ;
                adc16ChannelConfigStruct.enableInterruptOnConversionCompleted = false;
                ADC16_SetChannelConfig(base, 0, &adc16ChannelConfigStruct);        
                        while (0U == (kADC16_ChannelConversionDoneFlag &
                      ADC16_GetChannelStatusFlags(base, 0)));
                PRINTF("ADC%d channel:%d Value  : %d\r\n",base==ADC0?0:1 ,i , ADC16_GetChannelConversionValue(base, 0));
        }
}

效果如下
多通道adc.PNG
很简单,但是在通道非常多的情况下还是比较占用mcu资源的,下一连实现灵活多通道采集
多通道.zip (1.17 KB, 下载次数: 16)
回复

使用道具 举报

该用户从未签到

0

主题

2

帖子

0

新手上路

Rank: 1

积分
12
最后登录
2021-3-25
发表于 2021-3-24 19:23:11 | 显示全部楼层
请问老大哥,能把工程也贴出来下嘛
回复 支持 反对

使用道具 举报

该用户从未签到

655

主题

6311

帖子

0

超级版主

Rank: 8Rank: 8

积分
19924
最后登录
2024-4-19
 楼主| 发表于 2021-3-25 09:53:55 | 显示全部楼层
wx香辣鸡翅 发表于 2021-3-24 19:23
请问老大哥,能把工程也贴出来下嘛

上传了
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

2

帖子

0

新手上路

Rank: 1

积分
12
最后登录
2021-3-25
发表于 2021-3-25 10:35:21 | 显示全部楼层

硬核的,谢谢老大哥了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2024-4-19 06:24 , Processed in 0.119606 second(s), 23 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表