硬件: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相关推荐

  1. EFM32例程——AES

    硬件:EFM32GG230512 工具:keil5 AES实验 AES测试,AES加解密测试 打开时钟 /*********************************************Co ...

  2. EFM32例程——LETIMER

    硬件:EFM32GG230512 工具:keil5 LETIMER实验 LETIMER测试,输出PWM波 初始化 /****************************************** ...

  3. EFM32例程——新建template工程

    硬件:EFM32GG230512 工具:keil5 Simplicity Studio : 是Silicon Labs的一款开发软件,在里面有很多例程和工具. 1.创建CMSIS文件夹.这个文件夹存放 ...

  4. EFM32例程——ADC

    硬件:EFM32GG230512 工具:keil5 ADC实验 简单测量电压 初始化 /******************************************************** ...

  5. EFM32例程——DMA

    硬件:EFM32GG230512 工具:keil5 DMA实验 DMA测试,内存间传输 初始化 /*********************************************Copyri ...

  6. EFM32例程——DAC

    硬件:EFM32GG230512 工具:keil5 DAC实验 DAC测试,使用DAC输出固定电压值 初始化 /******************************************** ...

  7. EFM32例程——CMU

    硬件:EFM32GG230512 工具:keil5 CMU实验 CMU测试,输出时钟 初始化 /*********************************************Copyrig ...

  8. EFM32例程——EMU

    硬件:EFM32GG230512 工具:keil5 EMU实验 EMU测试,进入em4休眠和唤醒 main /********************************************* ...

  9. EFM32例程——GPIO

    硬件:EFM32GG230512 工具:keil5 GPIO实验 描述:简单的led闪烁. 具体参考em_gpio.c和em_gpio.h文件. IO初始化 //GPIO_DriveMode_Type ...

最新文章

  1. CSDN2008最有价值博客获奖感言--放飞梦想,让我们扬帆远航
  2. 中采购订单批导的bapi_跟着团子学SAP PS—项目中的物料组件
  3. list中去除连续重复的值并保留头尾2个和头尾2个值在原list中的索引
  4. 大数据可视化技术价值体现在哪方面
  5. python 【第一篇】初识python
  6. MySQL数据库模糊查询查不到数据的一种可能
  7. VMware ESXi 8.0 SLIC 2.6 macOS Unlocker (Oct 2022 GA)
  8. 云桌面 瘦终端_云终端与瘦终端简介
  9. 「秘」那些管UI小姐姐要来的网站
  10. 创龙28377d历程_双核dsp28377d
  11. pip install XXX总是报错,例如:Exception: Traceback (most recent call last):这种错误怎么办?
  12. 使用Jimi处理图像
  13. 数字孪生 软著登记表 模板
  14. JavaScript之排他思想详述
  15. 程序员找工作黑名单,避雷针!
  16. 高等数学——多元函数的极值的条件
  17. board在java是什么意思_Java 大白话讲解设计模式之
  18. Java Web Start(Jnlp)教程
  19. 《晚风》 带来阵阵清凉
  20. 【NI Multisim 14.0原理图设计基础——调整元器件位置】

热门文章

  1. 《科研伦理与学术规范》 全部 习题_答案 2020年秋
  2. CSAE V2X应用层MAP消息解读
  3. python爬虫可以用来做什么?
  4. 电脑怎么批量把flac转换为mp3
  5. 【深度学习】超参数优化简单介绍
  6. Qt MVC之自定义模型
  7. 读卡器读不出卡,但通过数据线方式能读到卡,是卡有问题还是读卡器有问题?...
  8. POSIX依从性测试技术及工具介绍
  9. 【服务器数据恢复】raid0数据恢复案例raid数据网络回迁过程
  10. 本人的WIN7 RC+汉化安装步骤