《ESP32 学习笔记》 之Arduino环境下 使用全面的 ADC 检测

#include <esp32-hal-adc.h>

#include <esp32-hal-adc.c>

/*
Arduino.h-Arduino SDK的主要包含文件。
版权所有(C)2005-2013 Arduino团队。好的。

此库是*软件;您可以重新分发它和/或。
根据GNU较小的一般公众的条款对其进行修改。
由*软件基金会发布的许可证;
许可证版本2.1,或(根据您的选择)任何更高版本。

这个图书馆的分布是希望它会有用,
但没有任何保证;甚至没有隐含的保证。
适销性适合某一特定目的适销性或适销性。请参阅GNU
更多详细信息,请参阅较宽松的通用公共许可证

您应该已经收到一份GNU Lesser General Public
随此库一起授权;如果没有,请写信给*软件
基金会公司,美国马萨诸塞州波士顿富兰克林大街51号,邮编:02110-1301.
*/

#ifndef Main_ESP32_HAL_ADC_H_。
#定义MAIN_ESP32_HAL_ADC_H_。

#ifdef__cplusplus。
外部“C”{。
#endif。

#include“esp32-hal.h”

tyecif枚举{。
ADC_0dB,
ADC_2_5db,
ADC_6DB,
ADC_11db。
)ADC_衰减_t;

/*。
*获取引脚的ADC值。
**/。
uint16_t模拟读取(uint8_t引脚);

/*。
*设置aliogRead返回值的分辨率。默认值为12位(范围从0到4096)。
*如果在9和12之间,它将等于设置的硬件分辨率,否则值将移位。
*范围为1-16。
*。
*注:与Arduino SAM兼容。
*/。
void模拟读取分辨率(uint8_t位);

/*。
*设置采样位和读取分辨率。
*默认值为12位(0-4095)。
*范围为9-12。
**/。
void AnalogSetWidth(uint8_t比特);

/*。
*设置每个样本的周期数。
*默认为8,似乎表现不错。
*范围为1-255。
**/。
void parogSetCycle(uint8_t个周期);

/*。
*设置范围内的样本数。
*默认值为1。
*范围为1-255。
*此设置将范围拆分为。
*“样本”件,可能看起来。
*就像敏感度成倍增长。
*那么多次。
**/。
void parogSetSamples(uint8_t示例);

/*。
*设置ADC时钟的分频器。
*默认值为1。
*范围为1-255。
**/。
void parogSetClockDiv(Uint8_T ClockDiv);

/*。
*设置所有通道的衰减。
*默认值为11db。
**/。
void模拟设置衰减(ADC_衰减_t衰减);

/*。
*设置特定引脚的衰减。
*默认值为11db。
**/。
void alog SetPinAttenation(uint8_t管脚,ADC_衰减_t衰减);

/*。
*获取霍尔传感器的值(不带LNA)。
*连接到引脚36(SVP)和39(SVN)。
**/。
int halRead();

/*。
*非阻塞接口(差不多)。
*。
*注:ADC转换一次只能针对单个管脚运行。
*这意味着如果要在同一总线的两个引脚上运行ADC,
*需陆续运行。或许最好的用法是。
*在两辆巴士上并行开始转换。
**/。

/*。
*将引脚连接到ADC(还将清除任何其他可能开启的模拟模式)。
**/。
bool adcAttachPin(uint8_t管脚);

/*。
*在连接的引脚总线上开始ADC转换。
**/。
Bool adcStart(uint8_t引脚);

/*。
*检查引脚的ADC总线上的转换当前是否正在运行。
**/。
Bool adcBusy(uint8_t管脚);

/*。
*获取转换结果(未完成将等待)。
**/。
uint16_t adcEnd(uint8_t管脚);

 

上一篇:CRC8校验,生成多项式:X8 + X2 + X + 1


下一篇:什么时候用得到结构体数组