☰
ADC流模式连续采样
2026/10/20 1:16:27 网站建设 项目流程

本文主要讲一下ADC流模式连续采样与ADC 单次触发采样的区别

功能上很好理解,单次触发采样就是触发一次采一次,连续采样就是触发一次连续采多次

主要从配置及代码使用两个方面

ADC流模式必须使用中断,得增加相应的中断回调函数,OS需要配置中断优先级

1.配置区别

主要是选择模式和采样次数,下图分别是单次触发采样和流模式连续采样的配置

单次触发Streaming Number只能配置为1,流模式连续采样按自己需求配,下面示例配了5,也就是调一次接口连续采样5次

添加中断回调函数

OS配置中断

OsApplication中引用配置好的中断

2. 代码区别

代码调用没啥区别,

主要就是设置buffer有区别,因为流模式连续采样采了多组,所以buffer得是数组

先定义一个buffer变量:Adc_ValueGroupType resultBuffer[5u];

定义adcGroup的buffer地址:Adc_SetupResultBuffer(adcGroup, resultBuffer);

启用该ADC通道的通知机制:Adc_EnableGroupNotification(adcGroup);

开启转换:Adc_StartGroupConversion(adcGroup);

获取转换结果:Adc_GetGroupStatus(adcGroup); 注意ADC_STREAM_COMPLETED,这个宏才是流模式转换完成标志

结束转换:Adc_StopGroupConversion(adcGroup);

建议:for循环5次,开始检测,直到检测成功或超时,结束检测,若转换成功则数据可信,若未收到转换成功标志,而是走了超时,则舍弃改数据。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询