STM32 ADC注入通道的使用

发布者:DelightWish123最新更新时间:2017-09-13 来源: eefocus关键字:STM32  ADC  注入通道 手机看文章 扫描二维码
随时随地手机看文章

通过ADC注入通道的使用,可以实时获取4个GPIO输入的AD采样值,下面看具体的代码。 
芯片:STM32F205VCT6

STEP1:初始化GPIO

void GPIO_Configuration ( void )
{
//GPIO -PC0 PC1 PC2 PC3 -ADC3
    GPIO_InitStructure.GPIO_Pin     = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3;
    GPIO_InitStructure.GPIO_Mode    = GPIO_Mode_AN;
    GPIO_InitStructure.GPIO_PuPd    = GPIO_PuPd_NOPULL;
    GPIO_InitStructure.GPIO_Speed   = GPIO_Speed_50MHz;
    GPIO_Init ( GPIOC, &GPIO_InitStructure );
}123456789

STEP2:初始化ADC

void ADC_Configuration(void)
{                                       
    ADC_InitTypeDef       ADC_InitStructure;
    ADC_CommonInitTypeDef ADC_CommonInitStructure;

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC3, ENABLE);//ADC Common Init 
    ADC_CommonInitStructure.ADC_Mode                = ADC_Mode_Independent;
    ADC_CommonInitStructure.ADC_Prescaler           = ADC_Prescaler_Div4;
    ADC_CommonInitStructure.ADC_DMAAccessMode       = ADC_DMAAccessMode_Disabled;
    ADC_CommonInitStructure.ADC_TwoSamplingDelay    = ADC_TwoSamplingDelay_20Cycles;
    ADC_CommonInit(&ADC_CommonInitStructure);// ADC3 Init 
    ADC_InitStructure.ADC_Resolution                = ADC_Resolution_12b;
    ADC_InitStructure.ADC_ScanConvMode              = ENABLE;
    ADC_InitStructure.ADC_ContinuousConvMode        = ENABLE;
    ADC_InitStructure.ADC_ExternalTrigConvEdge      = ADC_ExternalTrigConvEdge_None;
    ADC_InitStructure.ADC_ExternalTrigConv          = ADC_ExternalTrigConv_T1_CC1;
    ADC_InitStructure.ADC_DataAlign                 = ADC_DataAlign_Right;
    ADC_InitStructure.ADC_NbrOfConversion           = 1;
    ADC_Init(ADC3, &ADC_InitStructure);

    ADC_TempSensorVrefintCmd(ENABLE);
    ADC_RegularChannelConfig(ADC3, ADC_Channel_Vrefint, 1, ADC_SampleTime_144Cycles);

    ADC_AutoInjectedConvCmd(ADC3, ENABLE);
    ADC_ExternalTrigInjectedConvEdgeConfig(ADC3, ADC_ExternalTrigInjecConvEdge_None); 
    ADC_InjectedSequencerLengthConfig(ADC3, 4);
    ADC_InjectedChannelConfig(ADC3, ADC_Channel_10, 3,ADC_SampleTime_144Cycles);
    ADC_InjectedChannelConfig(ADC3, ADC_Channel_11, 4,ADC_SampleTime_144Cycles);
    ADC_InjectedChannelConfig(ADC3, ADC_Channel_12, 2,ADC_SampleTime_144Cycles);
    ADC_InjectedChannelConfig(ADC3, ADC_Channel_13, 1,ADC_SampleTime_144Cycles);
    ADC_SetInjectedOffset(ADC3, ADC_InjectedChannel_1, 2000);//采样后的值减去阈值,可以省去后续的处理
    ADC_SetInjectedOffset(ADC3, ADC_InjectedChannel_2, 2000);// Enable ADC3 
    ADC_Cmd(ADC3, ENABLE);
    ADC_SoftwareStartConv(ADC3);}123456789101112131415161718192021222324252627282930313233343536373839404142

STEP3:使用

value1 = ADC_GetInjectedConversionValue(ADC3, ADC_InjectedChannel_1);value2 = ADC_GetInjectedConversionValue(ADC3, ADC_InjectedChannel_2);value3 = ADC_GetInjectedConversionValue(ADC3, ADC_InjectedChannel_3);value4 = ADC_GetInjectedConversionValue(ADC3, ADC_InjectedChannel_4);


关键字:STM32  ADC  注入通道 引用地址:STM32 ADC注入通道的使用

上一篇:STM32 ADC的规则通道和注入通道的区别
下一篇:嵌入式设计经验:ARM-WinCE平台时钟同步设计

推荐阅读最新更新时间:2024-03-16 15:36

关于STM32GPIO口配置命令
以下代码摘自原子的stm32开发指南 //初始化 PB5 和 PE5 为输出口.并使能这两个口的时钟 void LED_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE, ENABLE); //使能 PB,PE 端口时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //PB.5 推挽输出 GPIO_InitStructure.GPIO_M
[单片机]
STM32学习笔记之绪论
学习STM32也有些日子了。作为初学者,从最初的一无所知,到现在略知皮毛之皮毛,感觉着实不容易。 下面把自己的体会以及自认为初学者不易掌握的要点和大家分享一下,有错误的地方,欢迎大家指正。 一、关于学习方法 初学STM32给我的一个感觉就是,概念繁多而且很多都可以继续深究下去, 教程对此又不可能都很详细的论述,但于我来说如鱼鲠喉实在不爽。 因为我喜欢刨根问底,网络资料又实在繁杂,如此又耗费精力,又打击学习积极性。 终于有一天,我转变了心态,如果STM32犹如枝繁叶茂的大树(整个嵌入式体系亦如此),我要做的不是连每一个叶子都明了,而是暂时只要知晓其主干及一些必要的干支即可。其他的枝叶等有时间再去深究,而很多脉络随
[单片机]
<font color='red'>STM32</font>学习笔记之绪论
使用STM32定时器进行输入脉冲的计数
STM32的定时器具有计数功能,在实际应用中可以用来对引脚上的输入信号进行统计。其输入信号作为计数时钟,输入引脚为ETR引脚。 本例程使用Timer 2,其ETR输入引脚为PA1,初始化是设置该引脚工作模式为输入模式,Timer2的工作模式为从模式。 为了方便测试,另外使用PC6模式输出一个时钟信号。测试时将PC6与PA1短接。(用户也可另外连接一个时钟信号到PA1引脚上。) 代码如下: int main(void) { unsigned char i_Loop; unsigned char n_Counter; #3366ff #ifdef DEBUG debug(); #3366ff #endif RC
[单片机]
STM32中AHB总线、APB2总线、APB1总线这些是什么
一直不明白有 STM32 中AHB总线、APB2总线、APB1总线这些是是什么?? 所谓地址映射,就是将芯片上的存储器 甚至I/O等资源与地址建立一一对应的关系。如果某地址 对应着某寄存器,我们就可以运用C语言的指针来寻址并修改这个地址上的内容,从而实现修改该寄存器的内容。 正是因为头文件中有了对于各种寄存器和I/O端口的地址映射,我们才可以在51单片机 程序中方便地使用P2^0 =0xFF; TMOD =0xFF等赋值句子对寄存器进行配置,从而控制单片机。 其实地址总线就是就是用来存放地址的,Cortex-M3的地址映射也是类似的,Cortex-M3有32根地址线,所以它的寻址空间大小为2^32 bit=4
[单片机]
在IAR下如何查看工程的堆栈(STM32
在IAR下编程,难免少不了要跟堆栈打交道,但是打交道之前也要知道堆栈的大小,以及堆栈的位置在哪里? Options- Linker- Overridde default- Edit查看芯片的堆栈大小 这里可以看到我们使用的堆栈的大小都是0x800(2K)大小。如果想修改堆栈的大小,可以在这里修改,然后保存到工程目录下即可。 那如何查看堆栈在SRAM中的位置呢? 首先设置Options- Linker- List,将Generatee linkeer map file勾选上。 编译一下,在工程目录的output文件夹下就出现了.map的文件。 在文件中我们可以看到一下分配信息。 可以看到堆栈都在 P2
[单片机]
在IAR下如何查看工程的堆栈(<font color='red'>STM32</font>)
基于STM32的无线传感器网络系统设计
引言 无线传感器网络(Wireless Sensor Networks,WSN)是由分布在监测区域内的大量的传感器节点,通过无线通信的方式形成的多跳自组织网络,可以组成区域内的无线传感器网络,广泛应用于环境监测,如温度、湿度、压力、短距离无线通信等。 无线传感器网络,其主题是低成本、低功耗、多功能的集成化传感器网络。这些传感器具有无线通信、数据采集和处理、协同合作的功能。无线传感器网络能够通过各类集成化的传感器协作地实时监测、感知和采集各种环境或监测对象的信息,通过嵌入式系统对信息进行处理,并通过随机自组织无线通信网络以多跳中继方式将所感知信息传送到用户终端,使用户完全掌握监测区域的情况并作出反应。 1 无线传感器网络
[单片机]
基于<font color='red'>STM32</font>的无线传感器网络系统设计
STM32 USB学习笔记8
主机环境:Windows 7 SP1 开发环境:MDK5.14 目标板:STM32F103C8T6 开发库:STM32F1Cube库和STM32_USB_Device_Library 现在分析USB器件库核心文件的最后一个文件usbd_ctlreq,该文件提供了标准请求的处理,跟USB2.0协议的第九章节紧密关联。在Setup阶段根据bmRequest字段的内容分为:设备请求、接口请求、端点请求。并根据不同的请求调用不同的函数体,USB2.0协议中定义的标清请求有以下几种 通过第一个竖栏可以看出同一个请求代码可以对应多个接收者,例如CLEAR_FEATURE请求可以是设备请求也可以是接口请求,同样也可以是端点请求。对应的各个请
[单片机]
凌力尔特推出低功率、无漏码16 位模数转换器
凌力尔特公司 (Linear Technology Corporation) 推出低功率、16 位、无漏码、80Msps 模数转换器 (ADC) LTC2259-16,其功耗仅为 89mW,尚不及同类竞争 16 位解决方案的一半。LTC2259-16 为现有的 14 位低功率 LTC2259-14 ADC 系列提供了一种引脚兼容的升级,是具双倍数据速率 (DDR) CMOS/LVDS 输出的单通道 16 位 ADC 中功耗最低的一款。除了功率显著降低之外,LTC2259-16 还拥有两个旨在抑制数字反馈的有用特点,包括交替位极性 (ABP) 模式和一个数字输出随机函数发生器。这些特点与低功率相组合,简化了众多应用中采用高速
[模拟电子]
凌力尔特推出低功率、无漏码16 位<font color='red'>模数转换器</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved