#天空星ADC

2024-04-24 00:36
文章标签 adc 天空

本文主要是介绍#天空星ADC,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、使用ADC

PA5------------------------ADC1-------------------channel5

04beec31bed84ee391cbce13cf2eb561.png

二、记录

1.数据对齐

2.数据位数(分辨率)

3.采样间隔

4.采样时钟分频(40MHZ以下)

5.转换外部触发源,外部触发边沿

6.转换通道数

三、代码

/** 立创开发板软硬件资料与相关扩展板软硬件资料官网全部开源* 开发板官网:www.lckfb.com* 技术支持常驻论坛,任何技术问题欢迎随时交流学习* 立创论坛:club.szlcsc.com* 关注bilibili账号:【立创开发板】,掌握我们的最新动态!* 不靠卖板赚钱,以培养中国工程师为己任*/
#include "board.h"
#include "bsp_uart.h"
#include "stdio.h"
#include "sys.h"uint16_t adc_value=0;
int main(void)
{board_init();uart1_init(115200);//1.配置ADC的GPIOGPIO_InitTypeDef  GPIO_InitStructure;//2.打开时钟RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;  //模拟引脚GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;GPIO_Init(GPIOA, &GPIO_InitStructure);//3.配置ADC公共配置ADC_CommonInitTypeDef ADC_CommonInitStructure;ADC_CommonInitStructure.ADC_DMAAccessMode=ADC_DMAAccessMode_Disabled;  //禁用DMA通道ADC_CommonInitStructure.ADC_Mode=ADC_Mode_Independent;  //独立模式(单通道扫描,不会分时复用扫描其他通道)ADC_CommonInitStructure.ADC_Prescaler=ADC_Prescaler_Div4;   //84MHZ/4=21MHZADC_CommonInitStructure.ADC_TwoSamplingDelay=ADC_TwoSamplingDelay_5Cycles;  //采样时间间隔5个采样周期ADC_CommonInit(&ADC_CommonInitStructure);    //4.配置ADCADC_InitTypeDef ADC_InitStructure;//5.打开ADC的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);ADC_InitStructure.ADC_ContinuousConvMode=DISABLE;   //禁止连续转换ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right; //数据右对齐ADC_InitStructure.ADC_ExternalTrigConvEdge=ADC_ExternalTrigConvEdge_None;  //无外部边沿触发转换ADC_InitStructure.ADC_NbrOfConversion=1; //只有1路转换ADC_InitStructure.ADC_Resolution=ADC_Resolution_12b;  //数据位12位ADC_InitStructure.ADC_ScanConvMode=DISABLE;    //禁止多路扫描ADC_Init(ADC1,&ADC_InitStructure);//6.使能ADCADC_Cmd(ADC1,ENABLE);while(1){  //7.配置采集通道ADC_RegularChannelConfig(ADC1,ADC_Channel_5,1,ADC_SampleTime_480Cycles);//8.软件打开ADCADC_SoftwareStartConv(ADC1);//9.检测ADC是否转换完成if(ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC)==SET){adc_value=ADC_GetConversionValue(ADC1);printf("the adc value is %d\r\n",adc_value);printf("the voltage is %f mv\r\n",((float)adc_value)*0.8056640625);  //0.8056640625=3300/4096ADC_ClearFlag(ADC1,ADC_FLAG_EOC);   //清0转换完成标志位}delay_ms(1000);				}}

 

 

这篇关于#天空星ADC的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/930309

相关文章

STM32(十一):ADC数模转换器实验

AD单通道: 1.RCC开启GPIO和ADC时钟。配置ADCCLK分频器。 2.配置GPIO,把GPIO配置成模拟输入的模式。 3.配置多路开关,把左面通道接入到右面规则组列表里。 4.配置ADC转换器, 包括AD转换器和AD数据寄存器。单次转换,连续转换;扫描、非扫描;有几个通道,触发源是什么,数据对齐是左对齐还是右对齐。 5.ADC_CMD 开启ADC。 void RCC_AD

STM32 ADC+DMA导致写FLASH失败

最近用STM32G070系列的ADC+DMA采样时,遇到了一些小坑记录一下; 一、ADC+DMA采样时进入死循环; 解决方法:ADC-dma死循环问题_stm32 adc dma死机-CSDN博客 将ADC的DMA中断调整为最高,且增大ADCHAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_buffer, ADC_Buffer_Size); 的ADC_Bu

学习硬件测试05:NTC(ADC)+正弦波(DAC)+DMA(ADC+DAC)(P73、P76、P78)

文章以下内容全部为硬件相关知识,鲜有软件知识,并且记的是自己需要的部分,大家可能看不明白。 一、NTC(ADC) 1.1实验现象 本实验用 NTC 采集温度,数码管实时显示温度数据(整数),左下角 USB 小串口每隔 1S 打印温度信息。 1.2硬件电路 NTC 电阻是一个模拟温度传感器,随着温度的升高,电阻值逐渐减小。电路简单介绍如下: 电源滤波电容在 25℃ 室温下 NTC 电

STM32CubeMX 2 解锁ADC模块

掏出上次写完的project。选择引脚 选择PA4和ADC1_IN4 2.选择设置配置 3.发现改完前面的配置之后这里的时钟自动变成了56, 选定,改回72. 4.改configuration,双击ADC1 跳出如下界面: Mode 选independent mode Data Alignment选Right Aligment是为了方便读数,因为这是一个12位的AD

嵌入式s3c2240: ADC

ADC :模数转换 10 位 CMOS ADC (模 / 数转换器)是一个 8 通道模拟输入的再循环类型设备。其转换模拟输入信号为 10 位二进制数字编码,最大转换率为 2.5MHz A/D 转换器时钟下的 500 KSPS 。 模拟:连续信号 数字:离散信号 原理  当采样到信号后, 与各个比较器相比较 假设采样到2.5 2

ADC——模数转换器

一、转换流程 在处理器中主要进行ADC 1、AD转换流程 :采样、保持、量化、编码 通过比较器获得的电信号转换数字信号,根据自己需求,如果要求速率就可以使用较多的比较器,不要求速率考虑成本就可以使用较少的比较器,将最后的转换结果,通过编码来表示 2、转换需要考虑的指标: 量程:0~3.3V 精度:10位 转换速率:500 KSPS 二、使用处理器上的A/D转换器 10 位

物联网——模拟与数字转换器(ADC)

ADC(常用于信号发生器,音频解码器) 逐次逼近型ADC 利用逐次逼近寄存器SAR,二分法逼近未知电压,直到外部输入电压与输出电压保持一致:例如0~225V每次去中间值作为判断电压,逐次二分 stm32的ADC模块 规则通道一次只能选一个数据寄存器,通常搭配DMA使用; 注入通道一次能选4个数据寄存器存相应数值 ADC基本结构 ADC引脚复用 双ADC模式(同步采样

STM32单片机HAL库——ADC输入

一、单通道采集 二、单通道+DMA采集 使能DMA 三、定时器采集+DMA传输 选择定时器1的通道1作为触发源,在TIM1的上升沿进行采集 定时器1挂载在APB2上面,APB2上定时器的频率为168MHZ psc=168-1 arr=1000-1 TIM1的时钟频率为168/168/1000=1kHZ pulse设置为500,占空比为50%

STM32(十):ADC模数转换器

ADC(Analog-Digital Converter)模拟-数字转换器         ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁。         12位逐次逼近型ADC,1us转换时间,分辨率:0~2^12-1           输入电压范围:0~3.3V,转换结果范围:0~4095         18个输入通道,可测量16个外

STM32单片机 ADC模数转换器

GPIO只能读取引脚的高低电平,只有两个值 ADC可对任意电压值进行量化,用变量来表示,相当于是电压表,可以测量引脚的具体电压 ADC简介 ADC(Analog-Digital Converter)模拟-数字转换器。 ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁。 DAC数字电路到模拟电路的桥梁,使用DAC可以将数字变量转换为模拟电压。DA