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带来的"新特性",直觉上看,除了引 ...
随机推荐
- chrome url protocol 提示配置文件路径
%localappdata%\Google\Chrome\User Data\Default\Preferences 搜索对应的协议名,例如:{"x-github-client": ...
- Jakarta Commons Cookbook
Cookbook就是工具书,应该是前年看的,在中关村看的影印版,全英文,本书主要讲解了一下模块: Core:BeanUtils,Lang,Collections,logging Db:DbUtil ...
- CentOS 最新版的下载地址 + 版本选择详解
CentOS 最新版的下载地址 + 版本选择详解 发现越来越多的机关单位.事业单位开始使用 Linux 作为主要服务器,毕竟,Linux的稳定性和高效性是众所周知的,所以我也打算把自己这一块技术加强一 ...
- Selenium Webdriver定位元素的几种方式
原文:http://www.cnblogs.com/tobecrazy/p/4570494.html 工作中使用到记录一下. 主要有: 上传 alter dialog prompt dialog co ...
- kalilinux、parrotsecos没有声音
Kali Linux系统默认状态下,root用户是无法使用声卡的,也就没有声音.启用的方法如下: (1)在终端执行命令:systemctl --user enable pulseaudio (2)在/ ...
- mongodb spring 集成
参考文档 mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?op ...
- 20145233计算机病毒实践九之IDA的使用
20145233计算机病毒实践之IDA的使用 PSLIST导出函数做了什么 这个函数是一个export函数,所以在view中选择export 查到后,双击打开这个函数的位置 仔细看这个函数可以发现这个 ...
- 基于Extjs的web表单设计器 第二节——表单控件设计
这一节介绍表单设计器的常用控件的设计. 在前面两章节的附图中我已经给出了表单控件的两大分类:区域控件.常用控件.这里对每个分类以及分类所包含的控件的作用进行一一的介绍,因为它们很重要,是表单设计器的基 ...
- IIS 8 nodejs + iisnode 配置
最近再Server 2012 + IIS 8 中配置NodeJS 运行环境,具体配置过程就不细说了(随便搜搜一堆),安装完nodejs 和 iisnode 之后,出现一个报错,如下: The iisn ...
- shell脚本参数中有空格
shell脚本参数中有空格 在shell脚本中如果有空格的处理如下: sh test.sh "hello word" echo $1 得到的是hello,而不是hello word ...