ADC新库
1.单次采集模式
1.在STM32CUBMX中设置为单次采集模式
2.在C文件中用HAL_ADC_START()函数启动ADC
3.用HAL_ADC_PollForConversion()延时等待采集完成,一般10MS即可
4.用HAL_IS_BIT_SET(HAL_ADC_STATE(),HAL_ADC_STATE_REG_EOC)判断ADC转换是否完成,如果完成置1
5.接收数据,在主程序中启动ADC自动校准程序HAL_ADCEx_Calibration_Start(&hadc);注意此程序再HAL_ADC_EX.H中
2.连续采集模式
1.在STM32CUBMX中设置为连续采集模式
2.在main函数中只需启动一次HAL_ADC_START()函数
3.在C文件中用do while函数反复循环,并需要延时以及判断标志位
#include "bsp_adc.h" void ADC_Demo(void)
{ uint16_t ADC_Temp1=;
uint32_t ADC_Tempsum=;
float ADC_Temp2=;
uint8_t i=; do{ HAL_ADC_PollForConversion(&hadc,);
if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc),HAL_ADC_STATE_REG_EOC))
{
ADC_Tempsum += HAL_ADC_GetValue(&hadc);
i++;
}
}while(i<); ADC_Temp1 =ADC_Tempsum/;
ADC_Temp2 = (float)ADC_Temp1*3.3/;
printf("ADC采集电压值= %f V\r\n",ADC_Temp2);
printf("ADC采集电压值= %d \r\n",ADC_Temp1);
}
3.连续采集中断模式
1.在STM32CUBMX中ADC的选项内部NVIC下面配置中断打钩
2.在main函数中用HAL_ADC_Start_IT(&hadc)函数开启ADC采集以及ADC中断;
3.在pbdata.c中调用中断回调函数HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc);每次采集完成就会中断一次
//下面为公共文件
#include "pbdata.c"
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
{
static uint8_t i=;
if(i<)
{
ADC_try[i++]=HAL_ADC_GetValue(hadc);
}
else
i=;
} //下面为bsp_adc.c文件
void ADC_Demo(void)
{
uint8_t i;
uint16_t ADC_Temp1=;
float ADC_Temp2=;
uint16_t ADC_num=;
for(i=;i<;i++)
{
ADC_num+=ADC_try[i];
}
ADC_Temp1=ADC_num/;
ADC_Temp2=ADC_Temp1*3.3/;
printf("ADC采样平均值= %f V\r\n",ADC_Temp2); }
ADC新库的更多相关文章
- Bonobo创建新库出错,解决方案
创建新库出错如下: Native library pre-loader is trying to load native SQLite library "D:\wwwroot\localho ...
- openerp模块收藏 auto_setup 自动帮你完成建新库时必做几个操作(转载)
auto_setup 自动帮你完成建新库时必做几个操作 原文:http://shine-it.net/index.php/topic,6777.0.html 模块地址: https://github. ...
- mysql:创建新库,新表,查看character
创建新库create database wenda; 创建新表drop table if exists `user`;create table `user`( `id` int(11) unsigne ...
- odoo XMLRPC 新库 OdooRPC 尝鲜
无意中发现了python居然有了OdoRPC的库,惊喜之下赶紧尝试一番,比XMLRPC简洁了不少,机制看样子是利用的JsonRPC. #原文出自KevinKong的博客http://www.cnblo ...
- GIT 旧库迁移到新库
1.在gitlab创建新项目,得到SSH地址2.用gitextent打开旧项目,记得所有分支合并成一个(如果确实无法合并,则需要一个个复位推送)3.复位到需要推送的节点分支4.打开菜单栏的档案库,管理 ...
- g2o扩展,然后重新编译生成新库。
orb作者有g2o扩展,g2o原作者也有g2o扩展,等各项基本功扎实以后,考虑把他们整合在一起,再加上高博扩展的g2o,统一cmake,make,然后能make install 正常使用,就最好了.
- 介绍一个新库: Norns.Urd.HttpClient
Norns.Urd.HttpClient Norns.Urd.HttpClient 基于AOP框架 Norns.Urd实现, 是对 System.Net.Http下的 HttpClient封装,让大家 ...
- HAL驱动库学习-ADC
如何使用ADC驱动库 1 实现如下两个函数 a: HAL_ADC_MspInit()使能ADC时钟,设置时钟源, 使能ADC Pin,设置为输入模式,可选 DMA,中断 b:HAL_ ...
- 如何使用开源库,吐在VS2013发布之前,顺便介绍下VS2013的新特性"Bootstrap"
刚看到Visual Studio 2013 Preview - ASP.NET, MVC 5, Web API 2新功能搶先看 看了下VS2013带来的"新特性",直觉上看,除了引 ...
随机推荐
- Windows10远程桌面连接配置
被控电脑在TP-Link路由器 1.基本设置 被控端电脑设置:1)被控端的电脑系统需要是Windows专业版或者企业版,家庭中文版的系统是不支持远程访问功能的: 2)被控端打开远程桌面功能,在系统的设 ...
- 看图说说JVM GC收集算法
- (转)【经验之谈】Git使用之Windows环境下配置
原文地址:http://www.cnblogs.com/xishuai/p/3590434.html 前言 安装 配置 关于git使用的几个问题 后记 关于代码托管,以前用过vss和svn,看博客或论 ...
- (巴什博弈 sg函数入门1) Brave Game -- hdu -- 1846
链接: http://acm.hdu.edu.cn/showproblem.php?pid=1846 首先来玩个游戏,引用杭电课件上的: (1) 玩家:2人:(2) 道具:23张扑克牌:(3) 规则: ...
- 编译语言 vs 解释语言
编译语言 vs 解释语言 阅读: 评论: 作者:Rybby 日期: 来源:rybby.com 一直以为,编译语言的性能绝对比解释语言快,因为就理论而言,解释语言要一边解释(将脚本语言翻译成计算 ...
- PPI协议(西门子PLCS7-200)
西门子PLC S7-200 PPI协议报文,9600,偶校验,8数据位,1停止位 读取vb100寄存器:PC发送报文68 1B 1B 68 2 0 6C 32 1 0 0 0 0 0 E 0 0 4 ...
- Javascript设计模式理论与实战:简单工厂模式
通常我们创建对象最常规的方法就是使用new关键字调用构造函数,这会导致对象之间的依赖性.工厂模式是一种有助于消除类之间依赖性的设计模式,它使用一个方法来决定要实例化哪一个类.本文详细介绍了简单工厂模式 ...
- 不错的Django博客
https://blog.csdn.net/chengqiuming/article/category/8453874 杜塞的个人网站 https://www.dusaiphoto.com/ 追梦人物 ...
- C# 实用小类
/// <summary> /// 汉字转换拼音 /// </summary> /// <param name="PinYin"></pa ...
- C#中的类
C#编程语言,从本质上讲是一组类型声明.所以,本人认为第一个要区分的点是:类型!=类. 当然,如果想要系统的学习C#还是应该先了解一下.Net框架,本文目的只是从相对宏观的角度讲清楚C#中的类.关于类 ...