【经验】32位MCU EFM32 系列GPIO外部中断使用经验

2018-11-23 世强
32位MCU,EFM32,EFM32GG230F0124,Silicon Labs 32位MCU,EFM32,EFM32GG230F0124,Silicon Labs 32位MCU,EFM32,EFM32GG230F0124,Silicon Labs 32位MCU,EFM32,EFM32GG230F0124,Silicon Labs

SILICON LABS  32位MCU EFM32功耗低至 37 μA/MHz,封装尺寸小至 4 mm x 4 mm,拥有行业标准的ARM® Cortex®-M处理器的性能。高效节能,具备业界最低的睡眠电流0.5 µA ,自动外设PRS系统,LESENSE传感器接口;所有产品线均为低功耗系列,如Cortex M0+,M3,M4+。具备丰富的开发生态环境:Simplicity Studio可以提供开发需要的所有资源,Energy profiler优化电池使用寿命,具有丰富的软件库、code examples、demos。


这里重点介绍GPIO外部中断的使用,EFM32 系列MCU 的引脚组织为每个端口16个引脚,每个独立的GPIO引脚命名为Pxn,x表示端口号(A,B,C…),n表示引脚号(0,1,….15)。EFM32的GPIO输入信号可以作为外部中断信号源的输入。


EFM32 MCU的任意一个GPIO引脚都可以产生中断,这些中断可以将MCU从低功耗模式(EM1-EM3)唤醒。可以设置为上升沿或下降沿检测,也可以双边检测。引脚号相同的引脚共用一个中断触发标志,所以不能同时作为中断输入,即PA5,PB5…PF5触发同一个中断,因此不能PA5,PB5….PF5同时作为外部中断引脚。也就是说在同一个工程里面我们不能把PA5,PB5都配置为外部中断,如果这样配置只响应后者PB5的外部中断,PA5的外部中断不响应。


所以对于EFM32 MCU外部中断最多使用16个,而且在使用这16个外部中断要配置的Pxn管脚时的n是不能相同的。

GPIO共有两个中断向量,引脚号0开始算起,如PA0对应为奇数触发,PA1对应为偶数中断触发,PA2对应为奇数中断触发以此类推,对于不同引脚触发的中断区分要依靠查询相应的中断标志位。


范例可以参考Simplicity Studio开发环境下的AN0012应用笔记对应的范例程序。

下面的参考程序是STK3800评估板对应型号EFM32GG230F0124为例的。

 

* any purpose, you must agree to the terms of that agreement.

 *

 ******************************************************************************/

 

#include "em_device.h"

#include "em_chip.h"

#include "em_cmu.h"

#include "em_emu.h"

#include "em_gpio.h"

#include "bsp.h"

 

// GG11 STK currently does not have LEDs defined

#if defined BSP_STK_BRD2204A

#ifndef BSP_GPIO_LED0_PORT

#define BSP_GPIO_LED0_PORT      gpioPortH

#endif

#ifndef BSP_GPIO_LED0_PIN

#define BSP_GPIO_LED0_PIN       10

#endif

#ifndef BSP_GPIO_LED1_PORT

#define BSP_GPIO_LED1_PORT      gpioPortH

#endif

#ifndef BSP_GPIO_LED1_PIN

#define BSP_GPIO_LED1_PIN       13

#endif

#endif

#define BSP_GPIO_BUTTONS

#define BSP_NO_OF_BUTTONS       2

#define BSP_GPIO_PB0_PORT       gpioPortB

#define BSP_GPIO_PB0_PIN        9

#define BSP_GPIO_PB1_PORT       gpioPortB

#define BSP_GPIO_PB1_PIN        10

/**************************************************************************//**

 * @brief GPIO Even IRQ for pushbuttons on even-numbered pins

 *****************************************************************************/

void GPIO_EVEN_IRQHandler(void)

{

  // Clear all even pin interrupt flags

  GPIO_IntClear(0x5555);

 

  // Toggle LED0

  GPIO_PinOutToggle(BSP_GPIO_LED0_PORT, BSP_GPIO_LED0_PIN);

}

 

/**************************************************************************//**

 * @brief GPIO Odd IRQ for pushbuttons on odd-numbered pins

 *****************************************************************************/

void GPIO_ODD_IRQHandler(void)

{

  // Clear all odd pin interrupt flags

  GPIO_IntClear(0xAAAA);

 

  // Toggle LED01

  GPIO_PinOutToggle(BSP_GPIO_LED0_PORT, BSP_GPIO_LED0_PIN);

}

 

/**************************************************************************//**

 * @brief GPIO initialization

 *****************************************************************************/

void initGPIO(void)

{

  // Configure GPIO pins

  CMU_ClockEnable(cmuClock_GPIO, true);

 

  // Configure PB0 and PB1 as input with glitch filter enabled

  GPIO_PinModeSet(BSP_GPIO_PB0_PORT, BSP_GPIO_PB0_PIN, gpioModeInputPullFilter, 1);

  GPIO_PinModeSet(BSP_GPIO_PB1_PORT, BSP_GPIO_PB1_PIN, gpioModeInputPullFilter, 1);

 

  // Configure LED0 and LED1 as output

  GPIO_PinModeSet(BSP_GPIO_LED0_PORT, BSP_GPIO_LED0_PIN, gpioModePushPull, 0);

 

  // Enable IRQ for even numbered GPIO pins

  NVIC_EnableIRQ(GPIO_EVEN_IRQn);

 

  // Enable IRQ for odd numbered GPIO pins

  NVIC_EnableIRQ(GPIO_ODD_IRQn);

 

  // Enable falling-edge interrupts for PB pins

  GPIO_IntConfig(BSP_GPIO_PB0_PORT, BSP_GPIO_PB0_PIN, 0, 1, true);

  GPIO_IntConfig(BSP_GPIO_PB1_PORT, BSP_GPIO_PB1_PIN, 0, 1, true);

}

 

/**************************************************************************//**

 * @brief  Main function

 *****************************************************************************/

int main(void)

{

  // Chip errata

  CHIP_Init();

 

  // Initializations

  initGPIO();

 

  while (1){

    // Enter Low Energy Mode until an interrupt occurs

    EMU_EnterEM3(false);

  }

}


授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 0

本文由梧桐叶提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。

相关研发服务和供应服务

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

【经验】航顺32位MCU HK32F030M FLASH擦写操作非法操作解决方案

​HK32F030M是航顺一款入门级经济型32位MCU,使用ARM® Cortex®-M0内核,最高工作频率32MHz。本文将介绍HK32F030M FLASH擦写操作非法操作解决方案。

2023-03-25 -  设计经验 代理服务 技术支持 采购服务

【经验】如何基于J-FLASH对32位MCU EFM32 进行批量烧写?

Silicon Labs 32位MCU EFM32,以低功耗、高性能等著称,被广泛应用在电池供电等需要低功耗的领域。因应用广泛,在批量烧写上,也得到多家软件支持。本文将详细描述名基于SEGGER的J-Flash软件对EFM32烧写FLASH的方法及步骤。

2018-09-17 -  设计经验 代理服务 技术支持 采购服务

【经验】32位MCU EFM32系列中断分组及优先级设置方式

Silicon Labs的32位MCU EFM32系列广泛应用于物联网、智能家居、无线抄表、智能照明、可穿戴设备等领域。中断是一个MCU中比较核心的部分,在实时性要求比较高、功耗低的场合经常需要中断的配合,中断优先级是根据中断事件的重要性和紧迫程度做出的一个设置,系统先响应优先级高的中断请求,再响应优先级低的中断请求。

2019-12-24 -  设计经验 代理服务 技术支持 采购服务

灵动微电子扎根张江造“芯”,打造本土32位MCU知名品牌

灵动微电子成立于2011年,2016年进军MCU市场,2019年积极向工业、大家电、汽车等领域发力,目前已涵盖消费电子、电机与电源、家电、汽车、计算机与通信、工业控制等应用领域,客户群体包括飞利浦、小米、汇川、海尔、海信、美的等,是中国本土领先的通用32位MCU 产品及解决方案供应商。

2024-09-19 -  原厂动态 代理服务 技术支持 采购服务

【IC】32位MCU HK32C030家族,业界创新,12寸迭代超高性价比

航顺芯片新推出的32位MCU HK32C030,12寸迭代具有超高性价比。适用于工业应用,物联网,PC外设,智能家居,医疗设备,大小家电,手持设备等领域

2024-06-13 -  产品 代理服务 技术支持 采购服务

【IC】芯科科技EFM32PG28 32位低功耗微控制器,1.71-3.8V宽工作电压范围,嵌入式物联网的理想选择

随着AIoT和可穿戴技术的爆炸式增长,低功耗微控制器(MCU)已经无处不在,因为许多应用都有最小化功耗的需求。本文整理了当今市场上可用的低功耗MCU及其功能特性。以下内容摘要介绍Silicon Labs(亦称“芯科科技”)的EFM32PG28(PG28)32位MCU产品。

2024-03-11 -  产品 代理服务 技术支持 采购服务

【经验】Silicon Labs 32位MCU EFM32在静电测试时的故障排查

本文介绍Silicon Labs 32位MCU EFM32在做静电测试时,出现复位、死机情况时如何去查找原因

2019-06-11 -  设计经验 代理服务 技术支持 采购服务

航顺芯片并购32位MCU研发公司成都蓉芯微,将围绕HK32 MCU生态和愿景快速扩张、赋能生态!

航顺芯片经过多年发展后为更快速的人才集聚和弥补核心技术商业化,采取先投资,双方团队磨合后并购32位MCU研发公司成都蓉芯微;将持续布局采取投资控股和并购等方式,围绕航顺HK32 MCU生态和愿景快速扩张赋能生态企业得以更加快速发展。

2023-08-03 -  原厂动态 代理服务 技术支持 采购服务

【经验】Silicon Labs 32位MCU EFM32PG12复位引脚在SWD接口中的重要性

在使用​Silicon Labs 32位MCU EFM32PG12时,通常要在PCBA上保留SWD接口以方便程序的下载、调试功能,但为了节省空间,有些用用户不接RESET引脚,这会有潜在的风险。借测试说明复位引脚在SWD接口中的重要性。

2022-06-24 -  设计经验 代理服务 技术支持 采购服务

国产车规/工业/商业级32位MCU可软硬件兼容STM,航顺芯片出货达2亿颗

航顺芯片以AIOT多核异构HK32MCU为核心,致力于打造无边界生态平台级企业。现已量产ARMCortex-M0、M0+、M3、M4及RISC-V等300余款工业/商业/车规级32位MCU,可软硬件兼容STM,出货达2亿颗,支持定制。

2022-03-01 -  公司动态 代理服务 技术支持 采购服务

【应用】极海半导体APM32F035主控32位MCU用于医疗离心机,内置12位ADC及运放,支持霍尔补偿

目前医疗离心机用到的单片机也非常多,功能也越来越多集成化,大大降低产品设计的工作。本文推荐极海半导体APM32F035主控32位MCU,该芯片具有M0+内核最高72MHz工作频率,且内置12位的ADC,支持可编程转换分辨率、提高转换速率。

2023-05-30 -  应用方案 代理服务 技术支持 采购服务

【经验】EFM32系列低功耗32位MCU芯片加密详解

本文主要介绍以Silicon Labs EFM32系列低功耗32位MCU为核心的方案打造加密系统。

2017-10-27 -  设计经验 代理服务 技术支持 采购服务

【经验】32位MCU EFM32系列在Keil中接收SWO信息的配置步骤

Silicon Labs的32位MCU EFM32系列广泛应用于物联网、智能家居、无线抄表、智能照明、可穿戴设备等领域。在研发过程中会有很多繁杂的调试过程,本文主要介绍如何将Jlink的SWO接口上输出的调试信息在Keil中显示出来。

2019-10-16 -  设计经验 代理服务 技术支持 采购服务

【应用】高能效极海32位MCU APM32E103用于工业电机控制设计,主频最高120MHz

APM32E103基于32位Arm® Cortex®-M3内核,最高120MHz工作频率。该平台开发成本低、功耗低,可提供优良的计算性能和先进的系统中断响应,兼容所有Arm工具和软件。

2023-05-18 -  应用方案 代理服务 技术支持 采购服务
展开更多

电子商城

查看更多

品牌:SILICON LABS

品类:32位MCU

价格:¥9.8488

现货: 21,867

品牌:SILICON LABS

品类:32 BIT MCU

价格:¥10.4057

现货: 17,600

品牌:SILICON LABS

品类:32位MCU

价格:¥19.1398

现货: 10,450

品牌:SILICON LABS

品类:32位MCU

价格:¥24.8076

现货: 10,000

品牌:SILICON LABS

品类:32位MCU

价格:¥19.2326

现货: 8,740

品牌:SILICON LABS

品类:32 BIT MCU

价格:¥11.9853

现货: 7,500

品牌:SILICON LABS

品类:32位MCU

价格:¥12.9143

现货: 6,950

品牌:SILICON LABS

品类:32 BIT MCU

价格:¥13.3792

现货: 6,169

品牌:SILICON LABS

品类:32位MCU

价格:¥37.5362

现货: 6,000

品牌:SILICON LABS

品类:32位MCU

价格:¥21.0907

现货: 5,950

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:MindMotion

品类:32位MCU

价格:¥5.9400

现货:19,996

品牌:兆易创新

品类:MCU

价格:¥7.0000

现货:16,740

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥51.1158

现货:15,887

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥61.8336

现货:10,400

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥69.9064

现货:7,680

品牌:MindMotion

品类:32位MCU

价格:¥2.3800

现货:6,427

品牌:RENESAS

品类:32BIT MCU

价格:¥135.5187

现货:4,320

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥80.8990

现货:2,880

品牌:TI

品类:MCU

价格:¥124.3000

现货:2,872

品牌:RENESAS

品类:32-bit MCU

价格:¥28.8247

现货:2,279

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

TFT LCD液晶显示屏/模组定制

可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。

最小起订量: 1000 提交需求>

IC烧录代工及IC自动化烧录

拥有IC烧录机20余款,100余台设备,可以烧录各种封装的IC;可烧录MCU、FLASH、EMMC、NAND FLASH、EPROM等各类型芯片,支持WIFI/BT模组PCBA烧录、测试。

最小起订量: 1 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面