EFM32例程——ACMP
硬件:EFM32GG230512
工具:keil5
ACMP实验
ACMP测试,ACMP测量判断输入电压高低
输出ACM_OUT获得高低信号
初始化
/*********************************************Copyright (c)***********************************************
** File name: acmp.c
** Created by: Gui
** Version: V1.0.0
** Descriptions: ACMP测试,ACMP测量判断输入电压高低,可工作在EM0~EM3下
*********************************************************************************************************/
#include "acmp.h"void ACMP0_IRQHandler (void){if (ACMP0->IF & ACMP_IF_EDGE) {ACMP0->IFC = ACMP_IFC_EDGE;}
}void acmp_init(void){CMU_ClockEnable(cmuClock_ACMP0, true);ACMP_Init_TypeDef tAcmpInit = {
#if ACMP_MODE == ACMP_CONSUME_FULL.fullBias = true, /* 全偏置电流开启 */.halfBias = false, /* 减半偏置电流关闭 */.biasProg = 15, /* 偏置电流配置 */
#elif ACMP_MODE == ACMP_CONSUME_GENERAL.fullBias = false, /* 全偏置电流关闭 */.halfBias = false, /* 减半偏置电流关闭 */.biasProg = 0, /* 偏置电流配置 */
#elif ACMP_MODE == ACMP_CONSUME_LOW.fullBias = false, /* 全偏置电流关闭 */.halfBias = true, /* 减半偏置电流开启 */.biasProg = 0, /* 偏置电流配置 */
#endif.interruptOnFallingEdge = true, /* 开启ACMP下降沿中断 */.interruptOnRisingEdge = false, /* 关闭ACMP上升沿中断 */.warmTime = acmpWarmTime256, /* 配置ACMP预热时间 */.hysteresisLevel = acmpHysteresisLevel0, /* 配置ACMP滞回电压 */.inactiveValue = 0, /* 配置ACMP不可用时输出为0 */
#if ACMP_MODE == ACMP_CONSUME_LOW.lowPowerReferenceEnabled = true, /* 使能低功耗参考电压模式 */
#else.lowPowerReferenceEnabled = false, /* 禁能低功耗参考电压模式 */
#endif.vddLevel = 0, /* 配置VDD参考电压分压值 */.enable = true /* 使能ACMP */};ACMP_Init(ACMP0, &tAcmpInit); /* 初始化ACMP */ACMP_ChannelSet(ACMP0, acmpChannel2V5, acmpChannel4); /* 设置ACMP输入通道,PC4对应4号 */GPIO_PinModeSet(gpioPortE,13,gpioModePushPull,1);ACMP_GPIOSetup(ACMP0, 0, 1, 0); /* 配置ACMP输出到GPIO口PE13 */while (!(ACMP0->STATUS & ACMP_STATUS_ACMPACT)) ; /* 等待ACMP预热完成 */ACMP_IntEnable(ACMP0, ACMP_IEN_EDGE); /* 使能ACMP边沿中断 */ NVIC_ClearPendingIRQ(ACMP0_IRQn); /* 清除NVIC中ACMP挂起中断 */NVIC_EnableIRQ(ACMP0_IRQn); /* 使能NVIC中ACMP总中断 */
}
main
/*********************************************Copyright (c)***********************************************
** File name: main.c
** Created by: Gui
** Version: V1.0.0
** Descriptions: ACMP测试,ACMP测量判断输入电压高低
*********************************************************************************************************/
#include "system.h"
#include "em_device.h"
#include "em_chip.h"
#include "em_cmu.h"
#include "em_int.h"
#include "delay.h"
#include "acmp.h"
#include "bsp_led.h"uint32_t g_chip_tick = 0;int main(){int velue;CMU_ClockEnable(cmuClock_HFPER, true); //前置芯片设置CMU_ClockEnable(cmuClock_GPIO, true);if(SysTick_Config(SystemCoreClockGet()/1000))while(1);//1ms的systick中断led_init();//PD4 PD5acmp_init();//PC4输入 PE13输出g_chip_tick = g_rtc_rtcFreq;while(1){if(g_rtc_rtcFreq - g_chip_tick > 1000 || g_chip_tick > g_rtc_rtcFreq){velue = ACM_OUT;velue = velue;}
// EMU_EnterEM2(false);}
}
EFM32例程——ACMP相关推荐
- EFM32例程——AES
硬件:EFM32GG230512 工具:keil5 AES实验 AES测试,AES加解密测试 打开时钟 /*********************************************Co ...
- EFM32例程——LETIMER
硬件:EFM32GG230512 工具:keil5 LETIMER实验 LETIMER测试,输出PWM波 初始化 /****************************************** ...
- EFM32例程——新建template工程
硬件:EFM32GG230512 工具:keil5 Simplicity Studio : 是Silicon Labs的一款开发软件,在里面有很多例程和工具. 1.创建CMSIS文件夹.这个文件夹存放 ...
- EFM32例程——ADC
硬件:EFM32GG230512 工具:keil5 ADC实验 简单测量电压 初始化 /******************************************************** ...
- EFM32例程——DMA
硬件:EFM32GG230512 工具:keil5 DMA实验 DMA测试,内存间传输 初始化 /*********************************************Copyri ...
- EFM32例程——DAC
硬件:EFM32GG230512 工具:keil5 DAC实验 DAC测试,使用DAC输出固定电压值 初始化 /******************************************** ...
- EFM32例程——CMU
硬件:EFM32GG230512 工具:keil5 CMU实验 CMU测试,输出时钟 初始化 /*********************************************Copyrig ...
- EFM32例程——EMU
硬件:EFM32GG230512 工具:keil5 EMU实验 EMU测试,进入em4休眠和唤醒 main /********************************************* ...
- EFM32例程——GPIO
硬件:EFM32GG230512 工具:keil5 GPIO实验 描述:简单的led闪烁. 具体参考em_gpio.c和em_gpio.h文件. IO初始化 //GPIO_DriveMode_Type ...
最新文章
- CSDN2008最有价值博客获奖感言--放飞梦想,让我们扬帆远航
- 中采购订单批导的bapi_跟着团子学SAP PS—项目中的物料组件
- list中去除连续重复的值并保留头尾2个和头尾2个值在原list中的索引
- 大数据可视化技术价值体现在哪方面
- python 【第一篇】初识python
- MySQL数据库模糊查询查不到数据的一种可能
- VMware ESXi 8.0 SLIC 2.6 macOS Unlocker (Oct 2022 GA)
- 云桌面 瘦终端_云终端与瘦终端简介
- 「秘」那些管UI小姐姐要来的网站
- 创龙28377d历程_双核dsp28377d
- pip install XXX总是报错,例如:Exception: Traceback (most recent call last):这种错误怎么办?
- 使用Jimi处理图像
- 数字孪生 软著登记表 模板
- JavaScript之排他思想详述
- 程序员找工作黑名单,避雷针!
- 高等数学——多元函数的极值的条件
- board在java是什么意思_Java 大白话讲解设计模式之
- Java Web Start(Jnlp)教程
- 《晚风》 带来阵阵清凉
- 【NI Multisim 14.0原理图设计基础——调整元器件位置】