[STM32F0xx]的AD转换驱动程序_stm32f0xx adc_in-程序员宅基地

技术标签: ADC  STM32  AD采样  AD转换  F0xx  

        STM32F0xx的AD转换程序。

        该例程使用的是PB01引脚,AD功能为ADC_IN9,查数据手册,如下图所示。

        首先初始化引脚:

        

void adc_init( void )
{
    GPIO_InitTypeDef GPIO_InitStructure;
    
    RCC_APB2PeriphClockCmd( RCC_APB2Periph_ADC1, ENABLE );
    
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
    GPIO_Init( GPIOB, &GPIO_InitStructure );
    
    ADC_Configuration();
}

 

        然后,初始化ADC的功能:

void ADC_Configuration( void )
{
    ADC_InitTypeDef ADC_InitStructure;
    
    ADC_DeInit( ADC1 );
    ADC_StructInit( &ADC_InitStructure );
    
    ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;
    ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
    ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;
    ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
    ADC_InitStructure.ADC_ScanDirection = ADC_ScanDirection_Upward;
    ADC_Init( ADC1, &ADC_InitStructure );
    
    ADC_ChannelConfig( ADC1, ADC_Channel_9, ADC_SampleTime_239_5Cycles );
    
    ADC_GetCalibrationFactor( ADC1 );
    
    ADC_Cmd( ADC1, ENABLE );
    
    while ( !ADC_GetFlagStatus( ADC1, ADC_FLAG_ADRDY ) );
    ADC_StartOfConversion( ADC1 );
}

         ADC_ChannelConfig( ADC1, ADC_Channel_9, ADC_SampleTime_239_5Cycles );

        其中ADC的通道配置函数,配置为ADC1,通道9,采样周期为ADC_SampleTime_239_5Cycles。

        

        接下来直接使用获取AD值的函数,ADC_GetConversionValue( ADC1 );  该函数位于#include "stm32f0xx_adc.h"的文件中。

        下述函数为获取8次ADC的值,求和后求平均,然后转换为电压值(单位:V)avg*3300/4096 。


uint32_t ADC_Check( void )
{
    uint32_t ResultVolt = 0;
    uint8_t i;
    
    for ( i = 0; i < 8; i++ )
    {
        while ( ADC_GetFlagStatus( ADC1, ADC_FLAG_EOC ) == RESET );
        ResultVolt += (uint32_t)ADC_GetConversionValue( ADC1 );
    }
    // 求平均
    ResultVolt = ResultVolt >> 3;
    // 求得1000倍电压值
    //ResultVolt = (ResultVolt*3300) >> 12;
    
    return ResultVolt;
}

 

 

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/d4l6c8/article/details/115478546

智能推荐

Vue获取浏览器唯一标识_vue获取设备唯一标识-程序员宅基地

文章浏览阅读5.3k次。登陆时候可能需要向后台传输一个唯一标识符具体实现思路如下:1、引入js2、写入3-最终打印出来结果,发送给后台_vue获取设备唯一标识

ARM开发环境下载地址大全_arm gcc 下载-程序员宅基地

文章浏览阅读2.6k次,点赞3次,收藏10次。arm gcc工具链下载简介_arm gcc 下载

【前端】【HTML】基础知识_html的-程序员宅基地

文章浏览阅读3.6k次,点赞6次,收藏42次。HTML指的是超文本语言,它是用来描述网页的的一种语言。HTML不是编程语言,而是一种标记语言。标记语言是一套标记标签。_html的

python实现树结构的json文件_python实现树形结构的json文件-程序员宅基地

文章浏览阅读1.8k次。需求:在做树形可视化图形时,需要相应的json文件为树形结构。本例为将所有IP进行一个统计,合并同类项,之后根据IP的四个字段分为四层。第一层为第一个字段,第二层为第二个字段,以此类推,总共四层。数据格式类似下图:image.png实现思路:1.将IP统计后的结果以dataframe的数据结构存储;2.定义两种节点:非叶子节点:node={"name":"","children":[]}叶子节点:..._树图展开json文件 python

力扣[LeetCode].1. 两数之和_力扣主函数-程序员宅基地

文章浏览阅读210次。class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int,int> heap; //新建一个哈希表,把每一个数值映射为他的下标 for(int i=0;i<nums.size();i++){ //遍历每个数 int r = t._力扣主函数

CRNN英文字符识别代码运行测试 | 论文理解 | 【OCR】_crnn在线测试-程序员宅基地

文章浏览阅读438次。CRNN 英文识别 代码运行测试环境搭建运行过程如下所测试代码https://github.com/meijieru/crnn.pytorch环境搭建参照: requirements.txt 文件lmdb==0.97numpy==1.17.2Pillow==6.1.0six==1.12.0torch==1.2.0torchvision==0.4.0一个普通的 pytorch1.2 环境搭建操作,实测 安装 torch1.4 一样可以运行:conda create_crnn在线测试

随便推点

【渝粤题库】陕西师范大学202521中国古代文学(三) 作业(高起专)_登金陵雨花台望大江艺术特色-程序员宅基地

文章浏览阅读4.9k次。《中国古代文学三》作业第一章 元曲的形成和兴盛一、填空题:1、我国的戏剧,其起源、形成,经历了漫长的时期。从先秦( )、汉魏( )、隋唐( )发展到宋代院本,表演要素日臻完善。2、元代创作的剧本,数量颇多。据统计,现存剧本名目,杂剧有( )多种,南戏有( )种。3、元代戏曲包含( )和( )两种主要形式。4、元代可分为南北两大戏剧圈,前期北方的活动中心在(_登金陵雨花台望大江艺术特色

不堪回首的青春回忆,用群晖NAS网络存储记住吧_群晖可以备份qq聊天记录吗-程序员宅基地

文章浏览阅读786次。青春是热血、朝气、尴尬等等名词的汇聚,对于90后来说非主流、大头贴等一堆不堪回首的记忆充满了我们的记忆。往往这些记忆都保存在了放着DJ等非主流音乐的空间中,永远封锁只对自己开放。随着QQ也开通了账号注销功能,保存在QQ空间的数据也不是永远存在了。虽然这是一段我们不堪回首的青春记忆,虽然现在最年轻的00后都已经19岁了,青春的世界不再属于90后了。但是回忆还是要存储下来的,可是值得90后回忆的不仅..._群晖可以备份qq聊天记录吗

private和public_class public和private-程序员宅基地

文章浏览阅读2.7k次。一、结构体/类的定义和实现分离,代码可读性更强(非必须)//xxx.h头文件struct Test{ int x; int y; int z; void Init(int x,int y,int z); void Function1(); void Function2(); void Function3();}//xxx.cpp#include<stdio.h>#include"structure.h"void Test::Init(int x, int y, _class public和private

php 上传图片 缩略图,PHP 图片上传类 缩略图-程序员宅基地

文章浏览阅读70次。/*** 上传图片*/class imgUpload{static protected $a;protected $formName; //表单名称protected $directory; //文件上传至目录protected $maxSize; //最大文件上传大小protected $canUpload; //是否可以上..._php上传图片 缩略图

scrapy爬虫框架_3.6.1 scrapy 的版本-程序员宅基地

文章浏览阅读737次。入门案例class QuotesSpider(scrapy.Spider): name = 'quotes' start_urls = [ 'http://quotes.toscrape.com/tag/humor/', ] def parse(self, response): for quote in response.css('div.quote'): yield { 'aut_3.6.1 scrapy 的版本

微信支付——统一下单——java_小程序统一下单接口-程序员宅基地

文章浏览阅读625次,点赞10次,收藏10次。这边是用户购买vip的一个支付代码,使用统一下单,主要是jsapi支付。_小程序统一下单接口