完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
ESP32有两个ADC,每个ADC有多个通道,同一时间每个ADC只能采集一个通道
ADC输出关键字: Serial.println(analogRead(35)); //analogRead(35)获取指定IO口的模拟电压数据(该方法将阻塞直到采集完成);数据范围为0~2^12-1,即0~4095. ESP32 DAC有两个脚:25 26 dacWrite(25, 100); //25,26 就是两个DAC引脚,后面的值取值范围时0-255,具体输出电压是 200/255*电源电压,200就是你填入的值 如果你的ADC采集有一些精度要求,我在网上找了一些可以调整的函数,完整代码在这里 void setup() { //关于串口后面还会,专门拿一篇博文来讲,因为有点多 Serial.begin(115200); //初始化调试串口,之后可以使用Ardunio ide 自带的串口调试,也可以自己用别的串口调试软件调试,波特率对上就行了 } void loop() { float adc_get; Serial.println(analogRead(35)); //analogRead(35)获取指定IO口的模拟电压数据(该方法将阻塞直到采集完成);数据范围为0~2^12-1,即0~4095. Serial.println(adc_get); dacWrite(25, 100); //25,26 就是两个DAC引脚,后面的值取值范围时0-255,具体输出电压是 200/255*电源电压,200就是你填入的值 delay(1000); /**************************************************************************************************************************************/ /********************************************* 调整精度用的一些函数 ************************************************************/ /**************************************************************************************************************************************/ //以下是我在网上找到的ADC的资料,如果简单使用就直接用下面的关键字读取,如果精度有一些要求就用下面注释的一些函数设置 //void analogReadResolution(uint8_t bits) 设置模拟数据读取分辨率,取值1~16,默认为12; //oid analogSetWidth(uint8_t bits) 设置ADC采样分辨率,取值9~12,默认为12; //void analogSetCycles(uint8_t cycles) 设置单次采样的周期,取值1~255,默认为8; //void analogSetSamples(uint8_t samples)设置单次采样的实际采样次数,取值1~255,默认为1;该项的设置相当于提高了ADC的灵敏度,比如该值为2,则采样获得数据就是真实数据的2倍; //void analogSetClockDiv(uint8_t clockDiv)设置ADC时钟分频系数,取值1~255,默认为1; //下面是设置ADC全局输入衰减,取值ADC_0db, ADC_2_5db, ADC_6db, ADC_11db,默认为11db; 当 VDD_A 为 3.3V 时: 0dB 下量程最大为 1.1V 2.5dB 下量程最大为 1.5V 6dB 下量程最大为 2.2V 11dB 下量程最大为 3.9V(最大可以采集到3.3V电压) //void analogSetAttenuation(adc_attenuation_t attenuation) //void analogSetPinAttenuation(uint8_t pin, adc_attenuation_t attenuation) 设置单独某个IO口的输入衰减; //int hallRead()Get value for HALL sensor (without LNA) connected to pins 36(SVP) and 39(SVN);(关于霍尔传感器) //下面几个是非阻塞采样 相关函数 //bool adcAttachPin(uint8_t pin)将IO口连接到ADC; //bool adcStart(uint8_t pin)开启采样与转换; //bool adcBusy(uint8_t pin)检查采样与转换是否完成; //uint16_t adcEnd(uint8_t pin)读取采集到的数据(如果未完成将阻塞至完成); } 最后 STM32 HAL库的教程还在更新当中但是现在每篇博文要做的都挺多的,所以会更得慢一点,但我会一直更下去的,初步更完ESP32与stm32大概率更一些树莓派,k210的教程,这这个系列教程是用ESP32连接WIFI 方式与阿里云端交互,而后面会教大家用NB-IOT,用PYTHON(树莓派这种可以直接安装包直接用)的方式与阿里云交互,最后会更算法与视觉类教程,那部分边学变更,我是个大三的学生,自学物联网2年多了,我会带着兴趣一直写下去,至少我以后看到这些博文,我觉得自己曾经学过一些东西。由于我很少碰硬件,所以硬件小白一定要注意一下,因为我会找时间从基本0基础开始边学边更一些硬件基础,PCB绘制。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1567 浏览 1 评论
synopsys 的design ware:DW_fpv_div,浮点数除法器,默认32位下,想提升覆盖率(TMAX),如果用功能case去提升覆盖率呢?
1790 浏览 1 评论
RK3588 GStreamer调试四路鱼眼摄像头四宫格显示报错
4465 浏览 1 评论
【飞凌嵌入式OK3576-C开发板体验】RKNN神经网络-YOLO图像识别
254 浏览 0 评论
【飞凌嵌入式OK3576-C开发板体验】SSH远程登录网络配置及CAN通讯
1336 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 16:54 , Processed in 0.519689 second(s), Total 71, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号