#天空星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

相关文章

STM32G030F6使用CubeMx配置DMA读取多通道ADC实验

1. 使用 CubeMx 创建 ADC 工程 打开 CubeMx 软件,选中我们此次使用的单片机型号 STM32G030F6P6 ,点击 StartProject. 先配置一下串口,用来打印相关信息 再来配置 ADC 配置DMA PS:DMA 需要要配置成循环模式,否则只填满一次缓存数组后就停止工作,需要重调用启动 DMA 的函数. 配置时钟 ps:本实验使用内部高速时钟

MPC5748G之adc polling interrupt

开发环境: 硬件:MPC5748G软件:S32 Design Studio for Power Architecture Version 2017.R1 adc引脚: PB5 步骤及注意事项: 1.配置好外设及系统时钟2.初始化adc设置1)轮询模式2)中断模式a.需要在中断向量表中配置中断函数b.初始化中断寄存器PSRc.使能adc转换中断 遇到的问题: EOC与ECH在

12位的ADC是什么意思

12位的ADC(模数转换器,Analog-to-Digital Converter)是指一种能将模拟信号转换为12位数字信号的电子设备。在这里,“位”(bit)是衡量数字信号精度的一个单位,位数越多,ADC的分辨率越高,能够更精细地表示模拟信号的变化。 具体来说,12位ADC意味着它可以将模拟信号的电压值转换为一个12位的二进制数。由于每一位可以表示两个电压状态(0或1),12位ADC可以表示

N32G031 ADC初始化

目录 1. ADC初始化概述 2. ADC初始化详细步骤 2.1 ADC配置 2.2 ADC初始化函数调用 2.3 DMA配置(可选) 3. 初始化结果验证 4. 注意事项 ADC采样注意事项 1. ADC初始化概述 在N32G031单片机中,ADC的初始化是确保ADC模块能够正常工作的重要步骤。初始化过程涉及ADC的配置、通道选择、采样时间设置以及DMA(直接内存访问

高性能8位单片机 CA51M151,1T 8051内核 / 内置12位ADC / 16 位PWM / 支持触摸 / 8K MTP

CA51M151 系列芯片是基于 1T 8051 内核的 8 位微控制器,不仅保留了传统 8051 芯片的基本特性,通常情况下运行速度比传统的 8051 芯片快 10 倍,性能更加优越。芯片内置 8 KB MTP 程序存储器,256Byte 内部RAM,512Byte 外部 RAM 及 512Byte EEPROM。还集成了 26 路 12 位 ADC、 26 路 Touch Key(不需外接电容

【GD32F303红枫派使用手册】第十二节 ADC-双轴按键摇杆多通道循环采样实验

12.1 实验内容 本实验是通过ADC规则组多通道循环采样方式实现双轴按键摇杆传感器x和y轴电压值的读取,通过本实验主要学习以下内容: 双轴按键摇杆传感器工作原理 DMA原理 规则组多通道循环采样 12.2 实验原理 12.2.1 双轴按键摇杆传感器工作原理 摇杆一般在航模中的无人机、电玩、遥控车、云台等设备上应用广泛,很多带有屏幕的设备也经常使用摇杆作为菜单选择的输入控制。

时钟影响ADC性能不仅仅是抖动

时钟影响ADC性能除了抖动,还有占空比。 在高速AD采样中,时钟占空比是非常重要的一个参数。时钟信号的上升沿控制ADC的采样,而下降沿控制着信号的保持,在一个周期内才可以完成量化输出,所以必须保持时钟的占空比为50%,如果时钟不是50%的话,就会影响采样保持电路中的电荷转换精度。这样就会降低模数转换器的性能。然而即使信号源的占空比是50%,但是时钟所经过的路径上存在的非理想因素,包括驱动器结构或

ADC 驱动实例开发

、开发环境 主  机:VMWare--Fedora 9开发板:Mini2440--64MB Nand, Kernel:2.6.30.4编译器:arm-linux-gcc-4.3.2 二、硬件原理分析                                S3C2440内部ADC结构图 我们从上面的结构图和数据手册可以知道,该ADC模块总共有8个通道可以进行模拟信号的输入,

STM32中ADC在cubemx基础配置界面介绍

ADCx的引脚,对应的不同I/O口,可以复用。   Temperature  :温度传感器通道。 Vrefint :内部参照电压。 Conversion Trigger: 转换触发器。 IN0 至 IN15,是1ADC1的16个外部通道。本示例中输出连接的是ADC2的IN5通道,所以只勾选IN5.Temperature Sensor Channel,内部的温度传感器通道,连接ADC1的IN

STM32快速入门(ADC数模转换)

STM32快速入门(ADC数模转换) 前言 ADC数模转换存在的意义就是将一些温度传感器、各自数据传感器产生的模拟信号转换成方便识别和计算的数字信号。 导航 图24 通用定时器框图: 图片截取自STM32 F1XX中文参考手册。还是以框图为中心,来叙述我对ADC的理解。 ACD实现细节 核心原理 所谓ADC转换目的是为了将连续变化的模拟量转变成数字,方便程序的计算。这里的模拟量