项目简介
本项目是基于C++的开源库,主要用于在Particle的nRF52系列设备上实现ADC(模拟到数字转换器)的DMA(直接内存访问)采样。它提供了简单的API,方便用户配置ADC参数、处理样本数据,还附带示例代码,展示了在Particle设备上的使用方法。
项目的主要特性和功能
- DMA采样:利用DMA技术实现ADC连续采样,不影响其他操作的同时连续读取ADC数据。
- 双缓冲:支持双缓冲模式,处理一个缓冲区数据时,另一个缓冲区进行填充,避免样本丢失。
- 回调函数:提供回调函数用于处理ADC样本数据。
- ADC配置:通过API接口,用户可配置ADC参数,如采样频率、缓冲区大小等。
- 示例代码:提供多个示例代码,涵盖音频传输、频率计数、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】