EFM32例程——ADC
硬件:EFM32GG230512
工具:keil5
ADC实验
简单测量电压
初始化
/*********************************************************************************************************
** Function name: adc_ch2_init
** Descriptions: ADC初始化
** input parameters: none
** output parameters: none
** Returned value: none
*********************************************************************************************************/
void adc_init(void){// CMU_ClockEnable(cmuClock_HFPER, true);CMU_ClockEnable(cmuClock_ADC0, true); /* 使能ADC模块时钟 */ADC_Init_TypeDef tAdcInit = {.ovsRateSel = adcOvsRateSel2, /* ADC过采样配置 */.lpfMode = adcLPFilterBypass, /* 旁路输入滤波RC电路 */.warmUpMode = adcWarmupNormal, /* 正常预热模式 */.timebase = ADC_TimebaseCalc(0), /* 基时间配置 */.prescale = ADC_PrescaleCalc(7000000, 0), /* ADC时钟分频配置 */.tailgate = false /* 不使能Tailgate */};ADC_InitSingle_TypeDef tSingleInit = {.prsSel = adcPRSSELCh0, /* 选择PRS通道0 */.acqTime = adcAcqTime16, /* 配置采集时间为16周期 */.reference = adcRefVDD, /* 使用VDD参考电压 */.resolution = adcRes12Bit, /* 使用12位分辨率 */.input = adcSingleInpCh2, /* 输入选择通道2 */.diff = false, /* 不采用差分采集模式 */.prsEnable = false, /* 禁能PRS输入 */.leftAdjust = false, /* 使用右对准 */.rep = false /* 不使用连续转换 */};ADC_Init(ADC0, &tAdcInit);ADC_InitSingle(ADC0, &tSingleInit); /* 初始化ADC单次转换 */
}/*********************************************************************************************************
** Function name: get_ch2_value
** Descriptions: 获取ch2通道电压值
** input parameters: none
** output parameters: none
** Returned value: 电压值
*********************************************************************************************************/
uint32_t get_value(void){uint32_t ulVoltage;CMU_ClockEnable(cmuClock_ADC0, true);ADC_Start(ADC0, adcStartSingle); /* 启动单次转换 */while (ADC0->STATUS & ADC_STATUS_SINGLEACT) ;ulVoltage = ADC_DataSingleGet(ADC0) * 330 / 4095; /* 计算采集到的电压值 */CMU_ClockEnable(cmuClock_ADC0, false);return (ulVoltage);
}
main
/*********************************************Copyright (c)***********************************************
** File name: main.c
** Created by: Gui
** Version: V1.0.0
** Descriptions: ADC测试,使用PD2作为输入,检测电压值
*********************************************************************************************************/
#include "system.h"
#include "em_device.h"
#include "em_chip.h"
#include "em_cmu.h"
#include "delay.h"
#include "adc.h"int main()
{CMU_ClockEnable(cmuClock_HFPER, true); //前置芯片设置CMU_ClockEnable(cmuClock_GPIO, true);if(SysTick_Config(SystemCoreClockGet()/1000))while(1);//1ms的systick中断adc_init();while(1){get_value();}
}
EFM32例程——ADC相关推荐
- 小壁虎EFM32之ADC 采集电压
前言 最近在学习小壁虎EFM32芯片的使用,需要用ADC采集电压,学习之中,遇到一些小问题和需要注意的地方,现将其记录下来,避免以后自己再次踩坑和往后可以学而时习之:好了,进入正题. 代码 主函数: ...
- EFM32例程——LETIMER
硬件:EFM32GG230512 工具:keil5 LETIMER实验 LETIMER测试,输出PWM波 初始化 /****************************************** ...
- EFM32例程——DMA
硬件:EFM32GG230512 工具:keil5 DMA实验 DMA测试,内存间传输 初始化 /*********************************************Copyri ...
- EFM32例程——AES
硬件:EFM32GG230512 工具:keil5 AES实验 AES测试,AES加解密测试 打开时钟 /*********************************************Co ...
- EFM32例程——DAC
硬件:EFM32GG230512 工具:keil5 DAC实验 DAC测试,使用DAC输出固定电压值 初始化 /******************************************** ...
- EFM32例程——新建template工程
硬件:EFM32GG230512 工具:keil5 Simplicity Studio : 是Silicon Labs的一款开发软件,在里面有很多例程和工具. 1.创建CMSIS文件夹.这个文件夹存放 ...
- EFM32例程——ACMP
硬件:EFM32GG230512 工具:keil5 ACMP实验 ACMP测试,ACMP测量判断输入电压高低 输出ACM_OUT获得高低信号 初始化 /************************ ...
- EFM32例程——CMU
硬件:EFM32GG230512 工具:keil5 CMU实验 CMU测试,输出时钟 初始化 /*********************************************Copyrig ...
- EFM32例程——EMU
硬件:EFM32GG230512 工具:keil5 EMU实验 EMU测试,进入em4休眠和唤醒 main /********************************************* ...
最新文章
- 第二家公司Get技能总结
- python rs485_PySerial RS485读取
- 山西财经大学计算机考试题及答案,2018年山西财经大学计算机应用技术408计算机学科专业基础综合之计算机操作系统考研基础五套测试题...
- Python基础教程:list深拷贝和浅拷贝
- Java数字、货币格式化
- python中的参数函数_python中函数与参数的简介
- python中的文件I/O
- VS code解决Latex不显示参考文献,正文中显示[?]的问题
- 国家邮政局:前10月邮政行业业务收入同比增长17.8%
- 金山词霸2016下载的离线词典包位置
- 工作3年以上的程序员现在都在做什么工作?
- 入手评测 i7 1255u和i5 1235U选哪个好
- 专访Databricks辛湜,谈Spark排序比赛摘冠及生态圈热点-2014
- 思维导图工具---Xmind使用方法和快捷键汇总(精简版)
- JS实现RGB,HSL,HSB相互转换
- JAVA面试大全(持续更新中...)
- Android面试,给正在找工作的安卓攻城师们 ... ...
- 【潍坊seo公司】普通人都能学会的SEO,让你打破网络营销瓶颈
- 12、Pytest之@pytest.mark.自定义标签使用
- Kibana的安装与使用