littlebot
Published on 2025-04-15 / 1 Visits
0

【源码】基于C++的ADC DMA Gen3库

项目简介

本项目是基于C++的开源库,主要用于在Particle的nRF52系列设备上实现ADC(模拟到数字转换器)的DMA(直接内存访问)采样。它提供了简单的API,方便用户配置ADC参数、处理样本数据,还附带示例代码,展示了在Particle设备上的使用方法。

项目的主要特性和功能

  1. DMA采样:利用DMA技术实现ADC连续采样,不影响其他操作的同时连续读取ADC数据。
  2. 双缓冲:支持双缓冲模式,处理一个缓冲区数据时,另一个缓冲区进行填充,避免样本丢失。
  3. 回调函数:提供回调函数用于处理ADC样本数据。
  4. ADC配置:通过API接口,用户可配置ADC参数,如采样频率、缓冲区大小等。
  5. 示例代码:提供多个示例代码,涵盖音频传输、频率计数、DTMF检测等,便于用户学习使用。

安装使用步骤

假设用户已经下载了本项目的源码文件,以下是使用步骤: 1. 在项目中引入 ADCDMAGen3_RK.h 头文件。 2. 创建一个 ADCDMAGen3 对象。 3. 使用 withXXX() 方法配置ADC的参数,如采样频率、缓冲区大小等。 4. 调用 init() 方法初始化ADC。 5. 调用 start() 方法启动ADC采样。 6. 在回调函数中处理ADC的样本数据。 7. 调用 stop() 方法停止ADC采样。

注意事项

  • 此库是实验性特性,Particle官方并未正式支持,使用前需了解可能的风险和限制。
  • 使用此库可能需要放弃其他硬件资源,如NFC等。
  • 不能在同一时间使用ADC DMA和analogRead()

版本历史

  • 0.0.2 (2021-07-02):增加了与Device OS 2.0.0及更高版本的兼容性。
  • 0.0.1 (2019-09-27):初始版本,可能存在一些未修复的bug。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】