现象:用沾水的纸巾已经擦过土壤传感器的表面了

ADC单通道的配置,里面有各种注释,这里就不多废话了

主函数:

#include "stm32f10x.h"
#include "oled.h"
#include "ADC.h"                  uint16_t ADValue=0,V=0;int main()
{OLED_Init();MADC_Init();OLED_ShowString(1,1,"ADValue:");OLED_ShowString(3,1,"V:");while(1){ADValue=ADC_GetValue();V=ADValue/4095.0*3.3*100;OLED_ShowNum(1,9,ADValue,4);OLED_ShowNum(3,3,V/100,1);OLED_ShowString(3,4,".");OLED_ShowNum(3,5,V%100,2);}
}

ADC.c

#include "ADC.h"
#include "Delay.h"                  // Device headervoid MADC_Init(void)
{GPIO_InitTypeDef GPIO_InitStruct; //定义GPIO初始化结构体变量 ADC_InitTypeDef ADC_InitStruct;//定义ADC初始化结构体变量  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_ADC1,ENABLE);//开启GPIO和ADC的时钟RCC_ADCCLKConfig(RCC_PCLK2_Div6);//设置ADC分频因子时钟,6分频 72M/6=12,ADC最大时间不能超过14MGPIO_InitStruct.GPIO_Pin=GPIO_Pin_6;//ADC通道6GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AIN; //模拟输入GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStruct);/* 选择ADC,通道数,规则组(通道放到一组的哪里),转换周期 */
//  ADC_RegularChannelConfig(ADC1,ADC_Channel_6,1,ADC_SampleTime_55Cycles5);//选择输入通道ADC_RegularChannelConfig(ADC1,ADC_Channel_7,1,ADC_SampleTime_55Cycles5);ADC_InitStruct.ADC_Mode = ADC_Mode_Independent;//ADC工作模式。独立工作模式ADC_InitStruct.ADC_ScanConvMode = DISABLE;  //非扫描模式    ADC_InitStruct.ADC_ContinuousConvMode = DISABLE;//单次转换ADC_InitStruct.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;//不使用外部触发,使用内部软件触发ADC_InitStruct.ADC_DataAlign = ADC_DataAlign_Right;//右对齐  ADC_InitStruct.ADC_NbrOfChannel = 2;//需要扫描的通道数ADC_Init(ADC1, &ADC_InitStruct);//ADC初始化ADC_Cmd(ADC1, ENABLE);//开启AD转换器ADC_ResetCalibration(ADC1);//开始复位校准while(ADC_GetResetCalibrationStatus(ADC1));//获取ADC重置校准寄存器的状态ADC_StartCalibration(ADC1);//开始指定ADC的校准状态while(ADC_GetCalibrationStatus(ADC1));//获取指定ADC的校准状态
}/*******************************************************************************
* 函 数 名 : ADC_GetValue
* 函数功能   : 获取ADC的转换值
*******************************************************************************/
u16 ADC_GetValue()
{ADC_SoftwareStartConvCmd(ADC1, ENABLE);//使能指定的ADC1的软件转换启动功能    while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ) == RESET);//等待转换结束标志位return ADC_GetConversionValue(ADC1);//读取ADC转换函数并返回a
} 

ADC.h

#ifndef __ADC_H_
#define __ADC_H_#include "stm32f10x.h"                  // Device headervoid MADC_Init(void);
u16 ADC_GetValue();#endif

STM32外设ADC的使用(单通道模式读取土壤湿度传感器)(标准库开发)相关推荐

  1. 了解库开发,我们从STM32标准库开发学起

    摘要:从STM32新建工程.编译下载程序出发,让新手由浅入深,尽享STM32标准库开发的乐趣. 自从CubeMX等图像配置软件的出现,同学们往往点几下鼠标就解决了单片机的配置问题.对于追求开发速度的业 ...

  2. STM32+RS485+Modbus-RTU(主机模式+从机模式)-标准库/HAL库开发

    modbus协议 完成modbus协议的编程之后,设备可以分别作为modbus协议的主机或者从机进行测试,使用模拟软件测试完毕后,完整代码以三个版本的形式进行介绍 1.版本一:使用串口接收数据超时完成 ...

  3. STM32实现六轴姿态测量陀螺仪模块JY61P(标准库与HAL库实现)

    本模块支持串口采用串口实现数据采集和处理 设备型号选择 目录 设备型号选择 六轴姿态测量陀螺仪模块简介 产品概述 产品特点 引脚说明 模块UART与MCU连接 应用领域 模块与单片机的接线表设计 标准 ...

  4. STM32F103标准库开发:Keil5新建STM32工程

    STM32标准库版工程模板链接 STM32F103标准库开发-目录 首先需要搭建Keil5编译环境,才可以新建STM32工程. Keil5编译环境搭建流程----STM32和GD32 新建STM32工 ...

  5. Arduino ESP8266读取土壤湿度传感器 ADC

    土壤传感器实物图 它总共有四个引脚: VCC引脚:接电源正极 GND引脚:接电源负极 A0引脚:输出土壤湿度传感器的模拟电压值,输出范围为0-1023 D0引脚:输出土壤湿度传感器的开关量值,值为0, ...

  6. STM-32:ADC模数转换器—ADC单通道转换/ADC多通道转换

    目录 一.ADC 模数转换器 1.1ADC简介 1.2 逐次逼近型ADC工作原理 1.3STM32中的ADC基本结构 1.4STM32中ADC的输入通道 1.5STM32中的ADC的四种转换模式 1. ...

  7. 使用STM32内部ADC资源读取环境光传感器

    目录 前言 一.TEMT6000环境光传感器 二.ADC 1.什么是ADC 2.环境光传感器TEMT6000与ADC的关系 三.单片机选型 四.代码 1.sensor_AD.c 2.sensor_AD ...

  8. STM32——ADC读取光敏传感器控制LED灯,看门狗中断

    本文介绍两种使用方法 一.编写读取AD值的函数,之后判断AD值,进行相应操作,比如点灯. 二.用ADC读取光敏传感器AO口输出,并配置ADC通道看门狗监控这条通道,当光线太暗时打开LED灯. 之后会再 ...

  9. STM32之ADC模数转换器单通道。

    ADC模数转换器 ADC(Analog-Digital Converter)模拟-数字转换器 ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁. 12位逐次 ...

最新文章

  1. centos --- phpunit 安装过程
  2. Ubuntu上安装nginx步骤及问题记录
  3. 平安容器云平台 Padis--传统金融企业的 Docker 实践
  4. 成功解决:连接sql server时插入数据库内容为乱码,并且输出也为乱码
  5. springboot基本属性注入
  6. mysql断电同步不起作用_mysql主从同步因断电产生的不能同步问题
  7. javascript 事件委派
  8. 互联网日报 | 7月31日 星期六 | 小米手机销量晋升全球第二;苏宁易购上半年亏损31.9亿元;亚马逊被欧盟罚款8.88亿美元...
  9. 2014蓝桥杯C++A:猜年龄;扑克序列(全排列)
  10. Java加密压缩文件
  11. 小程序图片上传formdata boundary + base64
  12. mysql 占比函数_MySQL通过分组计算百分比
  13. 计算机控制面板空白,win7控制面板打开是空白的怎么办-解决控制面板打开之后空白的方法 - 河东软件园...
  14. 业务流程图有哪些?一篇文章带你了解和绘制业务流程图
  15. 习题5.4 找出4*5矩阵中值最小和最大元素,并分别输出其值及所在的行号和列号。
  16. es 精确查找思路以及实现过程
  17. FPGA学习日志——分频与降频divider
  18. vmware安装openEuler+基本环境部署
  19. 机器学习分类模型评价指标之ROC 曲线、 ROC 的 AUC 、 ROI 和 KS
  20. dbeaver的安装和使用

热门文章

  1. python uwsgi+nginx部署
  2. python程序设计课程设计_《Python程序设计》课程教学大纲
  3. AutoCAD处理工具Aspose.CAD最新版三大新功能推荐——支持水印、CF2格式和OLE对象
  4. 从笛卡尔哲学领悟台球的学习经历
  5. 广西最新建筑八大员(资料员)模拟真题及答案解析
  6. vue身份证号、手机号、姓名脱敏处理
  7. HTML5canvas万花筒的绘制,HTML5/Canvas万花筒镜像绘制画板应用
  8. Godaddy主机评测,Godaddy主机好吗?
  9. jquery超全基础实例练习
  10. 如何快速有效的学习新领域知识