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带来的"新特性",直觉上看,除了引 ...
随机推荐
- ffmpeg只编译h264
./configure --arch=arm --cross-prefix=arm-none-linux-gnueabi- --extra-ldflags=-static --target-os=li ...
- WebStorm + JetBrains IDE Support 实现自动刷新功能
WebStorm 7.0 + live eidt + JetBrains IDE Support 实现自动刷新功能, WebStorm 7.0 已自带live eidt扩展 并可更改端口,WebSto ...
- handsontable-cell type
在单元格中呈现自定义的元素:不能使用html元素 var data = [ { title: "<a href='http://www.amazon.com/Professional- ...
- poj2115 Looooops 扩展欧几里德的应用
好开心又做出一道,看样子做数论一定要先看书,认认真真仔仔细细的看一下各种重要的性质 及其用途,然后第一次接触的题目 边想边看别人的怎么做的,这样做出第一道题目后,后面的题目就完全可以自己思考啦 设要+ ...
- solr特点五: MoreLikeThis(查找相似页面)
在 Google 上尝试一个查询,您会注意到每一个结果都包含一个 “相似页面” 链接,单击该链接,就会发布另一个搜索请求,查找出与起初结果类似的文档.Solr 使用MoreLikeThisCompon ...
- shell脚本参数中有空格
shell脚本参数中有空格 在shell脚本中如果有空格的处理如下: sh test.sh "hello word" echo $1 得到的是hello,而不是hello word ...
- vs 你不得不会的调试方式
常规调试F5 一般情况下,我们在使用vs的jdk调试程序,通常是使用F5这种常规编译方式,很方便 but,编译的速度是so慢,慢的让人无法忍受,通常一个稍大一点的项目跑起来就需要一分钟,甚至两分钟,作 ...
- tcp udp socket编程
http://blog.csdn.net/ns_code/article/details/14128987
- Sublime写作
下载 Sublime Text 快捷键(MAC环境) sublime text 批量删除空白行 Sublime text3!行首,行尾,批量编辑!
- 【OCP认证12c题库】CUUG 071题库考试原题及答案(25)
25. choose the best answer Evaluate the following SQL statement: ALTER TABLE hr.emp SET UNUSED (mgr_ ...